java - 配置 Spring MVC 以将 GET 请求映射到 Controller 中的一个方法,并将 OPTIONS 请求映射到另一个方法

标签 java spring http spring-mvc http-options-method

使用注解会很容易:

@Controller
public class MyController {

  @RequestMapping(value="/hitmycontroller", method= RequestMethod.OPTIONS)
  public static void options(HttpServletRequest req,HttpServletResponse resp){
    //Do options
  }
  @RequestMapping(value="/hitmycontroller", method= RequestMethod.GET)
  public static void get(HttpServletRequest req,HttpServletResponse resp){
    //Do get
  }
}

但我找不到如何在 XML 中执行此操作。是否有一些映射处理程序可以执行以下操作:

<bean id="handlerMapping"
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
      <mapping>
        <url>/hitmycontroller</url>
        <httpMethod>GET</httpMethod>
        <method>get</method>
        <controller>MyController</controller>
      </mapping>
      <mapping>
        <url>/hitmycontroller</url>
        <httpMethod>OPTIONS</httpMethod>
        <method>options</method>
        <controller>MyController</controller>
      </mapping>
  </property>
</bean>

如有任何指点,我们将不胜感激。

最佳答案

使用 SimpleUrlHandlerMapping 不可能指定 http 方法。可能您必须使用其他映射,例如 Spring MVC REST 项目中的 MethodUrlHandlerMapping (http://spring-mvc-rest.sourceforge.net/)。

使用 MethodUrlHandlerMapping 声明映射的方式应该是这样的:

<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    <property name="mappings">
        <props>
            <prop key="GET /hitmycontroller">MyController</prop>
            <prop key="OPTIONS /hitmycontroller">MyController</prop>
        </props>
    </property>
</bean>

你可以在他们的页面中看到这个例子:

http://spring-mvc-rest.sourceforge.net/introduction.html

请看第 2 部分。

关于java - 配置 Spring MVC 以将 GET 请求映射到 Controller 中的一个方法,并将 OPTIONS 请求映射到另一个方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17489660/

相关文章:

java - QueryDSL JPA 函数

java - Spring MVC 示例 Web 应用程序

php - 如何从同一个客户端对同一个页面执行多个 HTTP 请求

java - 更改正在使用的java版本

java - 不支持 TrueTypeFont.drawString()

java - ThreadPoolExecutor 的终结器未完成,导致内存泄漏

java - 使用 lombok 时是否应该实例化一个字段

java - 使用 AngularJS 将 URL 中的 RequestParams 传递到 Spring MVC 后端

.net - .NET 中的 HTTP 身份验证

multithreading - Swift:不断从服务器请求数据的最佳方式是什么