我在Spring MVC RequestMapping中遇到了问题,我希望有人可以给我如何继续的建议。Spring MVC RequestMapping混淆
我正在处理一个将被旧客户端访问的服务器。客户发送简单的请求(见下文),但无法以任何方式更改以适应新的服务器。
客户端发送获取或形式/dbintf?命令= GETINFO的帖子,ACCTNUM = 111 服务器称为dbintf,它返回一个简单的文本响应。
我想为每个命令创建一个Spring控制器,并用 注释一个基于命令参数的params映射的单个控制器方法。所以在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命令= GETINFO,ACCTNUM = 111 它的工作原理,如果我一个URL模式添加到处理程序方法的注释。
@RequestMapping(params="command=GETINFO")
public class TESTController {
@RequestMapping(value="/test",method = RequestMethod.GET)
public String serviceRequest
这让我觉得,params映射本身将无法正常工作。看起来,URL 模式必须是任何映射方案的一部分。但是,对于我的情况,由于客户端请求URL被修复为:dbintf?....,因此没有可用的URL地址 。 我的问题:是否可以单独使用基于参数的映射而不是 与模式结合使用?如果是这样,我错过了什么?
预先感谢任何帮助或建议, beeky