阐述这个:
我将servlet或过滤器映射到"/*"
现在,如果我访问的网址如下:
/test
Run Code Online (Sandbox Code Playgroud)
然后这将被定向到servlet(没关系)
但是如果我访问的网址如下:
/index.jsp
Run Code Online (Sandbox Code Playgroud)
这也将指向servlet,我不想要这种行为,我想要的是将index.jsp作为jsp处理.
如何才能做到这一点?
将您的控制器 servlet 映射到更具体的url-pattern类似方法上/controller/*,并创建一个Filter映射到的控制器 servlet /*,其大致类似于以下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.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
217 次 |
| 最近记录: |