【发布时间】:2013-10-29 19:45:11
【问题描述】:
我有这两个控制器:
@Controller
@RequestMapping("/controllerPath")
public class MyController {
@RequestMapping("/sayHello")
public String sayHello(Model model){
...
}
}
@Controller
@RequestMapping("/restControllerPath")
public class RestController {
@RequestMapping (value = "importantObject", method = RequestMethod.GET)
@ResponseBody
public VeryImportantlClass getInformation(){
...
}
}
第一个控制器渲染到jsp
第二个返回 JSON。
因此我想为这个控制器设置不同的配置
我在 web.xml 中写了以下内容:
<servlet>
<servlet-name>mvc-dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>mvc-dispatcher-rest</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>mvc-dispatcher</servlet-name>
<url-pattern>/controllerPath/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>mvc-dispatcher-rest</servlet-name>
<url-pattern>/restControllerPath/*</url-pattern>
</servlet-mapping>
当我从浏览器发送 http 请求时,我看到 404
如果我只对一个 servlet 使用这样的样式(如下):
<servlet-mapping>
<servlet-name>mvc-dispatcher-rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
- 控制器方法调用,我看到了很好的结果。
如何使用第一种样式重写它?
【问题讨论】:
-
上一个问题有什么变化?
-
另一种表述。我希望更清楚
-
使用这两个 servlet 的原因是什么?
-
不同的*-servlet.xml
-
和关于映射的问题,你的建议 - 题外话
标签: java servlets spring-mvc configuration