在学习了页面跳转及部分知识后做了登录注册界面,并经过本博主调试bug后完善的更进一步,大家有什么问题也可以留言,本博主以更广泛学习讨论为目的。

        内容介绍:实现页面的跳转;注册登录时实现读取数据库,并对数据库实现插入(insert)和查询(select)功能。

        几点注意:sqljdbc.jar包的导入和环境变量;数据库的登录读取,可以参考数据库的测试。

登录注册界面的代码实现

index.jsp

<%@ 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 'Feilong_index.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><center><font face = "宋体" size = "6" color = "#000">欢迎使用飞龙科技</font><hr><div><img alt="" width = "600" height = "400" src="D:\我的图片\QImages\小人团队.jpg"></div><table width = "200" border ="1" bordercolor = "#00F"><tr><td><input type = "button" value = "登      陆" onclick = "window.location.href('login.jsp')"></td><td><input type = "button" value = "注      册" onclick = "window.open('register.jsp')"></td></tr> </table></center></body>
</html>

login.jsp  //登录界面

<%@ 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 'Feilong_login.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">--><body><center><font face="楷体" size="6" color="#000" >登录界面</font><%  String flag = request.getParameter("errNo");  try{if(flag!=null)out.println("用户名不存在或密码错误");}catch(Exception e){e.printStackTrace();}%><form action = "loginCh.jsp" method="post"><table width="300" height = "180" border="5" bordercolor="#A0A0A0"> <tr><th>账  户:</th><td><input type="text" name="name"  value = "请输入用户名" maxlength = "16" onfocus = "if(this.value == '请输入用户名') this.value =''"></td></tr><tr><th>密  码:</th><td><input type="password" name="pwd" maxlength = "20"></td></tr><tr><td colspan = "2" align = "center"><input type="submit" name="submit" value="登       录"><input type="button" value="返       回"οnclick="window.location.href('/webText')"></td></tr></table></form></center></body>
</html>

loginCh.jsp  //登录检验

<%@ page language="java" import="java.util.*,java.sql.*,java.net.*" 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 'Feilong_loginCh.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 user = new String(request.getParameter("name").getBytes("ISO-8859-1"),"UTF-8");  String pwd = request.getParameter("pwd");String driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String url = "jdbc:sqlserver://localhost:1433; DatabaseName = db_01";String username = "sa";String password = "123";Class.forName(driverClass);//加载驱动 Connection conn = DriverManager.getConnection(url,username,password);//得到连接PreparedStatement pStmt = conn.prepareStatement("select * from tb_user where UName = '" + user + "' and Pwd = '" + pwd + "'");ResultSet rs = pStmt.executeQuery();if(rs.next()){response.sendRedirect("success.jsp?username="+URLEncoder.encode(user)); //解决乱码 }else{response.sendRedirect("login.jsp?errNo");//密码不对返回到登陆  }rs.close();pStmt.close();conn.close();%></body>
</html>

success.jsp  //登录成功界面

<%@ 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>Feilong_登录成功</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><center><%String name = new String(request.getParameter("username").getBytes("8859_1"));out.println("欢迎你:" + name);%><br><a href="login.jsp">重新登陆</a></center></body>
</html>

register.jsp  //注册界面

<%@ 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 'Feilong_register.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">--><script>function addCheck(){var username=document.getElementById("username").value;var password=document.getElementById("password").value;var newword=document.getElementById("newword").value;if(username==""){alert("用户名不能为空!");document.getElementById("username").focus();  return false;}if(password==""){alert("密码不能为空!");document.getElementById("password").focus();return false;}if(password != newword){alert("两次输入密码不相同!");document.getElementById("newword").focus();return false;}}function validate(){var flag = addCheck();if(flag == false)return false;return true;}</script><body><center><font face="楷体" size="6" color="#000">注册界面</font><form action = "checkRegister.jsp" method = "post" onsubmit = "return validate()"><table width="300" height = "180" border="5" bordercolor="#A0A0A0"><tr><th>用户名:</th><td><input type="text" name="username" value="输入16个字符以内" maxlength = "16" onfocus = "if(this.value == '输入16个字符以内') this.value =''"></td></tr><tr><th>输入密码:</th><td><input type="text" name="password" value="输入20个字符以内" maxlength = "20" onfocus = "if(this.value == '输入20个字符以内') this.value =''"></td></tr><tr><th>确认密码:</th><td><input type="text" name="newword" value="重新输入密码" maxlength = "20" onfocus = "if(this.value == '重新输入密码') this.value =''"></td></tr><tr><td colspan = "2" align = "center"><input type="submit" value="注  册">    <input type="reset" value="重  置"></td></tr></table></form></center></body>
</html>

