在本项目中再添加实现用户注册的功能
1、添加userRegister.jsp
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%
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>
<base href="<%=basePath%>">
<title>My JSP 'userRegister.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<form action="/J2EEWebApp/userInfoServlet" method="post" name="UserManageLevel" onSubmit="return CheckUserFormInput(this)">
<input type="hidden" name="menuID" value="2">
<table class="wd_gray" border="1" align="center" cellspacing="0" width="502" bgcolor="#F0F8FF" bordercolorlight="#4DA6FF" bordercolordark="#ECF5FF">
<input name="menuID" type="hidden" value="2">
<tr>
<td width="254"> <div align="right">用户名</div></td>
<td width="238"><input type="text" name="userName"></td>
</tr>
<tr>
<td> <div align="right">用户密码 </div></td>
<td><input type="password" name="userPassWord"></td>
</tr>
<tr>
<td> <div align="right">确认密码 </div></td>
<td><input type="password" name="confirmPassWord"></td>
</tr>
<tr>
<td> <div align="right">用户所属的部门 </div></td>
<td><select name="userDepartment">
<option value="信息中心" selected>信息中心</option>
<option value="开发部">开发部</option>
<option value="办公室">办公室</option>
<option value="宣传部">宣传部</option>
</select></td>
</tr>
<tr>
<td> <div align="right">用户的类型</div></td>
<td><select name="userAdminLevel">
<option value="1">管理员</option>
<option value="0" selected>普通用户</option>
<option value="2">超级版主</option>
<option value="3">版主</option>
<option value="4">论坛专家</option>
<option value="5">超级会员</option>
<option value="6">会员</option>
</select>
</td>
</tr>
<tr>
<td> <div align="right">用户是否具有对部门管理的权限 </div></td>
<td>
<select name="departAdminLevel">
<option value="1">有</option>
<option value="0" selected>无</option>
</select>
</td>
</tr>
<tr>
<td> <div align="right">用户图像 </div></td>
<td>
<select name="userImage" onChange="document.images['headPortrait'].src=options[selectedIndex].value;">
<option value='..\Resource\PersonImage\Chang.gif' selected>Chang.gif</option>
<option value='..\Resource\PersonImage\LiuMing.gif'>LiuMing.gif</option>
<option value='..\Resource\PersonImage\Wang.GIF'>Wang.GIF</option>
<option value='..\Resource\PersonImage\Yang.GIF'>Yang.GIF</option>
<option value='..\Resource\PersonImage\zhang.GIF'>zhang.GIF</option>
</select>
<img src="../Resource/PersonImage/Chang.gif" width="28" height="54" name="headPortrait"></td>
</tr>
<tr>
<td><div align="right">
<input type="submit" name="Submit" value="注册完成">
</div></td>
<td><input type="reset" name="Submit2" value="重新注册"></td>
</tr>
</table>
</form>
</body>
</html>
2、修改UserInfoServlet以实现对用户注册表单的请求响应
package com.px1987.j2eeweb.servlet;
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 com.px1987.j2eeweb.model.*;
public class UserInfoServlet extends HttpServlet
{
public UserInfoServlet() {
super();
}
public void destroy() {
super.destroy(); // Just puts "destroy" string in log
// Put your code here
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=gb2312");
PrintWriter out = response.getWriter();
out
.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println("<HTML>");
out.println(" <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println(" <BODY>");
out.print(" This is ");
out.print(this.getClass());
out.println(", 按时广泛特色" );
out.println(" </BODY>");
out.println("</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
request.setCharacterEncoding("gb2312"); //Struts ?
String menuID= request.getParameter("menuID");
int menuIDDigit=Integer.parseInt(menuID);
switch(menuIDDigit)
{
case 1: //用户登录吗
goUserLogin(request,response);
break;
case 2: //用户注册吗
goUserRegister(request,response);
break;
case 3: //用户密码修改吗
goUpdateUserPassWord(request,response);
break;
}
}
public void goUpdateUserPassWord(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
}
public void goUserRegister(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
String userName= request.getParameter("userName");
String userPassWord= request.getParameter("userPassWord");
String userDepartment= request.getParameter("userDepartment");
String userAdminLevel= request.getParameter("userAdminLevel");
String departAdminLevel= request.getParameter("departAdminLevel");
String userImage= request.getParameter("userImage");
UserInfoVO userInfoVOBean=new UserInfoVO();
userInfoVOBean.setUserName(userName);
userInfoVOBean.setUserPassWord(userPassWord);
userInfoVOBean.setUserDepartment(userDepartment);
userInfoVOBean.setUserAdminLevel(Integer.parseInt(userAdminLevel));
userInfoVOBean.setDepartAdminLevel(Integer.parseInt(departAdminLevel));
userInfoVOBean.setUserImage(userImage);
UserInfoManage userInfoManageBean=new UserInfoManage();
boolean okOrNot=userInfoManageBean.doUserRegister(userInfoVOBean);
if(okOrNot)
{
RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher("index.jsp");
oneRequestDispatcher.forward(request, response);
}
else
{
RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher("loginFailure.jsp");
oneRequestDispatcher.forward(request, response);
}
}
public void goUserLogin(HttpServletRequest request,HttpServletResponse response) throws ServletException, IOException
{
String userName= request.getParameter("userName");
//重构
// userName=new String(userName.getBytes("ISO-8859-1"),"gb2312");
String userPassWord= request.getParameter("userPassWord"); //
UserInfoManage userInfoManageBean=new UserInfoManage();
UserInfoVO userInfoVOBean=new UserInfoVO();
userInfoVOBean.setUserName(userName); //也可以采用<jsp:setProperty />来实现---自己完成吧!
userInfoVOBean.setUserPassWord(userPassWord);
boolean okOrNot=userInfoManageBean.doUserLogin(userInfoVOBean);
request.setAttribute("userNameString", userName);
if(okOrNot)
{
// response.sendRedirect("/J2EEWebApp/loginSuccess.jsp");
//转发
RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher("loginSuccess.jsp");
oneRequestDispatcher.forward(request, response);
}
else
{
RequestDispatcher oneRequestDispatcher=request.getRequestDispatcher("loginFailure.jsp");
oneRequestDispatcher.forward(request, response);
}
}
/**
* Initialization of the servlet. <br>
*
* @throws ServletException if an error occure
*/
public void init() throws ServletException {
// Put your code here
}
}
3、修改前面的UserInfoManage 业务组件类以实现用户注册功能的处理
package com.px1987.j2eeweb.model;
import com.px1987.j2eeweb.dao.*;
import java.util.*;
public class UserInfoManage
{
public UserInfoManage()
{
// TODO 自动生成构造函数存根
}
public boolean doUserLogin(UserInfoVO oneUserInfoVO)
{
String userName=oneUserInfoVO.getUserName();
String userPassWord=oneUserInfoVO.getUserPassWord();
boolean okOrNot=false;
UserManageDAOInterface oneUserManageDAOJDBCImple=new UserManageDAOJDBCImple();
UserInfoPO oneUserInfoPO=
oneUserManageDAOJDBCImple.SelectOneUserInfoData(userName, userPassWord);
if(oneUserInfoPO==null)
{
okOrNot=false;
}
else
{
okOrNot=true;
}
// boolean okOrNot=userName.equals("admin")&&userPassWord.equals("1234");
return okOrNot;
}
public boolean doUserRegister(UserInfoVO oneUserInfoVO)
{
UserManageDAOInterface oneUserManageDAOJDBCImple=new UserManageDAOJDBCImple();
UserInfoPO oneUserInfoPO=new UserInfoPO();
oneUserInfoPO.setUserName(oneUserInfoVO.getUserName());
oneUserInfoPO.setUserPassWord(oneUserInfoVO.getUserPassWord());
oneUserInfoPO.setUserAdminLevel(oneUserInfoVO.getUserAdminLevel());
oneUserInfoPO.setUserDepartment(oneUserInfoVO.getUserDepartment());
oneUserInfoPO.setUserImage(oneUserInfoVO.getUserImage());
oneUserInfoPO.setDepartAdminLevel(oneUserInfoVO.getDepartAdminLevel());
oneUserInfoPO.setRegisterTime( new Date().toLocaleString());
oneUserInfoPO.setId((int) new Date().getTime() );
boolean okOrNot=false;
okOrNot=oneUserManageDAOJDBCImple.InsertOneUserInfo(oneUserInfoPO);
return okOrNot;
}
}
4、修改前面的UserManageDAOJDBCImple类以完成用户注册功能的数据访问操作
package com.px1987.j2eeweb.dao;
import java.util.ArrayList;
import java.util.Map;
import java.sql.*;
public class UserManageDAOJDBCImple implements UserManageDAOInterface
{
private java.sql.Connection con=null;
ConnectDBInterface connectDBBean=null;
public UserManageDAOJDBCImple()
{
connectDBBean=new ConnectDBBean();
}
public boolean BatchDeleteUserInfo(ArrayList deletedUserIDs) {
// TODO 自动生成方法存根
return false;
}
public boolean DeleteOneUserInfo(int deletedUserID) {
// TODO 自动生成方法存根
return false;
}
public boolean InsertOneUserInfo(UserInfoPO oneUserInfoPO)
{
String insert_SqlStatement=null;
insert_SqlStatement="insert into userInfo values(?,?,?,?,?,?,?,?)";
con=connectDBBean.getConnection();
try
{
java.sql.PreparedStatement pstmt = con.prepareStatement(insert_SqlStatement,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
pstmt.setString(1, oneUserInfoPO.getUserName());
pstmt.setString(2, oneUserInfoPO.getUserPassWord());
pstmt.setString(3, oneUserInfoPO.getUserDepartment());
pstmt.setInt(4, oneUserInfoPO.getUserAdminLevel());
pstmt.setInt(5, oneUserInfoPO.getDepartAdminLevel());
pstmt.setString(6, oneUserInfoPO.getUserImage());
pstmt.setString(7, oneUserInfoPO.getRegisterTime());
pstmt.setInt(8, oneUserInfoPO.getId());
pstmt.executeUpdate();
}
catch(SQLException e)
{
System.out.println("在查询数据库表时出现错误!");
return false;
}
return true;
}
public ArrayList SelectAllUserInfoData() {
// TODO 自动生成方法存根
return null;
}
public UserInfoPO SelectOneUserInfoData(String userName, String userPassWord)
{
ResultSet rs=null;
UserInfoPO oneUserInfo=null;
String select_SqlStatement=null;
select_SqlStatement="select * from userInfo where userName='"+
userName+"' and userPassWord='"+userPassWord+"'";
con=connectDBBean.getConnection();
try
{
java.sql.PreparedStatement pstmt = con.prepareStatement(select_SqlStatement,
ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
rs = pstmt.executeQuery();
if(rs.next())
{
oneUserInfo=new UserInfoPO(); //目前只转换下面的几个属性
oneUserInfo.setUserName(rs.getString("userName"));
oneUserInfo.setUserPassWord(rs.getString("userPassWord"));
oneUserInfo.setUserDepartment(rs.getString("userDepartment"));
}
else
{
oneUserInfo=null;
}
}
catch(SQLException e)
{
System.out.println("在查询数据库表时出现错误!");
}
return oneUserInfo;
}
public ArrayList SelectSomeUserInfoData(Map whereMap) {
// TODO 自动生成方法存根
return null;
}
public boolean UpdateOneUserInfo(UserInfoPO oneUserInfoPO) {
// TODO 自动生成方法存根
return false;
}
}
5、部署并执行本系统