package com.zhao.action; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import com.zhao.Utils.StringUtils; public class UserAction extends BaseAction { public void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String username=request.getParameter("username"); String password=request.getParameter("password"); String checkcode=request.getParameter("checkcode"); String url=request.getParameter("url"); HttpSession session=request.getSession(); Map<String,String> errs=new HashMap<String, String>(); if(StringUtils.isBlank(username)) errs.put("username", "用户名称不能为空!"); if(StringUtils.isBlank(password)) errs.put("password", "密码不能为空!"); if(StringUtils.isBlank(checkcode)) errs.put("checkcode", "验证码不能为空!"); else{ Object obj=session.getAttribute("checkcode"); if(!checkcode.equals(obj)){ errs.put("checkcode", "验证码输入错误"); } } if(!errs.isEmpty()){ session.setAttribute("errors",errs); session.setAttribute("username", username); //request.getRequestDispatcher("../user/login.jsp").forward(request, response); response.sendRedirect(url); return; } } @Override public void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { } } 其中login和List是我创建了一个servlet的父类BaseAction,用反射做出的。 父类: package com.zhao.action; import java.io.IOException; import java.io.PrintWriter; import java.lang.reflect.Method; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public abstract class BaseAction extends HttpServlet { private static final long serialVersionUID = -4289158719460028496L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String action=request.getParameter("action"); if(action==null||action.trim().length()<1){ action="list"; Class clz=this.getClass(); try { Method method=clz.getMethod(action, HttpServletRequest.class,HttpServletResponse.class); method.invoke(this,request,response); } catch (Exception e) { new ServletException(e); } } } public abstract void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException; } 把jsp页面也贴出来 <FORM name=f1 action="user.do?action=login" method=post> <input type="hidden" name="url" id="url"/> <script type="text/javascript"> document.getElementById("url").value=location.href; </script> <TABLE cellSpacing=3 cellPadding=0 border=0> <TBODY> <tr> <td colspan="2"> <span class="error"> ${ sessionScope.errors.username} </span> </td> </tr> <TR> <TD>用户名:</TD> <TD><INPUT size=10 name="username" style="width:80px" value="${sessionScope.username}"></TD></TR> <tr> <td colspan="2"> <span class="error"> ${ sessionScope.errors.password} </span> </td> </tr> <TR> <TD>密码:</TD> <TD><INPUT type=password size=10 name="password" style="width:80px"></TD></TR> <tr> <td colspan="2"> <span class="error"> ${ sessionScope.errors.checkcode} </span> </td> </tr> <TR> <TD>验证码:</TD> <TD><INPUT size=10 name="checkcode" style="width:80px"></TD></TR> <TR> <TD align=middle colSpan=2> <IMG id="img1"/> </TD> <script> document.getElementById("img1").src='${pageContext.request.contextPath}/images/pic.do?q='+Math.random(); </script> </TR> <TR></TR> <TR> <TD align=middle colSpan=2><INPUT type=submit value=登录> <INPUT onclick="javascript:window.location.href='userinfo.do?act=newregister'" type=button value=注册><BR></TD></TR> <TR> <TD class=ko align=middle colSpan=2> </TD></TR></TBODY></TABLE></FORM> <c:remove var="errors" scope="session"/> <c:remove var="username" scope="session"/> </TD> 停止的页面地址是: 白屏没反应,求解决!!!!!!!!!!!!!
maybe丶xg
相关分类