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 ...
随机推荐
- 当数据库中的字段与javabean中对应的属性名不同
当数据库中的字段与javabean中对应的属性名不同时: 在查询语句中对不同的字段起别名,例如: 数据库中的字段名为last_name , javabean中为lastName则:select las ...
- 初学Java(一)
基本语法: 编写Java程序时,应注意以下几点: 1.大小写敏感:java是大小写敏感的,这就意味着标识符Hello与hello是不同的. 2.类名:对于所有的类来说,类名的首字母应该大写.如果类名由 ...
- 洛谷 P4660 & bzoj 1168 [ Baltic OI 2008 ] 手套 —— 分析+单调栈
题目:https://www.luogu.org/record/show?rid=12702916 https://www.lydsy.com/JudgeOnline/problem.php?id=1 ...
- hdu 最短路模板题 java
最短路 Problem Description 在每年的校赛里,所有进入决赛的同学都会获得一件很漂亮的t-shirt.但是每当我们的工作人员把上百件的衣服从商店运回到赛场的时候,却是非常累的!所以现在 ...
- 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 instance 重启后又会差 8 个小时
这是 OpenStack 实施经验分享系列的第 3 篇. 问题描述 通过上一节部署出来的 Windows instance 有时候会发现操作系统时间总是慢 8 个小时,即使手工调整好时间和时区,下次 ...
- CreateEx
virtual BOOL CreateEx( DWORD dwExStyle, LPCTSTR lpszClassName, LPCTSTR lpszWindowName, DWORD dwStyle ...
- ubuntu删除g2o
解决方法为:(1)删除/usr/local/include/g2o,指令为sudo rm -rf /usr/local/include/g2o:(2)删除/usr/local/lib下有关libg2o ...
- Content Security Policy的学习理解
以下内容转载自 http://www.cnblogs.com/alisecurity/p/5924023.html 跨域脚本攻击 XSS 是最常见.危害最大的网页安全漏洞. 为了防止它们,要采取很多编 ...
- Redis缓存雪崩、缓存穿透、缓存击穿、缓存降级、缓存预热、缓存更新
Redis缓存能够有效地加速应用的读写速度,就DB来说,Redis成绩已经很惊人了,且不说memcachedb和Tokyo Cabinet之流,就说原版的memcached,速度似乎也只能达到这个级别 ...
- laravel M层
目录 App\Models 没有就自己创一个 创建对应控制器的php文件,首字母大写 <?php namespace App\Models; use Illuminate\Database\ ...