默默提升实验室 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
    关注
    评论

报告相同问题?