Java 如何正确映射servlet?
我有两个控制器:Java 如何正确映射servlet?,java,servlets,spring-mvc,configuration,Java,Servlets,Spring Mvc,Configuration,我有两个控制器: @Controller @RequestMapping("/controllerPath") public class MyController { @RequestMapping("/sayHello") public String sayHello(Model model){ ... } } 第一个控制器呈现给jsp 第二个返回JSON 因此,我希望这个控制器有不同的配置 我在web.xml中编写了以下内容: <serv
@Controller
@RequestMapping("/controllerPath")
public class MyController {
@RequestMapping("/sayHello")
public String sayHello(Model model){
...
}
}
第一个控制器呈现给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>
mvc调度器
org.springframework.web.servlet.DispatcherServlet
1.
mvc调度程序rest
org.springframework.web.servlet.DispatcherServlet
1.
mvc调度器
/控制器路径/*
mvc调度程序rest
/restControllerPath/*
当我从浏览器发送http请求时,我看到404
如果我只对一个servlet使用so样式(如下所示):
<servlet-mapping>
<servlet-name>mvc-dispatcher-rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
mvc调度程序rest
/
- 控制器方法调用,我看到了很好的结果
如何使用第一种样式重写它?mvc dispatcher和
mvc dispatcher rest
都加载相同的servlet
因此,您不需要两个条目。只需使用一个条目,并将根上下文映射到servlet。上一个问题中发生了什么变化?另一个公式。我希望Clearler使用这两个servlet的原因是什么?不同的*-servlet.xml和关于映射的问题,您的建议-offtopic但是一个使用mvc-dispatcher-servlet.xml,另一个使用mvc-dispatcher-rest-servlet.xml您应该能够组合xml文件。这是一个问题吗?我想有两个不同的xml文件。我认为模式中的错误是的,但这次尝试失败了
<servlet-mapping>
<servlet-name>mvc-dispatcher-rest</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>