我找了很久确实没有找出错误!!看看错在哪儿行吗?
谢谢!!
我用Form表单提交:"html" <form action="user_dao_servlet" method="post">
用户名: <input type="text" name="userName"/><br>
密码: <input type="password" name="userPassword"/><br>
确认密码: <input type="password" name="confirmPassword"/><br>
邮箱: <input type="text" name="userEmail"/><br>
安全问题: <input type="text" name="userQuestion"/><br>
答案: <input type="text" name="userAnswer"/><br>
<input type="submit" value="提交"/>
<input type="reset" value="重置"/>
</form>以下是我的Servlet代码:
"java"public class UserDAOServlet extends HttpServlet {
public class UserLoginServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
request.setCharacterEncoding("utf-8"); //统一设置编码
String page = "user_register.jsp";
String code = request.getParameter("code");
List<String> errors = new ArrayList<String>();
// 验证码验证
if (code == null || "".equals(code)) {
errors.add("验证码为空!");
} else {
String rand = (String) request.getSession().getAttribute("rand");
if (!code.equalsIgnoreCase(rand)) {
errors.add("验证码错误!!") ;
}
}
//取出接受参数进行验证
String userName = request.getParameter("userName");
String userPassword = request.getParameter("userPassword");
String confirmPassword = request.getParameter("confirmPassword");
String userEmail = request.getParameter("userEmail");
String userQuestion = request.getParameter("userQuestion");
String userAnswer = request.getParameter("userAnswer");
String userRealName = request.getParameter("userRealName");
String tele = request.getParameter("tele");
String address = request.getParameter("address");
String sex = request.getParameter("sex");
if(!(userPassword.equals(confirmPassword))){
errors.add("两次输入密码不一样!");
}
if (userName == null || "".equals(userName)) {
errors.add("用户名不能为空!");
}
if (userPassword == null || "".equals(userPassword)) {
errors.add("密码不能为空!");
}
if(errors.size()==0){ // 现在没有任何的错误信息
User vo=new User();
vo.setUserName(userName);
vo.setUserPassword(new MD5Code().getMD5ofStr(userPassword)) ;
vo.setAddress(address);
vo.setSex(sex);
vo.setTele(tele);
vo.setUserQuestion(userQuestion);
vo.setUserAnswer(userAnswer);
vo.setUserEmail(userEmail);
vo.setUserRealName(userRealName);
try {
if(DAOFactory.getIUserDAOInstance().doCreate(vo)){
request.getSession().setAttribute("user", vo) ; // 现在保存对象
request.setAttribute("userName", userName);
page = "register_success.jsp" ;
} else {
errors.add("用户名或密码错误!");
}
} catch (Exception e) {
e.printStackTrace();
}
}
request.setAttribute("errors", errors) ;
request.getRequestDispatcher(page).forward(request, response);
}}
}以下是在WEB.XML里面的配置:
"xml"<servlet>
<servlet-name>userDAO</servlet-name>
<servlet-class>org.mm.servlet.UserDAOServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>userDAO</servlet-name>
<url-pattern>/user_dao_servlet</url-pattern>
</servlet-mapping>
这样试试!