用jsp实现的用户登录的代码
来源:互联网 发布:以撒的结合胎衣mac版 编辑:程序博客网 时间:2024/04/29 19:36
register.jsp:
<%@ page contentType="text/html" pageEncoding="GB2312"%>
<jsp:useBean id="registerForm" class="org.it315.bean.RegisterFormBean"
scope="request"></jsp:useBean>
<form action="../servlet/controller" method="post">
姓名:
<input type="text" name="name"
value='<jsp:getProperty name="registerForm" property="name" />'>
<font color="red"><%=registerForm.getErrorMsg("name")%></font>
<br />
密码:
<input type="password" name="password1"
value='<jsp:getProperty name="registerForm" property="password1"/>'>
<font color="red"><%=registerForm.getErrorMsg("password1")%></font>
<br>
确认密码:
<input type="password" name="password2"
value='<jsp:getProperty name="registerForm" property="password2"/>'>
<font color="red"><%=registerForm.getErrorMsg("password2")%></font>
<br>
Email:
<input type="text" name="email"
value='<jsp:getProperty name="registerForm" property="email" />'>
<font color="red"><%=registerForm.getErrorMsg("email")%></font>
<br>
<input type="submit" name="submit" value="注册" />
</form>
logonSuccess.jsp:
<%@ page Xlanguage="java" import="java.util.*" pageEncoding="GB2312"%>
<%
if ("logout".equals(request.getParameter("action"))) {
session.invalidate();
%>
<jsp:forward page="logon"></jsp:forward>
<%
}
if (session.getAttribute("logonUser") == null) {
%>
<jsp:forward page="logon.jsp"></jsp:forward>
<%
}
%>
<jsp:useBean id="logonUser" class="org.it315.bean.UserBean"
scope="session"></jsp:useBean>
恭喜你,登陆成功!
<br>
<jsp:getProperty property="name" name="logonUser" /><br>
<jsp:getProperty property="password" name="logonUser" /><br>
<jsp:getProperty property="email" name="logonUser" /><br>
<a href="logonSuccess.jsp?action=logout">注销</a>
<br>
<a href="logon.jsp">重新登录</a>
ControllerServlet.java:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.it315.bean.RegisterFormBean;
import org.it315.bean.UserBean;
import org.it315.util.DbUtil;
import org.it315.util.DbUtilException;
public class ControllerServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
RequestDispatcher rd = null;
String name = request.getParameter("name");
String password1 = request.getParameter("password1");
String password2 = request.getParameter("password2");
String email = request.getParameter("email");
RegisterFormBean registerForm = new RegisterFormBean();
registerForm.setName(name);
registerForm.setPassword1(password1);
registerForm.setPassword1(password2);
registerForm.setEmail(email);
request.setAttribute("registerForm", registerForm);
if (!registerForm.validate()) {
rd = request.getRequestDispatcher("/jsp/register.jsp");
rd.forward(request, response);
return;
}
UserBean user = new UserBean();
user.setName(name);
user.setPassword(password1);
user.setEmail(email);
try {
DbUtil db = DbUtil.getInstance();
db.insertUser(user);
} catch (DbUtilException ex) {
registerForm.setErrorMsg("name", ex.getErrorMsg("name"));
rd = request.getRequestDispatcher("/jsp/register.jsp");
rd.forward(request, response);
return;
}
HttpSession session = request.getSession();
session.setAttribute("logonUesr", user);
rd = request.getRequestDispatcher("/jsp/logonSuccess.jsp");
rd.forward(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
DbUtil.java
import java.util.Hashtable;
import org.it315.bean.UserBean;
public class DbUtil {
private static DbUtil instance = new DbUtil();
private Hashtable users = new Hashtable();
private DbUtil() {
UserBean user1 = new UserBean();
user1.setName("zxx");
user1.setPassword("12345678");
user1.setEmail("zxx@it315.org");
users.put("zxx", user1);
UserBean user2 = new UserBean();
user2.setName("flx");
user2.setPassword("abcdefg");
user2.setEmail("flx@it315,org");
users.put("flx", user2);
}
public static DbUtil getInstance() {
return instance;
}
public UserBean getUser(String userName) {
UserBean user = (UserBean) users.get(userName);
return user;
}
public void insertUser(UserBean user) throws DbUtilException {
if (user == null) {
return;
}
String userName = user.getName();
if (users.get(userName) != null) {
DbUtilException ex = new DbUtilException();
ex.setErrorMsg("name", "username have used.");
throw ex;
}
users.put(userName, user);
}
}
DbUtilException.java:
import java.util.Hashtable;
public class DbUtilException extends Exception {
private Hashtable errors = new Hashtable();
public void setErrorMsg(String err, String errMsg) {
if ((err != null) && (errMsg != null)) {
errors.put(err, errMsg);
}
}
public String getErrorMsg(String err) {
String err_msg = (String) errors.get(err);
return (err_msg == null) ? "" : err_msg;
}
}
UserBean.java:
import java.io.IOException;
import java.io.PrintWriter;
import java.io.Serializable;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class UserBean implements Serializable {
private String name = "";
private String password = "";
private String email = "";
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setPassword(String password) {
this.password = password;
}
public String getPassword() {
return password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
RegisterFormBean.java
import java.util.*;
public class RegisterFormBean {
private String name = "";
private String password1 = "";
private String password2 = "";
private String email = "";
private Hashtable errors = new Hashtable();
public void setName(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public void setPassword1(String password1) {
this.password1 = password1;
}
public String getPassword1() {
return this.password1;
}
public void setPassword2(String password2) {
this.password2 = password2;
}
public String getPassword2() {
return this.password2;
}
public void setEmail(String email) {
this.email = email;
}
public String getEmail() {
return this.email;
}
@SuppressWarnings("unchecked")
public boolean validate() {
boolean allOk = true;
if (name.trim().equals("")) {
errors.put("name", "Pleaseinput your name.");
allOk = false;
}
if (password1.length() > 10 || password1.length() < 6) {
errors.put("password1", "password must have6-10 characters.");
allOk = false;
}
if (!password2.equals(password1)) {
errors.put("password2", "passwords do not match.");
allOk = false;
}
if (!email.matches("[a-zA-ZO-9_-]+@[a-zA-ZO-9_-]+(\\.[a-zA-ZO-9_-]+)+")) {
errors.put("email", "illegal email.");
allOk = false;
}
return allOk;
}
public void setErrorMsg(String err, String errMsg) {
if ((err != null) && (errMsg != null)) {
errors.put(err, errMsg);
}
}
public String getErrorMsg(String err) {
String err_msg = (String) errors.get(err);
return (err_msg == null) ? "" : err_msg;
}
}
- 用jsp实现的用户登录的代码
- 用户自动登录的jsp实现
- 用纯jsp实现用户的登录、注册与退出
- 对用户自动登录实现的代码
- 用javascript实现用户登录验证的代码。
- JSP+Servlet实现简单的用户登录注册
- JSP+Servlet实现用户登录状态的保存
- JSP实现用户登录
- JSP实现用户登录
- 用JSP和数据库操作实现的简单的用户登录
- JSP的隐式对象----实例,用模式一实现用户登录功能。
- 利用cookie实现用户自动登录的代码
- JSP实现简单的用户登录,并显示出用户的信息
- C#中用session实现的用户登录代码与退出登录代码
- 用JSP写的一个用户登录界面
- jsp Cookie记住用户的登录状态
- jsp简单的用户登录界面
- 基于JSP+Servlet的用户登录验证
- I. The Basics---Chapter 1----Following the Data
- .NET多线程编程(4):线程池和异步编程
- I. The Basics---Chapter 1----Making Shaders
- 提问的智慧 - 艾瑞克.史蒂文.雷蒙德(Eric Steven Raymond)
- 多线程编程笔记(一)
- 用jsp实现的用户登录的代码
- JS的trim()方法
- 广州:23岁女子交房租裸死房东屋顶花坛
- How To Ask Questions The Smart Way - Eric Steven Raymond
- poj 3445
- 多线程编程笔记(二)
- 算法1(多邊形面积,多边形方向,Flood-Fill, Floyd-Warshall算法, 最短路問題)
- CF 238B Boring Partition
- QT radiobutton