只帖源代码,,,,不讲解。

1、Login.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>登录</title>
</head> <body>
<form action="LoginServlet" method="post">
账号:<input type="text" name="account"/><br/>
密码:<input type="password" name="password"/><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="submit" value="登录" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="Register.jsp">注册</a>
</form>
</body>
</html>

2、Register.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>注册</title>
</head> <body>
<form action="RegisterServlet" method="post">
账号:<input type="text" name="account"><br/>
密码:<input type="password" name="password"><br/>
性别:<input type="text" name="sex"><br/>
邮箱:<input type="text" name="email"><br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<input type="submit" name="submit" value="注册">
</form>
</body>
</html>

3、User类,构造函数封装数据

package com.cn.jspT2;

public class User {
private String account;
private String password;
private String sex;
private String email;
public String getAccount() {
return account;
}
public void setAccount(String account) {
this.account = account;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
} public User(String account, String password, String sex, String email) {
super();
this.account = account;
this.password = password;
this.sex = sex;
this.email = email;
}
public User() {
super();
} }

4、DBHelper类

package com.cn.jspT2;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement; /**
* 获取数据库操作的连接对象
* 关闭数据库操作的各种资源
* @author 晏先政
*
*/
public class DBHelper {
private static final String className = "com.mysql.jdbc.Driver";
private static final String url = "jdbc:mysql://localhost:3306/jsp?characterEncoding=utf8&useSSL=true";
private static final String uname = "root";
private static final String upass = "211599100yxz"; /**
* 获取数据库连接对象的方法
*/
public static Connection getConn(){
Connection conn = null;
try{
Class.forName(className);
conn = DriverManager.getConnection(url,uname, upass);
} catch(Exception e){
e.printStackTrace();
} return conn;
} /**
* 关闭数据库连接对象
*/
public static void closeConn(Connection conn){
try{
if(conn!=null){
conn.close();
}
} catch(Exception e){
e.printStackTrace();
}
} /**
* 关闭数据库操作对象
*/
public static void closeStmt(Statement stmt){
try{
if(stmt!=null){
stmt.close();
}
} catch(Exception e){
e.printStackTrace();
}
} /**
* 关闭数据库操作对象
*/
public static void closePstmt(PreparedStatement pstmt){
try{
if(pstmt!=null){
pstmt.close();
}
} catch(Exception e){
e.printStackTrace();
}
} /**
* 关闭数据库操作对象
*/
public static void closeRs(ResultSet rs){
try{
if(rs!=null){
rs.close();
}
} catch(Exception e){
e.printStackTrace();
}
}
}

5、UserDao类,操作数据库

package com.cn.jspT2;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet; public class UserDao {
private Connection conn = null;
private PreparedStatement pstmt = null;
private ResultSet rs = null;
public void addUser(User user){
try {
conn = DBHelper.getConn();
String sql = "insert into user_info(account,password,sex,email) values(?,?,?,?)";
PreparedStatement pstmt = conn.prepareStatement(sql);
pstmt.setString(1, user.getAccount());
pstmt.setString(2, user.getPassword());
pstmt.setString(3, user.getSex());
pstmt.setString(4, user.getEmail());
pstmt.execute();
} catch (Exception e) {
e.printStackTrace();
}finally{
DBHelper.closePstmt(pstmt);
DBHelper.closeConn(conn);
}
}
public Boolean queryUser(String account,String password){
try {
conn = DBHelper.getConn();
String sql = "select * from user_info where account=? and password=?";
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, account);
pstmt.setString(2, password);
rs = pstmt.executeQuery();
if(rs.next()) {
return true;
}else{
return false;
}
} catch (Exception e) {
e.printStackTrace();
}finally{
DBHelper.closeRs(rs);
DBHelper.closePstmt(pstmt);
DBHelper.closeConn(conn);
}
return false;
}
}

6、LoginServlet

package com.cn.jspT2;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class LoginServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8");
String account = request.getParameter("account");
String password = request.getParameter("password");
UserDao userDao = new UserDao();
Boolean user = userDao.queryUser(account, password);
if(user){
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
pw.print("<script> window.onload=function(){alert('"+account+"恭喜你登录成功');}</script>");
}else{
response.setContentType("text/html;charset=utf-8");
PrintWriter pw = response.getWriter();
pw.print("<script> window.onload=function(){alert('对不起账号或者密码不正确');}</script>");
} }
}

7、RegisterServlet

package com.cn.jspT2;

import java.io.IOException;
import java.io.PrintWriter; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; public class RegisterServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8");
String account = request.getParameter("account");
String password = request.getParameter("password");
String sex = request.getParameter("sex");
String email = request.getParameter("email");
User user = new User();
user.setAccount(account);
user.setPassword(password);
user.setSex(sex);
user.setEmail(email);
UserDao userdao = new UserDao();
userdao.addUser(user);
response.setContentType("text/html;charset=utf-8");
// response.setCharacterEncoding("utf-8");
PrintWriter pw = response.getWriter();
pw.print("<script> window.onload=function(){alert('"+account+"恭喜你注册成功');}</script>");
response.sendRedirect("Login.jsp"); }
}

