【问题标题】:Spring MVC RequestMapping confusionSpring MVC RequestMapping 混淆
【发布时间】:2012-04-10 14:24:47
【问题描述】:

我在使用 Spring MVC RequestMapping 时遇到问题,我希望有人可以就如何继续向我提供建议。

我正在使用旧客户端访问的服务器。客户端发送简单的请求(见下文),但不能以任何方式更改以适应新服务器。

客户端发送格式为 /dbintf?command=GETINFO,acctNum=111 的获取或帖子 服务器名为 dbintf,它返回一个简单的文本响应。

我想为每个命令创建一个 Spring 控制器,并用注解单个控制器方法 基于命令参数的参数映射。所以 GETINFOController 中的映射将是:

@RequestMapping(params="command=GETINFO")
public String serviceRequest(....

但是,我无法让它工作。以下是该服务的一些详细信息。

web.xml中的servlet映射:

<servlet-mapping>
    <servlet-name>dbintf</servlet-name>
    <url-pattern>/</url-pattern>
</servlet-mapping>

intf-servlet.xml 中的注解扫描指令

<context:component-scan base-package="com.intf.controller" />   
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

我一直在尝试各种不同的组合来尝试让这个方案发挥作用,我会煮这个 试错法可以归结为两个例子:

这不起作用。响应是:“请求的资源()不可用。”

@RequestMapping( params="command=GETINFO")
public class TESTController  {
    @RequestMapping( method = RequestMethod.GET)
    public String serviceRequest

如果我更改 url 以添加另一个级别:/dbintf/test?command=GETINFO,acctNum=111 如果我将 URL 模式添加到处理程序方法注释中,它会起作用。

@RequestMapping( params="command=GETINFO")
public class TESTController  {
    @RequestMapping( value="/test",method = RequestMethod.GET)
    public String serviceRequest

这让我觉得单独的参数映射是行不通的。好像有个网址 模式必须是任何映射方案的一部分。然而,就我而言,没有 URL 模式可用,因为客户端请求 URL 固定为:dbintf?....。 我的问题:是否可以单独使用基于参数的映射而不是 结合模式?如果是这样,我错过了什么?

提前感谢您的任何帮助或建议, 狡猾的

【问题讨论】:

    标签: spring-mvc


    【解决方案1】:

    我没有在您的配置中看到您将控制器映射到“/dbintf”的位置?您的 DispatcherServlet(假设“dbintf”servlet 是您的 DispatcherServlet)仅映射到“/”,而不是“/dbintf”。您是否正在部署您的 web 应用程序,以便它可以在相对于容器的“/”的“/dbintf”中使用?我想我想要得到的是你可能只需要在你的@RequestMapping 中添加一些配置:

    @RequestMapping(value="/dbintf", params="command=GETINFO")
    

    【讨论】:

      猜你喜欢
      • 2021-12-13
      • 2015-06-22
      • 2011-07-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多