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>
停止的页面地址是:
白屏没反应,求解决!!!!!!!!!!!!!
1 回答

maybe丶xg
TA贡献12条经验 获得超2个赞
if(!errs.isEmpty()){ session.setAttribute("errors",errs); session.setAttribute("username", username); //request.getRequestDispatcher("../user/login.jsp").forward(request, response); response.sendRedirect(url); return; }
errs 不为空 会有response.sendRedirect(url);
为空的时候没有做处理
添加回答
举报
0/150
提交
取消