无法排除URL';springmvc中servlet映射中的

无法排除URL';springmvc中servlet映射中的,spring,spring-mvc,Spring,Spring Mvc,我在Spring MVC 3.2中有一个控制器,我想允许以下url: 我想排除任何其他可能导致错误的内容。当前,bar被映射到getStuff方法 我想我必须能够做到这一点,而不使用过滤器 我的servlet映射如下所示: <servlet-mapping> <servlet-name>MyServlet</servlet-name> <url-pattern>/mypage/*</url-pattern&g

我在Spring MVC 3.2中有一个控制器,我想允许以下url:

我想排除任何其他可能导致错误的内容。当前,bar被映射到getStuff方法

我想我必须能够做到这一点,而不使用过滤器

我的servlet映射如下所示:

<servlet-mapping>
        <servlet-name>MyServlet</servlet-name>
        <url-pattern>/mypage/*</url-pattern>
</servlet-mapping>
servlet的
标记不支持排除。这是Servlet规范的一个限制。
您必须在
过滤器中以编程方式创建此功能,servlet的
标记不支持排除。这是Servlet规范的一个限制。

您必须在
过滤器中以编程方式创建此功能

您必须使用名为
拦截器的
Spring MVC
过滤器

如果您编写自己的
拦截器
,您有两个选项,如下所示:

1。选项:

使用
postHandle()
方法检查您的状况。如果使用
postHandle()
方法,您可以访问
ModelAndView
,如果您的url与3个url中的一个不匹配,您只需抛出
异常
或更改
ModelAndView

2。选项:

使用
preHandle()

ModelAndView定义异常(新ModelAndView(“errorPage”)
您必须使用名为
拦截器的
Spring MVC
过滤器

如果您编写自己的
拦截器
,您有两个选项,如下所示:

1。选项:

使用
postHandle()
方法检查您的状况。如果使用
postHandle()
方法,您可以访问
ModelAndView
,如果您的url与3个url中的一个不匹配,您只需抛出
异常
或更改
ModelAndView

2。选项:

使用
preHandle()
ModelAndView定义异常(新ModelAndView(“errorPage”)

@RequestMapping(method = RequestMethod.GET)
public String getView(HttpServletRequest request, @ModelAttribute("myform") final MyForm form)  {
        return "myview";
}
@ResponseBody
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@POST
@RequestMapping(value = "/save")
public String onSave(@RequestBody MyForm form, HttpServletRequest request, HttpServletResponse response)  {
        return "saved";
}