我在做注册页面时,如果不考虑客户端的判断,用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){