Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring 获取CSS和设计相关内容的HTTP 404错误_Spring_Spring Mvc - Fatal编程技术网

Spring 获取CSS和设计相关内容的HTTP 404错误

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

我正在使用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.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>