• springMVC下jsp引用外部js,css等静态资源的解决方法


    直入主题.

    1. web.xml对springMVC配置如下:

     1     <servlet>
     2         <description>Spring MVC配置</description>
     3         <servlet-name>springmvc</servlet-name>
     4         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
     5         <load-on-startup>1</load-on-startup>
     6         <init-param>
     7             <param-name>contextConfigLocation</param-name>
     8             <param-value>classpath:res/springMVC.xml</param-value>
     9         </init-param>
    10     </servlet>
    11     <servlet-mapping>
    12         <servlet-name>springmvc</servlet-name>
    13         <url-pattern>/</url-pattern>
    14     </servlet-mapping>

    springMVC.xml配置

     1     <context:component-scan base-package="sps.controller"/>
     2     <context:annotation-config/>
     3 
     4     <mvc:annotation-driven />
     5    
     6     <bean id="requestHandler" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
     7         <property name="useSuffixPatternMatch" value="false"/>
     8     </bean>
     9     <bean id="requestAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    10         <property name="synchronizeOnSession" value="true"/>
    11     </bean>
    12 
    13     <bean id="internalresolver"
    14           class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    15         <property name="prefix" value="/WEB-INF/views/"/>
    16         <property name="suffix" value=".jsp"/>
    17     </bean> 

    2. 我的web工程目录,js,css等静态资源放在工程根目录下,不在WEB-INF中

    3.index.jsp中引用js,css的方式

    4.@Controller

    5.发布到tomcat之后,访问localhost:8080/app/index,发现css和js没有被引用。

    原因是:

    1     <servlet-mapping>
    2          <servlet-name>springmvc</servlet-name>         
    3          <url-pattern>/</url-pattern>
    4     </servlet-mapping>

    中url-pattern使用/ ,表示DispatcherServlet处理所有请求,也包括静态资源,这不是我们所希望的。

    怎么让DispatcherServlet不去处理静态资源的请求?

    方式一:使用web.xml

    1     <servlet-mapping>
    2         <servlet-name>default</servlet-name>
    3         <url-pattern>*.css</url-pattern>
    4     </servlet-mapping>
    5     <servlet-mapping>
    6         <servlet-name>default</servlet-name>
    7         <url-pattern>*.js</url-pattern>
    8     </servlet-mapping>

    web.xml中添加以上mapping就可以了。

    方式二:springMVC.xml添加

     1 <mvc:default-servlet-handler /> 

    方式三:springMVC.xml添加

     1 <mvc:resources mapping="/js/**,/css/**" location="/js/,/css/"/> 

    可是方式三怎么都不起作用.

  • 相关阅读:
    TypeScript02 方法特性【参数种类、参数个数】、generate方法、析构表达式、箭头表达式、循环
    TypeScript01 编译环境的搭建、字符串特性、类型特性
    Angular04 组件动态地从外部接收值、在组件中使用组件
    Angular03 将数据添加到组件中
    Angular02 通过angular-cli来搭建web前端项目
    Angular01 利用grunt搭建自动web前端开发环境、利用angular-cli搭建web前端项目
    IDEA01 创建java项目、创建web项目
    Struts2框架07 Struts2 + Spring + Mybatis 整合
    素数应用
    二重指针实现排序
  • 原文地址:https://www.cnblogs.com/selfchange/p/6255240.html
Copyright © 2020-2023  润新知