用纯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用户登录系统的更多相关文章

  1. Springboot - 建立简单的用户登录系统

    在开始编码前,先建立几个Package(可以按个人习惯命名),如图 1.Controllers 用于存放控制器类 2.Models 用于存放数据实体类 3.Repositories 用于存放数据库操作 ...

  2. 利用shell脚本做一个用户登录系统

    效果图如下: #!/bin/bash# while truedocat << EOF//======================\\\\| 用户登录系统 |-------------- ...

  3. Servlet+jsp用户登录加上验证码

    最近公司有个项目被客户拿去进行漏洞扫描,发现用户登录太简单,容易被暴力破解.当然发现的问题很多,什么反射型XSS,存储型XSS,敏感信息泄露等等.但是我们今天不讲这么多,就说说如何修复暴力破解的问题. ...

  4. 纯JSP简单登录实例

    记一下,免得以后忘记了,又要去查. 文件共有四个web.xml.login.jsp.logout.jsp.welcome.jsp四个文件 测试环境:Tomcat 6.0.x 假设项目名称是LoginS ...

  5. 【python】实例-用户登录系统

    有N,E,Q三个选择,若选择Q或者中断,则系统退出.若其他选项,则持续让用户选择. #!/usr/bin/env python db = {} def newuser(): prompt = 'log ...

  6. nologin - 阻止非root用户登录系统

    描述 DESCRIPTION 如果存在文件 /etc/nologin, login(1) 将只允许root访问.其它用户的登录会遭到拒绝并且显示该文件中的内容给他们. 文件 FILES /etc/no ...

  7. 新建一个项目,如何使用abp用户登录系统

    1.首先参考Framework.Web里的packages.config,把相关的包都安装好. 2.App_Start文件夹下的xxxModule.cs和Startup.cs拷过来,修改下命名空间. ...

  8. JSP用户登录页面

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  9. java/jsp: 登录系统

    db类   package db; import java.sql.*; import javax.naming.InitialContext; import javax.sql.DataSource ...

随机推荐

  1. 《SSM框架搭建》二.mybatis3,spring4整合

    感谢学习文章来自http://www.cnblogs.com/xdp-gacl/p/4271627.html,spring3修改为spring4.还有提示驱动过期的问题,是由于使用了mysql-con ...

  2. 使用openssl实现ECDSA签名以及验证功能(附完整测试源码)

    突然找到数年前写的这段代码,当是因为对密码学几乎不怎么了解踩了一些坑,现在开源出来方便大家直接利用. ECDSA的全名是Elliptic Curve DSA,也就是椭圆曲线DSA,由于椭圆曲线的复杂性 ...

  3. ASP.NET泛型List的各种用法Skip、Take等

    List在.NET里面使用得非常频繁,但有好多人不了解它各种小用法.我就一直记不大住... asp.net中List的简单用法,例如: 1 2 3 4 5 6 7 List<int> li ...

  4. solrCloud的两种部署方式

    solrcloud 的部署其实有两种方式可选,那么我们在实践开发中应该怎样选择呢? 第一种:当启动solr服务器时,内嵌的启动一个Zookeeper服务器,然后将这些内嵌的Zookeeper服务器组成 ...

  5. vc++ 判断文件或是文件夹是否存在,比较好的做法

    #include <windows.h> void main() { //文件或文件夹都可以判断,最后的\\号有无都没关系 !=GetFileAttributes("D:\\My ...

  6. linq andregex

  7. WPF功能点

    if ("TextBoxBase".Contains(Keyboard.FocusedElement.GetType().BaseType.Name)) { return; } 1 ...

  8. cookie小记

    清除cookie可用下面2种的方法.注意如果要清除的cookie的域是指定的,则这里也应该指定,否则无效                1:                Response.Cooki ...

  9. python第二十天-----Django补充

    学习python已经20天了啊,从一个不萌萌哒的战5渣升级到了一个萌萌哒的战5渣 1.分页(这是一个很通用的模块,不论在任何框架里都可以使用哦) class Page(object): def __i ...

  10. (引用)Python 元素、元组、列表、字典的区别

    转载:http://www.th7.cn/Program/Python/201407/231060.shtml 元素: 元组:tuple=('nice','to','meet','you') 列表:l ...