在一个普通的 Java weba 应用程序中,如果我把它放在我的 servlet 代码中,转发工作:
getServletConfig().getServletContext().getRequestDispatcher("/something.jsp").forward(req, resp);
但是当我在 Spring 3.0 应用程序的同一个 servlet 中执行此操作时,404
即使我将此条目添加到我的应用程序上下文 xml 文件中,我也会得到一个:
<intercept-url pattern="/something.jsp**" access="hasRole('ROLE_ANONYMOUS')" requires-channel="http" />
相反,我似乎必须在 Spring 中执行此操作:
getServletConfig().getServletContext().getRequestDispatcher("/something").forward(req, resp);
并在控制器中添加一个映射:
@RequestMapping(value = {"/something"}, method = RequestMethod.GET)
public final String something(HttpServletRequest req, ModelMap model) {
...
}
但是,要让一个简单的 JSP 前向工作,这是一个相当重要的弯路。
有一个更好的方法吗?