我需要在Spring MVC项目中添加多个控制器,现在只有一个。我当前的项目在web.xml中只有一个SpringDispatcher,它映射了 / 到' /'控制器 @RequestMapping(value =" /") 启动控制器。因为一切都在一个web.xml中,并且没有其他xml文件可以执行任何调度程序映射,所以我不能只添加一个新的 / 使用与web.xml不同的控制器模式?下面是web.xml和一个工作控制器。
的web.xml
SELECT * FROM your_table WHERE name LIKE 'Apple% m%' COLLATE utf8_bin ORDER BY name;
HomeController.java
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>SpringMvcJdbcTemplate</display-name>
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>SpringDispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>net.codejava.spring</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringDispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>30</session-timeout>
</session-config>
</web-app>
答案 0 :(得分:0)
首先,此映射应仅适用于应用程序根目录。如果您想要应用程序根目录下的任何路径,请使用 / *
现在,在您的情况下,只有在您打开浏览器指向Web应用程序根目录时才会调用spring调度程序,而不指定任何路径,因为我猜可能不是您想要的。因此,使用/ *将所有请求转发给spring调度程序并使用控制器中的任何请求映射