阐述这个:
我将servlet或过滤器映射到“/ *”
现在,如果我访问的网址如下:
/test
然后这将被定向到servlet(没关系)
但如果我访问的网址如下:
/index.jsp
这也将针对servlet,我不想要这种行为,我想要的是将index.jsp作为jsp处理。
如何做到这一点?
答案 0 :(得分:3)
将您的控制器servlet映射到更具体的url-pattern
/controller/*
Filter
,并创建一个映射到/*
的{{1}},并在doFilter()
中大致如下所示方法
String uri = ((HttpServletRequest) request).getRequestURI();
if (uri.endsWith(".jsp")) {
chain.doFilter(request, response); // Just let it go. The container's builtin JspServlet will pickup this.
} else {
request.getRequestDispatcher("/controller" + uri).forward(request, response); // Goes to controller servlet.
}