我有这两个控制器:
@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>
- 控制器方法调用,我看到了很好的结果。
如何使用第一种样式重写它?