checkRegister.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 'Feilong_chechRegister.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 user = new String(request.getParameter("username").getBytes("ISO-8859-1"),"UTF-8");  String pwd = request.getParameter("password");String driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String url = "jdbc:sqlserver://localhost:1433; DatabaseName = db_01";String username = "sa";String password = "123";Class.forName(driverClass);//加载驱动 Connection conn = DriverManager.getConnection(url,username,password);//得到连接PreparedStatement pStmt = conn.prepareStatement("select * from tb_user where UName = '" + user + "'");ResultSet rs = pStmt.executeQuery();if(rs.next()){out.println("<script language='javascript'>alert('该用户已存在,请重新注册!');window.location.href='register.jsp';</script>");}else{PreparedStatement tmt = conn.prepareStatement("Insert into tb_user values('" + user + "','" + pwd + "')");int rst = tmt.executeUpdate();if (rst != 0){out.println("<script language='javascript'>alert('用户注册成功!');window.location.href='index.jsp';</script>");  }else{out.println("<script language='javascript'>alert('用户注册失败!');window.location.href='register.jsp';</script>");  }}%></body>
</html>

以上代码若有问题,首先执行下面数据库的测试代码:

执行下面代码前,首先在数据库中创建名为‘db_01’的数据库,在表中创建名为‘user’的表

login1.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 'Feilong_login.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 driverClass = "com.microsoft.sqlserver.jdbc.SQLServerDriver";String url = "jdbc:sqlserver://localhost:1433; DatabaseName = db_01";String username = "sa";String password = "123";Class.forName(driverClass);//这步错可能是因为.jar包导入问题Connection conn = DriverManager.getConnection(url,username,password);//这步错可能是因为数据库属性安全中的名、密码不对或SQL的IP端口不是‘1433’PreparedStatement pStmt = conn.prepareStatement("select * from tb_user");ResultSet rs = pStmt.executeQuery();while(rs.next()){out.println("用户名: " + rs.getString(1) + " 密码: " + rs.getString(2));}rs.close();pStmt.close();conn.close();%></body>
</html>

小人团队.jpg

以上代码都是经过本博主细心敲打修改并实现的。转载请注明本博客的地址。

