当前位置: 代码迷 >> Java Web开发 >> 用jsp+javabean+sevlet实现注册遇到有关问题
  详细解决方案

用jsp+javabean+sevlet实现注册遇到有关问题

热度:32   发布时间:2016-04-17 14:23:59.0
用jsp+javabean+sevlet实现注册遇到问题
我在做注册页面时,如果不考虑客户端的判断,用sevlet来判断,但是不管用户密码和验证码正不正确都写入数据库,我那可能是我的servlet有问题,但我知道怎么改,最好不要把他们全部放在if……else语句里,那样看起来很不爽。
servlet源代码:


package   servlet;
import   java.io.IOException;
import   javax.servlet.ServletException;
import   javax.servlet.http.HttpServletRequest;
import   javax.servlet.http.HttpServletResponse;

import   userInfo.User;
import   userInfo.DB_User;
import   md5.MD5_Encoding;


/*
  *   注册处理页面
  */

public   class   RegProcessServlet   extends   javax.servlet.http.HttpServlet   implements   javax.servlet.Servlet{
/**
  *  
  */
private   static   final   long   serialVersionUID   =   5415533408782200877L;

//构造函数
public   RegProcessServlet(){
super();
}

//服务器端的验证,提交处理
protected   void     doPost(HttpServletRequest   request,HttpServletResponse   response)   throws   ServletException,IOException{
response.setContentType( "text/html;cahrset=gb2312 ");
//String   selectedScreen   =request.getServletPath();
//创建MD5加密类
MD5_Encoding   md5=new   MD5_Encoding();
String   errorMsg= " ";

//必须编写的项目
String   username=request.getParameter( "username ");
String   pwd=request.getParameter( "pwd ");
String   enpwd=md5.getMD5ofStr(pwd);
String   confpwd=request.getParameter( "confpwd ");
String   email=request.getParameter( "email ");
//判断两次输入的密码是否一致
if(!pwd.equals(confpwd)){
errorMsg= "密码不一致 ";
request.setAttribute( "errorMsg ",   errorMsg);
try{
//转发至注册错误页面
request.getRequestDispatcher( "./reg_failure.jsp ").forward(request,   response);

}
catch(Throwable   t){
//写异常日志
getServletContext().log(t.getMessage());
}
}

//验证验证码输入的正确性
String   random=request.getParameter( "random ");
String   realrand=request.getSession().getAttribute( "random ").toString();
if(!random.equals(realrand)){
errorMsg= "验证码不正确! ";
request.setAttribute( "errorMsg ",   errorMsg);
try{
//转发至注册错误页面
request.getRequestDispatcher( "./reg_failure.jsp ").forward(request,   response);

}
catch(Throwable   t){
//写异常日志
getServletContext().log(t.getMessage());
}
}


//非必须填写的项目
String   realname=request.getParameter( "realname ");
String   gender=request.getParameter( "gender ");
String   phone=request.getParameter( "phone ");
String   question=request.getParameter( "question ");
String   answer=request.getParameter( "answer ");
String   page=request.getParameter( "mypage ");
String[]   temp=request.getParameterValues( "hobbies ");
String   hobby= " ";
//处理个人兴趣爱好
if(temp!=null){
for(int   i=0;i <temp.length;i++){
hobby   +=temp[i];
}
}

String   selfintro   =request.getParameter( "selfintro ");
try{
//创建一个用户表数据库读写类
DB_User   userdb=new   DB_User();
User   user=userdb.get(username);

if(user   !=   null){
  相关解决方案