【发布时间】:2014-12-10 04:00:07
【问题描述】:
我正在尝试创建一个 Spring MVC 应用程序,我的 web.xml 中有多个调度程序 servlet,如下所示:
<servlet>
<servlet-name>one-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:appServlet/one-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>one-servlet</servlet-name>
<url-pattern>/one/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>two-servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:appServlet/two-context.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webapp-servlet</servlet-name>
<url-pattern>/two/*</url-pattern>
</servlet-mapping>
一切都很好,除了一件事 我在我的 jsp 文件中使用的 url,如下所示:
<c:url value="/user" />
不返回dispatcher servlet的映射,我的意思是我需要一个像myapp/one/user这样的url来使用来自one-servlet的控制器,但我得到的url是myapp/user
是否有可能将调度程序 servlet 映射附加到我的 url 而无需将它们硬编码到 jsp 文件中?
【问题讨论】:
-
改用spring url标签。
-
@M.Deinum 与
的结果相同 -
只有当请求在
DispatcherServlet中处理时才有效,它也不适用于交叉DispatcherServlet通信(所以如果你在/one并期望/user/成为/two/user这行不通)。 -
@M.Deinum 是的,我明白,我想在 servlet 中处理请求
标签: java spring spring-mvc servlets model-view-controller