这篇文章主要介绍是动态实现网网页登陆和注册功能的示例代码,文中代码讲解详细,对我们学习JSP有一定的帮助,感兴趣的小伙伴可以跟随小编一起学习一下
目录
前言数据库JSP网页连接数据库配置关系型数据库文件创建jsp文件,连接数据库,并读取出数据显示在jsp网页中注册和登录的JSP页面新建login.jsp文件新建check.jsp创建register.jsp文件新建Cregister.jsp文件创建DBBean.java文件
前言
涉及到相关内容如下:
数据库安装
JSP网页连接数据库
注册和登录的JSP页面
数据库
安装教程
软件安装
(可视化数据库界面软件安装)拿走不谢
链接提取码:qwer
JSP网页连接数据库
配置mysql文件
首先要将MySQL-连接器-Java-5。0 .8-bin。冲突拷到阿帕奇-雄猫-10。0 .12-windows-x64 \ Apache-Tomcat-10。0 .12 \ lib文件目录下
创建jsp文件,连接数据库,并读取出数据显示在jsp网页中
% @ page language=' Java ' content type=' text/html;charset=UTF-8 '
页面编码='UTF-8'%
%@个页面导入=' Java . SQL . * ' ' %
!文档类型超文本标记语言
超文本标记语言
头
meta charset='UTF-8 '
标题在此插入标题/标题
/头
身体
%
尝试{
班级。forname(' com。MySQL。JDBC。司机’);驱动程序名
//com.mysql.jdbc.cj.Driver也是好的
字符串URL=//数据库名?后面的是为了指定字符的编码、解码格式。
字符串用户名=' root//数据库用户名
字符串密码=' 123456 ';//数据库用户密码
连接conn=驱动管理器。getconnection(URL,用户名,密码);//连接状态
如果(conn!=null){
out.println('数据库连接成功!');
出去。print(' br/');
语句stmt=null
结果集rs=空
字符串sql='SELECT *FROM用户名;';//查询语句
stmt=conn . create语句();
RS=stmt。执行查询(SQL);
out.print('查询结果:');
出去。print(' br/');
out.println('名字' ' ' '年龄' ' ' '身份' '性别' '用户账号' '用户密码' '练习电话' '用户注册时间');
出去。print(' br/');
while (true) {
尝试{
如果(!RS。next())break;
out.println(rs.getString('名字)' nbsp ' rs.getString('年龄)' nbsp ' rs.getString('身份)rs.getString('性别)' nbsp ' rs.getString('用户账号)' nbsp ' rs.getString('用户密码)' nbsp '
rs.getString('联系电话)' nbsp ' rs.getString('用户注册时间)‘nbsp’);//将查询结果输出
出去。print(' br/');
} catch(SQLException throwables){
一次性物品。printstacktrace();
}
//out.println(rs.getString('名字)' nbsp ' rs.getString('年龄)' nbsp ' rs.getString('身份)rs.getString('性别)' nbsp ' rs.getString('用户账号)' nbsp ' rs.getString('用户密码)' nbsp '
//rs.getString('联系电话)' nbsp ' rs.getString('用户注册时间)‘nbsp’);//将查询结果输出
//出局。print(' br/');
}
}
否则{
out.print('连接失败!');
}
}
catch(ClassNotFoundException e){
e。printstacktrace();
}
//catch (SQLException e)
//{
//e . printstacktrace();
//}
%
/body
/html
连接成功,页面显示如下
注册和登录的JSP页面
新建login.jsp文件
!文档类型
%@页内容类型=' text/html;'charset=UTF-8 '语言='java' %
超文本标记语言
头
meta charset='utf-8'/
标题登录/标题
链接版本='样式表type='text/css' href='./项目/新登录。CSS ' rel='外部无跟随'/
链接版本='样式表type='text/css' href='./Project/font-牛逼。CSS ' rel='外部无跟随'/
/头
身体
form id=' indexForm ' name=' indexForm ' action=' check。“JSP”方法=“post”
div id='login_box '
H2 style=' color:# a0e bad;'登录/h2
div id='form '
差异
我账号/i
输入类型='text' placeholder='账号name='用户名'
/div
差异
我密码/i
输入类型='密码'占位符='密码name='password '
/div
/div
按钮类型='提交'值='登录'登录/按钮
div id='登录'
a href='寄存器。JSP ' rel='外部无跟随' style=' color:white;'注册/a
/div
/div
/表单
/body
/html
新建check.jsp
% @个页面导入=' Java。SQL。* " language=' Java ' content type=' text/html;charset=utf-8 '页面编码=' utf-8 ' %
!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www。w3。org/TR/HTML 4/loose。' DTD '
超文本标记语言
头
meta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8 '
标题在此插入标题/标题
/头
身体
jsp:useBean id='db' class='MySql .DBUtil' scope='page'/
%
请求。setcharacterencoding(“UTF-8”);
字符串用户名=(字符串)请求。getparameter(“用户名”);//获取注册页面输入的用户名和密码
String password=(String)请求。getparameter(“password”);
字符串sql='select * from用户名在哪里用户账号=' ' ' '用户名' ';//定义一个查询语句
结果集RS=db。执行查询(SQL);//执行查询语句
尝试{
if(rs.next())
{
//将输入的密码与数据库密码相比对,执行相应操作
如果(密码。等于(卢比。getobject('用户密码'))){
//上节课的习题中的第二种跳转方式
response.sendRedirect('./项目/索引。html’);
}
否则{
//js中的警报可以弹出窗口
out.print('脚本语言='javaScript' alert('密码错误');/script’);
response.setHeader('refresh ',' 0;URL=登录。JSP’);
}
}
其他
{
out.print('脚本语言='javaScript' alert('用户名错误,请重新输入');/script’);
/**
* 一秒刷新页面一次response.setHeader('刷新',' 1 ');这个是没有参数的情况下自动刷新
* 二秒跳到其他页面response.setHeader('refresh ',' 2;URL=o’);
*/
response.setHeader('refresh ',' 0;URL=登录。JSP’);
}
} catch(SQLException throwables){
一次性物品。printstacktrace();
}
%
/body
/html
创建register.jsp文件
!文档类型超文本标记语言
%@页内容类型=' text/html;'charset=UTF-8 '语言='java' %
html lang='en '
头
meta charset='UTF-8 '
meta http-equiv=' X-UA-Compatible ' content=' IE=edge '
meta name=' viewport ' content=' width=device-width,initial-scale=1.0 '
标题注册界面/标题
脚本src='./Project/register.js '异步/脚本
链接版本='样式表type='text/css' href='./项目/注册。CSS ' rel='外部无跟随'
/头
身体
div class='容器右侧-面板-活动'
!报名吧
div class='容器_ _表单容器-注册'
表单动作=' c寄存器。JSP ' class=' form ' id=' form 1 ' method=' post '
h2 class='form__title '注册/h2
输入类型='text' placeholder='名字class='input' name='name'/
输入类型='text' placeholder='用户名class='input' name='username'/
输入类型='密码'占位符='密码class='input' name='password'/
输入类型='text' placeholder='联系电话class='input' name='phone'/
% -输入类型=' text ' placeholder=' ' class=' input '/-%
button class='btn '
点击注册
/按钮
/表单
/div
!-登录-
!- div class='container__form容器-登录'
表单操作='# '类='表单id='表单2 '
h2 class='form__title '登录/h2
输入类型='电子邮件'占位符='邮箱class='input' /
输入类型='密码'占位符='密码class='input' /
a href='#' rel='外部nofollow' class='link '忘记密码/a
button class='btn '登录/按钮
/表单
/div -
!-覆盖-
div class='容器_ _覆盖'
div class='覆盖'
!-div class=' overlay _ _ panel overlay-left '
按钮class='btn' id='登录'登录/按钮
/div -
!-div class=' overlay _ _面板覆盖-右'
a href=' index。html ' rel='外部禁止关注'按钮class=' BTN ' id='注册'注册/button/a -
!- /div -
/div
/div
/div
/body
/html
新建Cregister.jsp文件
% @个页面导入=' Java。SQL。* " language=' Java ' content type=' text/html;charset=utf-8 '页面编码=' utf-8 ' %
!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN ' ' http://www。w3。org/TR/HTML 4/loose。' DTD '
超文本标记语言
头
meta http-equiv=' Content-Type ' Content=' text/html;charset=utf-8 '
meta http-equiv=' refresh ' content=' 0;url=login.jsp'/% -实现0秒跳转到登录界面- %
标题在此插入标题/标题
/头
身体
% -
一、
jsp:useBean的基本用法
jsp:useBean是一个JSP动作指令,表示装载一个将在JSP页面中使用的JavaBean
jsp:useBean的最基本语法如下:
其中身份证明(识别)表示定义的JavaBean的唯一标识,类表示定义的JavaBean的类。
- %
jsp:useBean id='db' class='MySql .DBUtil' scope='page'/
%
请求。setcharacterencoding(“UTF-8”);
String name=(String)请求。getparameter(' name ');
字符串用户名=(字符串)请求。getparameter(“用户名”);//获取注册页面输入的用户名和密码
String password=(String)请求。getparameter(“password”);
String phone=(String)请求。getparameter(“phone”);
字符串sql='插入到用户名(名字,用户账号,用户密码,联系电话)值''(''姓名'',' ''用户名' ',' ''密码' ','''电话' ')';//定义一个插入语句
db。execquery(SQL);//执行插入语句
//尝试{
//if(rs.next())
//{
////将输入的密码与数据库密码相比对,执行相应操作
//if(密码。等于(卢比。getobject('用户密码'))){
//response.sendRedirect('./项目/索引。html’);
//}
//否则{
//出局。打印('脚本语言=' javaScript '警报('密码错误');/script’);
//response.setHeader('refresh ',' 0;URL=登录。JSP’);
//}
//}
//否则
//{
//出局。打印('脚本语言=' javaScript '警报('用户名错误,请重新输入');/script’);
//response.setHeader('refresh ',' 0;URL=登录。JSP’);
//}
//} catch(SQLException throwables){
//throwables。printstacktrace();
//}
%
身体
%-img id=' aa ' src=' s:URL value='/当当网/产品图片/1。jpg '/'/-%
% - 还有span id='ss'/span跳转- %
% -脚本类型='文本/javascript' - %
% - //先声明一个时间变量- %
%-var count=3;- %
% - //声明时间递减的方法- %
% - var time=function(){ - %
%-count=count-1;- %
% - if(count==0){ - %
%-窗口。位置。href=' s:URL value='登录。JSP '/' rel='外部无跟随';- %
%-}否则{ - %
% - //将时间显示到页面上- %
% - $('#ss ').文本(计数);- %
% - //设置一个定时器,每隔一秒自动递归调用自己一次- %
% - setTimeout(时间,1000);- %
% - } - %
% - };- %
%-time();- %
%-/脚本- %
/body
/html
创建DBBean.java文件
打包关系型数据库
导入Java。SQL。*;
公共类DBUtil {
/**
* 一、
* mysql5及之前的版本使用的是旧版驱动' com.mysql.jdbc.Driver '
* mysql6以及之后的版本需要更新到新版驱动,对应的驾驶员是' com.mysql.cj.jdbc.Driver '
* 二、
* com.mysql.cj.jdbc.Driver
* 这个类是数据库厂商实现的JDBC一套接口里的一个类,称之为"驱动类",它的继承树如下所示:
* ———— com。MySQL。JDBC。驾驶员扩展com.mysql.cj.jdbc.Driver
* ———— com。MySQL。CJ。JDBC。驾驶员扩展了非注册驱动程序
* ————公共类非注册驱动程序实现java.sql.Driver
* 三、
* java.sql是太阳官方提供的包,java.sql.Driver是太阳提供的一组用于连接数据库的接口之一,由数据库厂商自行实现
* 由上可知,com.mysql.cj.jdbc.Driver这个驱动类,是对java.sql.Driver接口的实现
*/
私有字符串驱动程序str=' com。MySQL。CJ。JDBC。'驱动程序';//上面第一点解释了为什么要加希杰集团
私有字符串connStr=' JDBC:MySQL://localhost:3306/用户表;//这个相当于是本地数据库的网址(地址)
私有字符串dbusername=' root//数据库的账号
私有字符串dbpassword=' 123456//数据库的密码,需要大家自行修改,在控制台上用结构化查询语言语句可以修改
专用连接连接=空;
/*
-声明:
由创建语句创建,用于发送简单的结构化查询语言语句(不带参数)
语句createStatement()引发SQLException
*/
私人的语句stmt=null
公共DBUtil()
{
尝试
{
/*
载入这个类com.mysql.cj.jdbc.Driver进虚拟机(Java虚拟机的缩写)之后,在后续的程序中,就可以使用它。
*/
班级。对于名称(驱动字符串);//载入这个类
/*
两种不同的数据库软件的连接方式:
-Mysql
驱动程序管理器。get connection(' JDBC:MySQL://主机:端口/数据库','用户','密码');
-甲骨文
驱动程序管理器。get connection(' JDBC:甲骨文:瘦@主机:端口/数据库','用户','密码');
*/
驱动程序管理器。getconnection(connStr,dbusername,db password);
/*
常用的声明方法
- execute():运行语句,返回是否有结果集。
- executeQuery():运行挑选语句,返回结果集结果节
- executeUpdate():运行插入/更新/删除操作,返回更新的行数。
解释了下面的方法的作用
*/
stmt=conn . create语句();
}
接住(例外){
//捕获异常,上个学期学过
系统。出去。println(例如getmessage());
System.out.println('数据连接失败!');
}
}
public int执行更新(字符串){
//executeUpdate():运行插入/更新/删除操作,返回更新的行数。
int result=0;
System.out.println(' -更新语句:' s ' \ n ');
尝试{
结果=stmt。执行更新;
} catch (Exception ex) {
System.out.println('执行更新错误!');
}
返回结果;
}
公共结果集执行查询(字符串){
//运行挑选语句,返回结果集结果节
结果集rs=空
System.out.print(' -查询语句:' s ' \ n ');
尝试{
RS=stmt。执行查询;
} catch (Exception ex) {
System.out.println('执行查询错误!');
}
返回RS;
}
public void execQuery(字符串){
尝试{
stmt.executeUpdate更新更新;
} catch (SQLException e) {
System.out.println('执行插入错误!');
}
}
公共无效关闭(){
尝试{
stmt。close();
conn . close();
} catch(异常e) {
}
}
}
上面仅展示部分代码哦,jsp文件中的半铸钢钢性铸铁(铸造半钢)样式文件封装在本地!
最终结果展示如下
以上就是JSP动态实现网网页登陆和注册功能的详细内容,更多关于JSP网页登陆注册的资料请关注我们其它相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。