纯jsp用户登录系统
用纯jsp技术实现用户登录系统,需要用到三个.jsp文件。在文本目录下新建三个.jsp文件,分别命名为login.jsp,logincl.jsp和wel.jsp。
1.login.jsp文件用来放界面框架,在<body></body>中添加实现代码,下面是完整的实现代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'login1.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body bgcolor=" pink" >
<center>
用户登录<br>
<hr>
<form action="loginCl.jsp" method="post">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" required></td>
</tr>
<tr>
<td>密码 :</td>
<td><input type ="password" name="passwd" required style="width: 157px;"></td>
</tr>
</table>
<input type="submit" value="登录"><input type="reset" value="重置">
</form>
</center>
</body>
</html>

2.界面框架搭建好之后,当有用户名和密码的输入时,就进入logincl.jsp进行用户名和密码的验证,也就是需要进行数据库的连接,使用的是my sql。所有代码如下:
<%@ page language="java" import="java.util.* ,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'loginCl.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
//接收用户名和密码,完成对用户的验证
String u=request.getParameter("username");
String p=request.getParameter("passwd");
//验证 ,先不到数据库去验证,简单验证(这三步验证法在以后会经常用到)
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.得到链接
Connection ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/yangyang","root","");
//3.创建Statement
Statement sm=ct.createStatement();
//4.查询
ResultSet rs=sm.executeQuery("select passwd from users where username= '"+u+"'");
//根据结果进行判断,用来确认有没有数据。
if(rs.next()){
//说明用户存在
if(rs.getString(1).equals(p)){
//一定合法
response.sendRedirect("wel.jsp?user="+u);
}else{
//密码错误
response.sendRedirect("login1.jsp?errNo=1");
}
}else{
//说明用户名错了
response.sendRedirect("login1.jsp?errNo=2");
}
%>
</body>
</html>
3.进行用户名和密码的验证后,若用户名和密码合格,则进入网页浏览界面,即跳转到wel.jsp界面,代码如下:
<%@ page language="java" import="java.util.*,java.sql.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'wel.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
登录成功!恭喜!<%=request.getParameter("user")%><br>
<a href="login1.jsp">返回重新登录</a>
<hr>
<h1>用户信息列表</h1>
<% //定义四个分页会用到的变量
int pageSize=3;//
int pageNow=1;//默认显示第一页
int rowCount=0;//该值从数据库查询
int pageCount=0;//该值是通过pageCount和pageSize
//接收用户希望显示的页数(pageNow)
String s_pageNow=request.getParameter("pageNow");
if(s_pageNow!=null){
//接收到pageNow
pageNow=Integer.parseInt(s_pageNow);
}
//查询得到rowCount;
//1.加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2.得到链接
Connection ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/yangyang","root","");
//3.创建Statement
Statement sm =ct.createStatement();
//4.查询
ResultSet rs=sm.executeQuery("select count(*) from users");
//注意,一定要rs.next()
if (rs.next()){
rowCount=rs.getInt(1);
}
//计算pageCount
if(rowCount%pageSize==0){
pageCount=rowCount/pageSize;
}else{
pageCount=rowCount/pageSize+1;
}
//查询出需要显示的记录
int a = pageSize*(pageNow-1);
out.println(a);
out.print(pageSize);
rs=sm.executeQuery("select * from users limit "+a+","+pageSize);
//显示
%>
<table border="1">
<tr><td>用户id</td><td>用户名</td><td>密码</td><td>电邮</td><td>级别</td></tr>
<%
while(rs.next()){
%>
<tr><td><%=rs.getInt(1)%> </td><td><%=rs.getString(2) %>></td><td><%=rs.getString(3) %></td></tr>
<%
}
%>
</table>
<%
//上一页
out.println("<a href=wel.jsp?pageNow="+(pageNow- 1)+">上一页</a>");
// 显示超链接
for(int i=0;i<pageCount;i++){
out.println("<a href=wel.jsp?pageNow="+i+">["+i+"]</a>");
}
//下一页
out.println("<a href=wel.jsp?pageNow="+(pageNow+1)+"下一页</a>");
%></body>
</html>
4.在my eclipse中运行项目文件,进入localhost:8080/yangyang/login.jsp,输入用户名密码后跳转到表界面,显示如下:

