Struts2学习:配置篇之静态内容

struts2框架中有一些它所需要的公共的静态内容,比如说js文件和一些css文件。当框架需要这些静态内容的时候,FilterDidpatcher会自动提供给我们。那么FilterDidpatcher是如何知道我们在请求静态内容的呢?任何请求只要以“/struts/”开头,那么FilterDidpatcher就会认为它是在请求静态内容。注意这里所说的请求是指从应用上下文后面开始的部分,比如说请求urlhttp://server/myapp/**/**/**,那么我们所说的请求就是http://server/myapp后面的内容。在识别出请求是请求静态资源后FilterDidpatcher如何去匹配寻找静态资源呢?这里有两个关键点:

1.确定所要请求的资源路径。FilterDidpatcher会截取/struts/后面的内容作为所要请求的资源。比如说现在请求是/struts/xhtml/styles.css,那么FilterDidpatcher就会把xhtml/styles.css作为我们所要请求的资源的路径:xhtml目录下面的styles.css文件。

2.到哪儿去寻找所请求的静态内容。默认情况下FilterDidpatcher会随意的到org.apache.struts2.statictemplate这两个包中去寻找,注意,这两个包必须是在应用程序的classpath。实际上大家用winrar打开strts2.jar,就会发现它里面有这两个目录,并且里面都是框架自带的一些静态文件。如果我们还想在别的其它包中寻找静态内容的话,那就需要在web.xml配置中FilterDidpatcher时,给它添加一个参数”packages”,然后把它的值设置为一系列以逗号或者空格分隔的包名,如下面所示:

<filter>

       <filter-name>Struts2</filter-name>

       <filter-class>

    org.apache.struts2.dispatcher.FilterDispatcher

</filter-class>

<init-param>

    <param-name>packages</param-name>

    <param-value>com.mangocity.static,hust.cm</param-value>

</init-param>

    </filter>

    <filter-mapping>

       <filter-name>Struts2</filter-name>

       <url-pattern>/*</url-pattern>

    </filter-mapping>

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值