Servlet 易错点和注意点

时间:2023-11-28 22:23:44

目录


@WebServlet("/")与@WebServlet("/*")的区别


@WebServlet("/")与@WebServlet("/*")的区别

  @WebServlet("/") 和 @WebServlet("/*")的功能特别相似:

  1、@WebServlet("/*")标记的servlet,对于任何资源的请求(jsp、html、js、css),都会执行该servlet。

  2、@WebServlet("/")标记的servlet,对于jsp的请求,会放行(也就是说,对jsp的请求,不会执行servlet),而对其他资源(html、css、js)的请求,都会执行servlet。

  其中,对于@WebServlet("/")来说,如果请求的jsp存在,则直接返回请求的jsp;如果请求的jsp不存在,则报404错误。

  而对于@WebServlet("/*")来说,因为对任何资源的请求都只执行servlet,即使请求的jsp存在,也不会直接返回jsp。

  对于@WebServlet("/")来说,如果需要将对html、css、js这些静态资源的请求设置为不执行servlet,可以通过下面的方式进行设置: