jsp动态实现web网页登陆和注册功能区别,jsp实现注册和登录功能,JSP动态实现web网页登陆和注册功能

jsp动态实现web网页登陆和注册功能区别,jsp实现注册和登录功能,JSP动态实现web网页登陆和注册功能

这篇文章主要介绍是动态实现网网页登陆和注册功能的示例代码,文中代码讲解详细,对我们学习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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: