SSM 设置静态资源处理

使用weblogic的虚拟路径virtual-directory-mapping 在页面上展现文件服务器上的图片

<weblogic-web-app> 
    ......省略其余部分
    <context-root>pad-sces</context-root> 
    <virtual-directory-mapping> 
    <local-path>D:/images</local-path> 
    <url-pattern>/poster/*</url-pattern> 
    </virtual-directory-mapping> 
</weblogic-web-app>

这里用D:/images/poster/xxx.jpg 来表示文件服务器上的文件存放路径。css

用<img src="http://localhost:7001/pad-sces/poster/xxx.jpg"/>来展现图片html

不过,这样有个弊端就是,咱们这边采用的是自动化移交部署,要求测试环境和生产环境打在包里的内容一致,不一致的要使用变量的形式引用包外配置的properties文件中的属性值。咱们这个weblogic.xml是打在ear包中的,并且这个xml文件貌似不能读到properties中的文件,所以,咱们又考虑换一种Spring MVC中的 <mvc:resources>标签。web

spring-mvc里的 <mvc:resources> 及静态资源访问

  1. 另外使用一个servlet来处理静态资源。若咱们的资源放置在webapps文件夹下的resources文件夹中,那么咱们能够用名字为default的servlet来处理静态资源。所以咱们还须要在上述配置的基础上加上如下配置:
<servlet-mapping>  
    <servlet-name>default</servlet-name>
    <!--<url-pattern>*.js</url-pattern>-->
    <url-pattern>resources/*</url-pattern>  
</servlet-mapping>
  1. 采用spring自带<mvc:resources>方法。首先找到你定义的那个servlet的xml文件,如本例子中,servlet的名字叫mvc-dispatcher,所以须要找到mvc-dispatcher-servlet.xml文件,并在该文件中插入如下配置:
<mvc:annotation-driven/>  
<mvc:resources mapping="/resources/**/" location="/resources/"/>

如此就没必要另外添加一个mvc来处理静态资源。而mvc知道静态资源所处的位置为resources文件夹。spring

两种方法均可以将spring mvc配置处理静态资源。spring-mvc

在SpringMVC3.0以后推荐使用<mvc:resources>方法服务器

<mvc:annotation-driven />
<mvc:resources location="/img/" mapping="/img/**"/>   
<mvc:resources location="/js/" mapping="/js/**"/>    
<mvc:resources location="/css/" mapping="/css/**"/>

说明:mvc

location元素表示webapp目录;app

mapping元素表示以/static开头的全部请求路径,如/static/a 或者/static/a/b;webapp

该配置的做用是:DispatcherServlet不会拦截以/static开头的全部请求路径,并看成静态资源post

交由Servlet处理。 例如:http://localhost:8080/static/a


参考:

https://blog.csdn.net/yansong_8686/article/details/47355093

http://www.javashuo.com/article/p-xbzyoyjy-ka.html

相关文章
相关标签/搜索