Java Spring MVC 3.1.1外部资源不工作
我在映射外部资源时遇到问题。具体而言,在我的app-servlet.xml中,我有以下内容:Java Spring MVC 3.1.1外部资源不工作,java,spring,spring-mvc,Java,Spring,Spring Mvc,我在映射外部资源时遇到问题。具体而言,在我的app-servlet.xml中,我有以下内容: <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="cookieName" value="lang"/>
<property name="defaultLocale" value="en"/>
</bean>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/**"/>
<bean id="localeChangeInterceptor" class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang"/>
</bean>
</mvc:interceptor>
</mvc:interceptors>
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="file:C:/Users/username/Desktop/translations/translation"/>
</bean>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
<property name="messageConverters">
<array>
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes" value="text/plain;charset=UTF-8"/>
</bean>
</array>
</property>
</bean>
<mvc:resources mapping="/content/**" location="file:C:/Users/username/Desktop/content/"/>
<!-- <mvc:default-servlet-handler/>-->
<mvc:annotation-driven/>
My web.xml
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
应用程序
org.springframework.web.servlet.DispatcherServlet
1.
应用程序
/
我尝试了任何可能的组合,也尝试了使用和不使用
的组合,但是当我尝试访问带有外部资源的页面时,我在浏览器的“网络”选项卡中看到应用程序返回200,但未加载内容
我在ResourceHttpRequestHandler类中添加了一个断点,并显示方法setLocations(List locations)
在启动时被调用,但是HandlerRequest(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,当我尝试从加载内容时,例如http://localhost:8080/app/content/testImage.png
日志也没有暗示什么
我还尝试通过Tomcat server.xml映射外部位置,但没有结果
知道为什么会发生这种情况吗?对于初学者,请删除org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
声明。这干扰了
。我也试过了,但没用。尽管如此,它干扰了
,不应该出现在那里。另外,请确保您没有一个控制器捕获所有不匹配的内容或映射到/content
的内容,而不是内容处理程序。我明白了。此外,所有控制器都不会干扰/content
映射。请确保这一点。还可以启用调试或跟踪日志记录以实际查看处理请求的内容。对于初学者,请删除org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter
声明。这干扰了
。我也试过了,但没用。尽管如此,它干扰了
,不应该出现在那里。另外,请确保您没有一个控制器捕获所有不匹配的内容或映射到/content
的内容,而不是内容处理程序。我明白了。此外,所有控制器都不会干扰/content
映射。请确保这一点。还可以启用调试或跟踪日志记录,以实际查看是什么在处理您的请求。