今天学习filter遇到个奇怪的问题,搞了好久没弄好。
我写了个form表达提交到servlet里(这里就简写了不贴全部代码了)
这个是login.jsp表单
<form action="/code/Servletlogin">
<input type="text" name="username" placeholder="username">
<br>
<input type="text" name="password" placeholder="password">
<input type="submit" value="注册">
</form>
Servletlogin的servlet这样写
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
request.setAttribute("msg","xixixixi.....");
request.getRequestDispatcher("/login.jsp").forward(request,response);
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request, response);
}
}
这是过滤器默认所有请求过来都要先执行这个过滤器
@WebFilter(value = "/*")
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
chain.doFilter(req, resp);
System.out.println("flter.....");
chain.doFilter(req,resp);
// System.out.println("返回...........");
}
请求的奇怪的事情发生了,为什么2个表单。。。。。