纯jsp用户登录系统的更多相关文章
- Springboot - 建立简单的用户登录系统
在开始编码前,先建立几个Package(可以按个人习惯命名),如图 1.Controllers 用于存放控制器类 2.Models 用于存放数据实体类 3.Repositories 用于存放数据库操作 ...
- 利用shell脚本做一个用户登录系统
效果图如下: #!/bin/bash# while truedocat << EOF//======================\\\\| 用户登录系统 |-------------- ...
- Servlet+jsp用户登录加上验证码
最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...
- 纯JSP简单登录实例
记一下,免得以后忘记了,又要去查. 文件共有四个web.xml.login.jsp.logout.jsp.welcome.jsp四个文件 测试环境:Tomcat 6.0.x 假设项目名称是LoginS ...
- 【python】实例-用户登录系统
有N,E,Q三个选择,若选择Q或者中断,则系统退出.若其他选项,则持续让用户选择. #!/usr/bin/env python db = {} def newuser(): prompt = 'log ...
- nologin - 阻止非root用户登录系统
描述 DESCRIPTION 如果存在文件 /etc/nologin, login(1) 将只允许root访问.其它用户的登录会遭到拒绝并且显示该文件中的内容给他们. 文件 FILES /etc/no ...
- 新建一个项目,如何使用abp用户登录系统
1.首先参考Framework.Web里的packages.config,把相关的包都安装好. 2.App_Start文件夹下的xxxModule.cs和Startup.cs拷过来,修改下命名空间. ...
- JSP用户登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- java/jsp: 登录系统
db类 package db; import java.sql.*; import javax.naming.InitialContext; import javax.sql.DataSource ...
随机推荐
- windows下的php rabbit mq安装、配置
http://www.cnblogs.com/shanyou/p/4067250.html 这篇博文写的rabbit mq和erlang的安装以及rabbitmq可视化插件的一些操作 接下去开始安装P ...
- AIX 环境下减小系统page space空间
IBM AIX v5.3操作系统环境下减小系统page space空间详细步骤如下 1,创建一个临时的page space空间#mkps -a -n -s 20 rootvg 这里-a参数指定页面空间 ...
- Replace Pioneer 注册
批量文本替换工具,Replace Pioneer 注册:http://www.mind-pioneer.com
- ubuntu文本模式/终端中文乱码解决
ubuntu文本模式/终端中文乱码解决 1.Alt+Ctrl+F1 进入第一个终端tty1,发现中文乱码. 2.安装zhcon. sudo apt-get install zhcon3 输入下面命令, ...
- SQL Server 常用函数介绍
--聚合函数 count( * | 字段名) --统计数据表中的数据总数sum( 表达式 | 字段名) --计算表达式或字段名中数据的和,表达式或字段名的数据类型要求是数值型avg( 表达式 | 字段 ...
- SQL初级语法 [查询: SELECT]
SQL查询: SELECT 普通查询: SELECT "栏位名" FROM "表格名" DISTINCT 查询:(去掉重复) SELECT DISTINCT & ...
- C++ 里大写TRUE和小写true区别
1.C++里大写TRUE和小写true区别 true是bool型的: TRUE是int型的,VC里这个是ms自己定义的: C++规定不允许只通过返回类型不同区别两个函数 2.MFC中的”false“和 ...
- machine leanring 笔记 vectorization
the summation of the product of two terms can be expressed as the product of two vectors ps. surf ...
- xshell xftp
xshell : http://www.netsarang.com/xshell_download.html xftp:http://www.netsarang.com/products/xfp_ov ...
- 生成SSH key
1.打开终端 2.输入cd ~/.ssh 3.输入ssh-keygen -t rsa -C (邮箱) 4.前往文件夹 /Users/admin/.ssh/id_rsa 5.找到id_rsa.pub , ...