1.1 创建数据库表

表名:user

字段:

  userid   保存用户的登录id

  name     用户名

  password 密码

1.2 实现思路

  a. 用户登录,则需要有个一个表单页,此页面可输入用户的登录id和密码;

  b.提交到一个验证的jsp页面进行数据库的操作验证,如果可查询到用户信息,则为合法用户,则跳转至登录成功页;

  c.如果未查询到,则用户不是合法用户,则跳转错误页进行提示;

1.3实现

login.jsp  : 提供用户的登录表单,可输入登录id及密码;

 
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>登录页面</title></head>
<body>
<center>
<h1>登陆</h1>
<hr>
<form action="login_check.jsp" method="post">
<table>
<tr>
<td colspan="2">
用户登陆
</td>
</tr>
<tr>
<td>登陆ID:</td>
<td><input type="text" name="id"></td>
</tr>
<tr>
<td>登陆密码:</td>
<td><input type="password" name="password"></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登陆">
<input type="reset" value="重置">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>

login_check.jsp : 登录检查页,根部表单提交过来的信息进行验证,成功登录成功页,否则跳转到错误提示页面;

<%@page contentType="text/html" pageEncoding="GBK"%>
<%@page import="java.sql.*"%>
<html>
<head><title>验证页面</title></head>
<body>
<center>
<h1>登陆操作</h1>
<hr>
<% // 定义若干个数据库的连接常量
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver" ;
public static final String DBURL = "jdbc:mysql://localhost:3306/procs" ;
public static final String DBUSER = "root" ;
public static final String DBPASS = "root" ;
%>
<%
Connection conn = null ; // 数据库连接
PreparedStatement pstmt = null ; // 数据库预处理操作
ResultSet rs = null ; // 查询要处理结果集
boolean flag = false ; // 保存标记
String name = null ; // 保存真实姓名
%>
<%
try{
%>
<%
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASS) ;
String sql = "SELECT name FROM user WHERE id=? AND password=?" ;
pstmt = conn.prepareStatement(sql) ;
pstmt.setString(1,request.getParameter("id")) ;
pstmt.setString(2,request.getParameter("password")) ;
rs = pstmt.executeQuery() ; // 查询
if(rs.next()){ // 如果有数据,则可以执行
flag = true ; // 表示登陆成功
name = rs.getString(1) ;
}
%>
<%
}catch(Exception e) {
e.printStackTrace() ;
}
finally{
try{
rs.close() ;
pstmt.close() ;
conn.close() ;
} catch(Exception e){}
}
%>
<%
if(flag){ // 登陆成功
%>    
<jsp:forward page="login_success.jsp">//登录成功页面
<jsp:param name="uname" value="<%=name%>"/>//获取参数值
</jsp:forward>
<%
} else { // 登陆失败
%>
<jsp:forward page="login_failure.jsp"/>
<%
}
%>
</center>
</body>
</html

login_success.jsp 登录成功页,显示欢迎信息;

<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>验证成功</title></head>
<body>
<center>
<h1>登陆操作</h1>
<h2>登陆成功</h2>
<h2>欢迎<font color="red"><%=request.getParameter("uname")%></font>光临!</h2>
</center>
</body>
</html>
 

login_failure.jsp : 登录失败页,提示用户输入错误,并提供重新登录的超链接;

 
<%@page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>登录失败页面</title></head>
<body>
<center>
<h1>登陆操作</h1>
<h2>登陆失败,请重新<a href="login.jsp">登陆</a>!</h2>
</center>
</body>
</html>

jsp+jdbc实现用户登录的更多相关文章

  1. Jsp机试题 (用户登录用户注册/用户注销功能)

    1. 用户登录 实现用户登录,功能,三个页面登录页面login.jsp,登录逻辑处理页面loginSubmit.jsp,欢迎页面welcome.jsp.用户再登录页面输入用户名和密码,前台页面使用js ...

  2. 使用Servlet和jdbc创建用户登录验证

    首先创建一个用户表,用来保存用户名 密码,并插入几条数据 mysql> desc user;+----------+-------------+------+-----+---------+-- ...

  3. 编写一个JSP程序实现用户登录

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

  4. JDBC模拟用户登录

    代码: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import ...

  5. 实现jsp页面显示用户登录信息,利用session保存。

    这是后台代码 这是jsp代码,上面是声明,下面是获得值.

  6. 纯jsp用户登录系统

    用纯jsp技术实现用户登录系统,需要用到三个.jsp文件.在文本目录下新建三个.jsp文件,分别命名为login.jsp,logincl.jsp和wel.jsp. 1.login.jsp文件用来放界面 ...

  7. JSP小例子——以Model1的思想实现用户登录小例子(不涉及DB操作)

    Model1简介现在比较流行的就是Model1和Model2,这里介绍Model1.在Model1模型出现前,整个Web应用的情况是:几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理 ...

  8. Javaweb 使用Servlet技术改写用户登录 使用Filter技术解决中文乱码

    先把实验3的jsp页面复制过来: WebContent->WEB-INF->lib下面的jar包8.0版本也要记得复制: Java Resources->src下的 cn.edu.h ...

  9. java struts2入门学习实例--用户注册和用户登录整合

    需求: 1.用户注册(user_register.jsp)-->注册成功(UserRegister.action)-->显示注册信息(register_success.jsp)2.用户登录 ...

随机推荐

  1. MooFest 树状数组 + 前缀和

    比较友好的数据结构题 建议读者好好思考思考--. 可以分析出与前缀和的关系, 之后就愉快的套起树状数组辣 #include <cstdio> #include<queue> # ...

  2. [luogu2272 ZJOI2007] 最大半连通子图 (tarjan缩点 拓扑排序 dp)

    传送门 题目描述 一个有向图G=(V,E)称为半连通的(Semi-Connected),如果满足:?u,v∈V,满足u→v或v→u,即对于图中任意两点u,v,存在一条u到v的有向路径或者从v到u的有向 ...

  3. anaconda jupyter

    本文主要讲解在Ubuntu系统中,如何在Anaconda下安装TensorFlow以及配置Jupyter Notebook远程访问的过程. 在官方文档中提到,TensorFlow的安装主要有以下五种形 ...

  4. ArcGIS中标格乱码??

    安装好ArcGIS之后导入地图层之后,显示 label 时中文乱码,但是导出数据显示正常 这是 ArcGIS 安装环境编码的问题,只需要修改一下配置文件即可 打开 cmd 命令窗口 reg add H ...

  5. 2015 Multi-University Training Contest 9 hdu 5396 Expression

    Expression Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total ...

  6. HelloWorld编译正常运行报noclassdeffounderror

    修改环境变量classpath: 原理: classpath是搜索java类库的路径:当你输入命令“java HelloWorld“时,会根据classpath寻找HelloWorld.class:一 ...

  7. C#中的IEnumerable<T>知识点

    1.扩展IEnumerable<T>的方法 使继承了IEnumeralbe<T>的接口有了MyS方法 static class MySum {                  ...

  8. BA-闭式冷却塔系统

  9. HBase使用flush命令之后存储的位置

    HBase使用flush命令之后存储的位置 根据系统安装位置的不一样而不一样,当前是在: hadoop fs -ls /apps/hbase/data/data/default/t1 下面: 使用ha ...

  10. Android Drawable 那些不为人知的高效使用方法

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/43752383,本文出自:[张鸿洋的博客] 1.概述 Drawable在我们平时的 ...