jsp实现账户登录、注册!
jsp连接mysql数据库进行账户登录验证和账户注册
~jsp: Login.jsp 、LoginCl.jsp、Welcome.jsp、Register.jsp、login.css
login.css:
#c1{
border-style:solid;
border-width:5px;
background-color:#ffe4c4;
text-align:center;
hight:300px;
width:500px;
padding:5px;
}
#c2{
background-image:url("taobao.PNG");
background-attachment: fixed;
}
#c3{
font-weight:700;
text-align:left;
}
#c4{
font-size:10px;
}
思路:
1.学习淘宝登录界面,构建登录界面Login.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<link rel=stylesheet type=text/css href="Login.css" >
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JSP Login</title>
</head>
<body id="c2">
<center>
<div id="c1">
<form action="LoginCl.jsp" method="post">
<h3 id="c3"><b> 密码登录</b></h3>
<h3>账号:<input type="text" name="user" size=6></h3>
<h3>密码:<input type="password" name="passwd" size=6></h3>
<hr>
<input type="submit" value="登录">
</form>
<a id="c4" href="">忘记密码</a>
<a id="c4" href="">忘记账号</a>
<a id="c4" href="Rigester.jsp"> 免费注册 </a>
</div>
</center>
</body>
</html>

2.由Login.jsp 提交表单->LoginCl.jsp 接收 ,并在LonginCl.jsp中连接数据库
LoginCl.jsp:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8" import="java.sql.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<body>
<%try{
//以下是连接数据库 ,调试过程请删除这些注释!!
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost:3306/mysql?useUnicode=true&characterEncoding=utf-8&useSSL=false";
Connection con=DriverManager.getConnection(url,"root","guoxiaotong");
System.out.println("连接成功1");
Statement cmd = con.createStatement();
String Rigname=request.getParameter("Rigname"); //注册用户名
String passwd=request.getParameter("passwd");//注册用户密码
String n1=request.getParameter("user");//登录用户名
String n2=request.getParameter("passwd");//登录密码
if(n1!=null&&n2!=null){ //已有用户登录 数据库查询
String sql="select * from username1 where uname=\""+n1+"\"";
ResultSet rs=cmd.executeQuery(sql);
System.out.println("连接成功5");
while(rs.next()){
System.out.println("连接成功6");
String a1=rs.getString(1);
String a2=rs.getString(2);
String a3=rs.getString(3);
System.out.println(a1+"-"+a2+"-"+a3);
if((rs.getString(3)).equals(n2)){
session.setAttribute("name",n1); //jsp自带session保存消息 再跳转后通过session.getAttribute("name") 获得保存消息
session.setAttribute("ID", a1);
response.sendRedirect("Welcome.jsp");
}else {
response.sendRedirect("Login.jsp");
}
}
}
if(Rigname!=null&&passwd!=null){ //注册用户登录
//判断表总记录条数
String sqlcount="select * from username1";
ResultSet m=cmd.executeQuery(sqlcount);
int sum=0;
while(m.next()){
sum++;
}
System.out.println("连接成功2,总数sum是:"+sum);
sum++; //sum表示记录条数
String sql="insert into username1 values(\'"+sum+"\',"+"\'"+Rigname+"\',"+"\'"+passwd+"\')";
System.out.println("连接成功3:"+sql);
cmd.executeUpdate(sql);
System.out.println("更新成功!");
String sqla="select * from username1 where uname=\""+Rigname+"\"";
ResultSet rs=cmd.executeQuery(sqla);
System.out.println("连接成功5");
while(rs.next()){
if((rs.getString(3)).equals(passwd)){
session.setAttribute("name",Rigname); //jsp自带session保存信息
session.setAttribute("ID", sum);
response.sendRedirect("Welcome.jsp");
}else {
response.sendRedirect("Rigester.jsp");
}
}
}
}catch(Exception e){
System.out.println("连接失败");
}
%>
</body>
</html>
3.由LoginCl.jsp跳转到Welcome.jsp,并接收session和request信息
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link >
<title>欢迎界面</title>
</head>
<body>
<center>
<h1>欢迎,<%=session.getAttribute("name") %>你好!</h1>
<br>您的ID:<%=session.getAttribute("ID") %>
</center>
</body>
</html>
用户登录成功图片:

4.在Login.jsp中点击账户注册超链接跳转到Register.jsp,填写完表单点击申请注册跳转到Login.jsp的第二个if判断语句进行数据库insert操作
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>账户注册</title>
</head>
<body><center>
<h1>填写账户信息</h1>
<hr>
<form action="LoginCl.jsp">
账户名:<input type="text" name="Rigname" size=10><br>
密码: <input type="password" name="passwd" size=10><br>
<p>
<p>
<input type="submit" value="申请注册">
</form>
</center>
</body>
</html>
用户注册图片:

jsp实现账户登录、注册!的更多相关文章
- 纯JSP实现用户登录注册,记事本
没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在 session 中找不到 currentUser ...
- Java Web项目案例之---登录注册和增删改查(jsp+servlet)
登录注册和增删改查(jsp+servlet) (一)功能介绍 1.用户输入正确的密码进行登录 2.新用户可以进行注册 3.登录后显示学生的信息表 4.可以添加学生 5.可以修改学生已有信息 6.可以删 ...
- 症状解决,原因不详的用非默认管理权限账户登录COM注册成功但找不到类型问题
http://social.msdn.microsoft.com/Forums/en-US/11f01ceb-52a4-438f-b7ef-727ce7a3e191/atl-project-in-vs ...
- javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 基于Servlet+JSP+JavaBean开发模式的用户登录注册
http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...
- javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
- 登录注册案例(Servlet+JSP+Maven)
项目案例模板之登录注册的实现 案例演示 案例代码 设计表 pom.xml <dependencies> <dependency> <groupId>jun ...
- JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)
一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...
随机推荐
- 「ZJOI2007」「LuoguP1169」棋盘制作(并查集
题目描述 国际象棋是世界上最古老的博弈游戏之一,和中国的围棋.象棋以及日本的将棋同享盛名.据说国际象棋起源于易经的思想,棋盘是一个8×88 \times 88×8大小的黑白相间的方阵,对应八八六十四卦 ...
- [APIO 2010] 特别行动队
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1911 [算法] 设前i个士兵"修正"后的最大战斗力为fi 令su ...
- codevs 1214线段覆盖
1214 线段覆盖 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题目描述 Description 给定x轴上的N(0<N<100)条线段,每 ...
- js中this 的四种用法
this 在函数执行时,this 总是指向调用该函数的对象.要判断 this 的指向,其实就是判断 this 所在的函数属于谁. 在<javaScript语言精粹>这本书中,把 this ...
- ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 0-1: ordinal not in range(128
ERROR (UnicodeEncodeError): 'ascii' codec can't encode characters in position 0-1: ordinal not in ra ...
- java定时器Timer的使用
Time类主要负责完成定时计划任务的功能,就是在指定的时间的开始执行某个任务. Timer类的作用是设置计划任务,而封装任务内容的类是TimerTask类.此类是一个抽象类,继承需要实现一个run方法 ...
- ActionBar 溢出菜单和兼容问题解决
当我们想做一个类似于微信菜单 很快我们应该可以想到可以用support-v7包或者actionbarshecklock,然后就写menu布局,如下 <menu xmlns:android=&qu ...
- Python3.6 的字符串内建函数
1.capitalize(self) 将字符串的第一个字符转换为大写 2.casefold(self) 返回将字符串中所有大写字符转换为小写后生成的字符串 3.center(self, width, ...
- bzoj 2597: [Wc2007]剪刀石头布【最小费用最大流】
脑子不太清楚一个zz问题调了好久-- 首先正难则反,因为三元环好像没什么特点,就考虑让非三元环个数最小 考虑非三元环特点,就是环上一定有一个点的入度为2,联系整张图,三元环个数就是每个点C(入度,2) ...
- 初学Django框架知识
首先了解什么事HTTP协议; 1.浏览器往服务器发的 请求(request): 请求消息的格式: 请求方法 路径 HTTP/1.1\r\n k1:v1\r\n k2:v2\r\n \r\n 请求数据 ...