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 ...
随机推荐
- bzoj 1798 Seq 维护序列seq —— 线段树
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1798 这题还4A... 注意:cnt 从1开始:各种模 p:乘法标记初始值是 1:可能乘 0 ...
- vue-touchjs
支持vue2.0的面向指令的touch指令,基于touchjs(原百度实现的移动端手势库) vue-touchjs支持三种stopPropagation的方式: 1 .stop修饰符 2 事件han ...
- Java创建对象解释
创建对象包括两个步骤,首先为对象声明,然后为对象分配内存. (1)对象声明 格式:类名 对象名: 这里只是声明了对象,但该对象并不能够使用,原因为未分配内存空间. (2)为对象分配内存 格式:new ...
- Codeforces Round #408( Div2)
Bank Hacking 阅读题,读完之后手算一下可以发现每一个bank被hack所需要的strength无非分为三种情况. 1. $a_i$,当且仅当i为第一个选择的点. 2. $a_i+1$,当且 ...
- (转)data Table的用法大全
jqyery dataTable 基本用法 一:官方网站:[http://www.datatables.net/] 二:基本使用:[http://www.guoxk.com/node/jquery-d ...
- hdu-1181
变形课 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/65536 K (Java/Others)Total Submis ...
- Android调试之TraceView
TraceView 在应用运行时,可以使用Debug类打开操作日志记录功能,打开后Android会详细记录应用花在每个线程以及线程的每个函数的调用时间.操作日志记录完毕后,可以使用Android SD ...
- sql语句之正则表达式
select * from employee where name regexp '^jin' select * from employee where name regexp '^jin.*(g|n ...
- CodeForces 761C 【DP】
总结:能这么DP就这么写! 多练位运算标记. #include<bits/stdc++.h> using namespace::std; const int N=55; const int ...
- HDU4166【BFS】
题意: 给你一幅图,给你起点和终点,再给你机器人所面对的方向,机器人可以左转90°,右转90°,向前进一格,每种操作都是1秒,,求起点和终点最少花费下的路径条数,方案数: 思路: 这里有一个不同就是机 ...