JSP实现登录注册并链接数据库页面相关推荐

  1. jsp实现登录注册(与数据库对接)

    最近做了一些图像处理的内容,闲暇时间搞了下jsp,终于把至少两个月之前的代码的bug找出来了... 具体内容我在之前一篇博文有介绍,主要是增加了数据库的部分.其实一样处理,获得输入的用户名,密码,然后 ...

  2. 注册界面php mysql_php:用户登录注册并存入数据库的简单网页示例

    学习了一下php的一些基础知识,就迫不及待的想做一些相关的实例来巩固一下自己的学习,这样才知道这些函数语法在实际上的作用和效果,下面是一个比较简单的实例,实现了用户在注册的时候,把用户的数据存到数据库 ...

  3. 手把手教你用JSP完成登录注册插入数据库数据

    这篇博客为大家讲述如何从jsp页面中注册一个账号,并插入到数据库,如何配置服务器,数据库等其中会遇到的问题 老师布置了一份作业,要求我们写一个注册登录界面,同时需要向数据库传递数据,这个作业我研究了四 ...

  4. jsp mysql登录注册实验报告_登陆注册页面实验报告.doc

    登陆注册页面实验报告 兰州理工大学 二.数据库设计 本系统采用mysql数据库,只有一个表:数据表userinfoinfo用来存储后台会员名称,密码和基本资料. 2.1用户信息表: 下面是用户信息表表 ...

  5. 小白教程——Windows下用PHP写一个简单的登录注册页面(二)

    哈喽,看到这里希望小伙伴们都把wampserver环境安装好了,如果还没有安装或创建数据表就移步去看我上一篇文章吧.OK~接下我们将进入代码实现部分,首先我们需要一个文本编辑器,可以是电脑自带的not ...

  6. tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册

    tornado 08 数据库-ORM-SQLAlchemy-表关系和简单登录注册 引言 #在数据库,所谓表关系,只是人为认为的添加上去的表与表之间的关系,只是逻辑上认为的关系,实际上数据库里面的表之间 ...

  7. JavaWeb登录注册系统/界面(邮箱验证码,数据库连接,详细注释,可作结课作业,可用于学习,可接入其他主系统)

    目录 1.前言 2.系统实机演示 3.系统分析与设计 (1)主要软件与工具 (2)系统分析 (3)系统规划 4.系统设计与构建 (1)JavaWeb创建 (2)JavaWeb运行 (3)先期依赖准备: ...

  8. 【Web基础】用户登录注册案例

    4,用户登录注册案例 4.1 需求分析 需求说明: 完成用户登录功能,如果用户勾选"记住用户" ,则下次访问登录页面 自动 填充用户名密码 完成注册功能,并实现 验证码 功能 4. ...

  9. JavaWeb-WEB核心7 会话技术 理解什么是会话跟踪技术掌握Cookie的使用掌握Session的使用(钝化、活化)完善用户登录注册案例的功能

    会话技术 今日目标 理解什么是会话跟踪技术 掌握Cookie的使用 掌握Session的使用 完善用户登录注册案例的功能 1,会话跟踪技术的概述 对于会话跟踪这四个词,我们需要拆开来进行解释,首先要理 ...

最新文章

  1. 4G EPS 中的小区选择
  2. Python:利用python编程将上海十六区,2020年5月份房价实时地图(数据来源房天下)进行柱状图、热图可视化
  3. jupyter修改密码后无法启动服务器,搭建jupyter远程连接服务器
  4. JavaFX拖放事件
  5. JavaScript 回调函数中的 return false 问题
  6. Remainders Game (中国剩余定理)
  7. SpringMVC介绍
  8. Oracle 备份shell,oracle数据库shell备份脚本
  9. MIUI系统刷第三方Recovery+Magisk
  10. 文字转语音软件哪个好,这一款值得推荐
  11. 梦幻手游最新服务器,梦幻西游手游最新服务器合服公告 5月11日合服一览
  12. win11更新启动后黑屏有鼠标(本人亲测有效)
  13. java arr转化为list
  14. 地图与定位(一)定位服务
  15. c语言学习之转义字符
  16. linux配置网卡、修改主机名和映射文件(手把手配置)
  17. 【爬虫搜索引擎工程师,360buy京东商城(集团总部技术系统)】前程无忧官方招聘网站...
  18. python爬虫实例——中国电影票房(续)
  19. Python绘图制作混淆矩阵图--简易版(改矩阵参数就能运行)
  20. 载药脂质体并表面修饰各种分子定制-带有多肽的脂质分子

热门文章

  1. Linux下的压测工具 hey
  2. JS input[type=file]读取本地文件(读取json文件)
  3. 关于协方差,协方差矩阵的个人理解
  4. 神经网络中的偏置值什么意思
  5. Matlab-稀疏矩阵
  6. 10 计算并联电阻的阻值
  7. 使用textCNN进行文本分类的原理
  8. Google Map Key申请流程
  9. pta——出生年,查验身份证(c语言)
  10. SMIL 2.0 基础教程[转]