我的web.xml代码如下。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>rest.service</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>*.abc</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.form</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>redirect.jsp</welcome-file>
</welcome-file-list>
<jsp-config>
<taglib>
<taglib-uri>wcm_rates</taglib-uri>
<taglib-location>/WEB-INF/lib/wcm-rates.tld</taglib-location>
</taglib>
</jsp-config>
</web-app>
在Spring MVC servlet上下文中,我添加了一些属性。我希望在调用任何REST URL时,这些属性将在servlet上下文中可用。
但令我惊讶的是,当调用REST URL时,这些属性不会出现。
我将属性添加为servletContext.setAttribute(xmlFile.getName(), map)
;并拉为request.getSession().getServletContext().getAttribute("test.xml");
我已经确认我使用相同的属性名称进行存储和拉取。
有人可以帮助我,以便我可以在Spring MVC和REST之间共享属性吗?
提前致谢。
答案 0 :(得分:0)
您可以直接从请求中获取ServletContext,为什么从会话中获取它
从
更改request.getSession().getServletContext().getAttribute("test.xml")
以强>
request.getServletContext().getAttribute("test.xml")
答案 1 :(得分:0)
您可以从以下范围之一设置/获取属性:
如果您使用servletContext.setAttribute(xmlFile.getName(), map);
,则意味着您要添加到应用程序范围。因此,要检索属性值,请使用servletContext.getAttribute("test.xml");
查看下面的链接以获取更多详细信息,