用纯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. Linux 查找文件

    find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一:locate命令 l ...

  2. Centos安装jdk

    运行Java应用的时候,提示无法找到JAVA_HOME,查询java -version [jifeng@localhost bin]$ java -version java version " ...

  3. UNDO内存结构剖析

    UNDO内存结构剖析 一.场景 Oracle的 C事物从早上9:00开始读取A表全部10w行数据,这个而读取需要经历5分钟.在9:01的时候,B事物将A表删除100条记录,那么,当9:05的时候,事物 ...

  4. Java中的自增问题(i=i++)

    也许我这是在较真, 但是我们确实有时候就不小心就错写为这种情况了. 看如下代码: public class Test{ public static void main(String[] args){ ...

  5. sqlserver存取过程游标

    ALTER proc [dbo].[common_proc_temp2] as begin declare @id varchar(50); declare @cbcontractid varchar ...

  6. centos配置epel

    1.下载epel wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm 2.安装epel rpm -iv ...

  7. ICMP Protocol

    [ICMP Protocol] 参考: 1.ICMP Types and Codes:http://www.nthelp.com/icmp.html 2.RFC 792 - Internet Cont ...

  8. mac升级后提示pod: command not found

    问题:升级mac到10.12使用pod,提示pod: command not found   解决方法:sudo gem install -n /usr/local/bin cocoapods   如 ...

  9. form表单reset表格并执行搜索

    其中reset() 不需要定义 search():是你执行的搜索的函数 <html> <head> <title>sf</title></head ...

  10. 初学c# -- 学习笔记(八)

    RichTextBox我服了,背景透明.宽度高度自适应.图片背景透明.gif动画等等都tm实现困难无比,搞来搞去,就最后一题做不出来了: RichTextBox不管什么背景,透明背景也好,图片背景也罢 ...