Spring 获取CSS和设计相关内容的HTTP 404错误
我正在使用SpringMVC3.0。 Web.xml:Spring 获取CSS和设计相关内容的HTTP 404错误,spring,spring-mvc,Spring,Spring Mvc,我正在使用SpringMVC3.0。 Web.xml: springmvc表单处理 春天 org.springframework.web.servlet.DispatcherServlet 1. 春天 *.做 春天1 / index.jsp 注意:我有两个url模式,这就是为什么应用程序设计中断,我得到了 404 css和图像错误等 spring-servlet.xml: <bean class="org.springframework.web.servlet.view
springmvc表单处理
春天
org.springframework.web.servlet.DispatcherServlet
1.
春天
*.做
春天1
/
index.jsp
注意:我有两个url模式,这就是为什么应用程序设计中断,我得到了
404 css和图像错误等
spring-servlet.xml:
<bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
<bean id="messageSource"
class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
<property name="basename" value="classpath:messages" />
<property name="defaultEncoding" value="UTF-8" />
</bean>
<bean id="localeChangeInterceptor"
class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor">
<property name="paramName" value="lang" />
</bean>
<bean id="localeResolver"
class="org.springframework.web.servlet.i18n.CookieLocaleResolver">
<property name="defaultLocale" value="en" />
</bean>
<bean id="handlerMapping"
class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
<property name="interceptors">
<ref bean="localeChangeInterceptor" />
</property>
</bean>
所以我想让ResourcesHandler bean来解决这个问题。检查您的日志,您应该在以下行中有一个异常:
java.lang.IllegalArgumentException: Servlet mapping specifies an unknown servlet name spring1...
除非您遗漏了另一个servlet名称为spring1的servlet,否则请从web.xml中删除以下行并选中:
<servlet-mapping>
<servlet-name>spring1</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
春天1
/
利用Spring功能,该功能具有提供静态资源的有效方式。为此,您应该将下面的条目放在spring上下文中
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
up static resources in the ${webappRoot}/resources directory -->
<mvc:resources mapping="/resources/**" location="/resources/" />
您必须将css、js和图像文件放在webappRoot/resources文件夹中。还要删除用于服务静态资源的servlet映射。在您的例子中,保留下面的servlet映射,并从web.xml中删除spring1 servlet,因为它没有与任何目标servlet映射
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
春天
/
在JSP中,通过
为什么需要两个Spring servlet?有什么令人信服的理由吗?请给出spring1
servlet的定义。我建议阅读Spring文档中关于静态资源处理的章节:并升级到spring4。3.0已经过时了。我无法在spring-servlet.xml文件中添加标记。您是否在spring-servlet中导入了正确的名称空间?如果没有,请使用:
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>