纯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 ...
随机推荐
- 《SSM框架搭建》二.mybatis3,spring4整合
感谢学习文章来自http://www.cnblogs.com/xdp-gacl/p/4271627.html,spring3修改为spring4.还有提示驱动过期的问题,是由于使用了mysql-con ...
- 使用openssl实现ECDSA签名以及验证功能(附完整测试源码)
突然找到数年前写的这段代码,当是因为对密码学几乎不怎么了解踩了一些坑,现在开源出来方便大家直接利用. ECDSA的全名是Elliptic Curve DSA,也就是椭圆曲线DSA,由于椭圆曲线的复杂性 ...
- ASP.NET泛型List的各种用法Skip、Take等
List在.NET里面使用得非常频繁,但有好多人不了解它各种小用法.我就一直记不大住... asp.net中List的简单用法,例如: 1 2 3 4 5 6 7 List<int> li ...
- solrCloud的两种部署方式
solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成 ...
- vc++ 判断文件或是文件夹是否存在,比较好的做法
#include <windows.h> void main() { //文件或文件夹都可以判断,最后的\\号有无都没关系 !=GetFileAttributes("D:\\My ...
- linq andregex
- WPF功能点
if ("TextBoxBase".Contains(Keyboard.FocusedElement.GetType().BaseType.Name)) { return; } 1 ...
- cookie小记
清除cookie可用下面2种的方法.注意如果要清除的cookie的域是指定的,则这里也应该指定,否则无效 1: Response.Cooki ...
- python第二十天-----Django补充
学习python已经20天了啊,从一个不萌萌哒的战5渣升级到了一个萌萌哒的战5渣 1.分页(这是一个很通用的模块,不论在任何框架里都可以使用哦) class Page(object): def __i ...
- (引用)Python 元素、元组、列表、字典的区别
转载:http://www.th7.cn/Program/Python/201407/231060.shtml 元素: 元组:tuple=('nice','to','meet','you') 列表:l ...