jsp登录注册的更多相关文章

  1. javaweb学习总结(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  2. 纯JSP实现用户登录注册,记事本

    没有美化,没有格式,没有样式 1.JSP登陆注册 将用户注册的信息保存在application对象中,用于登录时的验证. 首页如下: 如果未登录,在  session 中找不到 currentUser ...

  3. JavaWeb学习 (二十一)————基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  4. JSP:注册&登录

    数据库:Mysql 除了_id自动增长,其余全是varchar 注册:register.jsp <%@ page language="java" import="j ...

  5. 基于Servlet+JSP+JavaBean开发模式的用户登录注册

    http://www.cnblogs.com/xdp-gacl/p/3902537.html 一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBea ...

  6. javaweb(二十二)——基于Servlet+JSP+JavaBean开发模式的用户登录注册

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

  7. 登录注册案例(Servlet+JSP+Maven)

    项目案例模板之登录注册的实现 案例演示 案例代码 设计表 pom.xml  <dependencies>  <dependency>    <groupId>jun ...

  8. Java Web项目案例之---登录注册和增删改查(jsp+servlet)

    登录注册和增删改查(jsp+servlet) (一)功能介绍 1.用户输入正确的密码进行登录 2.新用户可以进行注册 3.登录后显示学生的信息表 4.可以添加学生 5.可以修改学生已有信息 6.可以删 ...

  9. JavaWeb实现用户登录注册功能实例代码(基于Servlet+JSP+JavaBean模式)

    一.Servlet+JSP+JavaBean开发模式(MVC)介绍 Servlet+JSP+JavaBean模式(MVC)适合开发复杂的web应用,在这种模式下,servlet负责处理用户请求,jsp ...

随机推荐

  1. bzoj3427小P的牧场(斜率优化dp)

    小P在MC里有n个牧场,自西向东呈一字形排列(自西向东用1…n编号),于是他就烦恼了:为了控制这n个牧场,他需要在某些牧场上面建立控制站,每个牧场上只能建立一个控制站,每个控制站控制的牧场是它所在的牧 ...

  2. 解决关于confluence缓慢 字体乱码 宏乱码 编辑不能贴图等问题

    应用场景:Confluence软件不用多说,与Jira一样,都是atlassion的精品软件,不再介绍. 这里因为使用的是破解版的confluence,故遇见一些问题,只能百度谷歌自行解决,也在此记录 ...

  3. ST算法(倍增)(用于解决RMQ)

    ST算法 在RMQ(区间最值问题)问题中,我了解到一个叫ST的算法,实质是二进制的倍增. ST算法能在O(nlogn)的时间预处理后,用O(1)的时间在线回答区间最值. f[i][j]表示从i位起的2 ...

  4. 如何写一个通用的README规范

    背景 我们平常在进行项目开发时,一般都会把代码上传至代码托管平台上方便管理和维护.目前我厂使用的托管平台是SVN,国内外还有一些比较知名的代码托管平台,比如github.Gitlab.BitBucke ...

  5. 第十四篇-ImageButton控制聚焦,单击,常态三种状态的显示背景

    这里先用XML设置. myselector.xml <?xml version="1.0" encoding="utf-8"?> <selec ...

  6. 第六节,Neural Networks and Deep Learning 一书小节(下)

    4.神经网络可以计算任何函数的可视化证明 神经网络拥有一定的普遍性,即包含一个隐藏层的神经网络可以被用来按照任意给定的精度来近似任何连续函数. 这一章使用一个实例来阐述神经网络是如何来近似一个一元函数 ...

  7. jmeter-录制, 编辑脚本,性能测试全过程review

    录制脚本 jmeter下载安装略过不谈,上步骤: 1.在测试计划新建-threads-线程组 2.在工作台新建-非测试原件-http代理服务器,设置端口和包含网址 不包含网址 3.在手机/浏览器,设置 ...

  8. Luogu P2852 [USACO06DEC]牛奶模式Milk Patterns

    题目链接 \(Click\) \(Here\) 水题.利用\(Height\)的性质维护一个单调栈即可. #include <bits/stdc++.h> using namespace ...

  9. Go数据类型和变量

    一:Go数据类型 1.1 Go语言按照分类有以下几种数据类型 布尔型 布尔型的是一个常量true或者false 数字类型 整型int和浮点型 float32, float64 字符串类型 字符串就是一 ...

  10. 谈.Net委托与线程——创建无阻塞的异步调用(二)

    了解IAsyncResult 现在我们已经了解,EndInvoke可以给我们提供传出参数与更新后的ref参数:也可以向我们导出异步函数中的异常信息.例如,我们使用BeginInvoke调用了异步函数S ...