默默提升实验室 2020-03-12 23:54 采纳率: 0%
浏览 220

过滤器正常使用,可以拦截非法操作,但是合法注册无法跳转到登入页面

过滤器正常使用,可以拦截非法操作,但是合法注册无法跳转到登入页面。



/**
 * Servlet Filter implementation class RegisterFilter
 */
@WebFilter("/RegisterFilter")
public class RegisterFilter implements Filter {

    /**
     * Default constructor. 
     */
    public RegisterFilter() {
        // TODO Auto-generated constructor stub
    }

    /**
     * @see Filter#destroy()
     */
    public void destroy() {
        // TODO Auto-generated method stub
    }

    /**
     * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
     */
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {

        HttpServletRequest req = (HttpServletRequest)request;
        HttpServletResponse resp = (HttpServletResponse)response;

        req.setCharacterEncoding("UTF-8");
        resp.setContentType("text/html;charset=utf-8");
        //用户名过滤器
        String userName = req.getParameter("userName");

        PrintWriter out = resp.getWriter();

        if(userName.equals("")) {
            out.write("<script>");
            out.write("alert('用户名称不能为空');");
            out.write("location.href='register.jsp';");
            out.write("</script>");
            out.close();
            return;
        }

        //验证码过滤器
        HttpSession session = req.getSession();

        String verycode = req.getParameter("veryCode");
        String sysCode = (String)session.getAttribute("code");

        if(!sysCode.equals(verycode)) {
            out.write("<script>");
            out.write("alert('验证码输入有误');");
            out.write("location.href='register.jsp';");
            out.write("</script>");
            out.close();
            return;
        }

        //return;//不通过则直接

        // pass the request along the filter chain
        chain.doFilter(req, resp);// 通过则使用这条语句
    }

    /**
     * @see Filter#init(FilterConfig)
     */
    public void init(FilterConfig fConfig) throws ServletException {
        // TODO Auto-generated method stub
    }

}

  • 写回答

1条回答 默认 最新

  • dabocaiqq 2020-03-13 11:11
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog