WebWork有两个主要配置文件:
web.xml 和 xwork.xml.在下面您可以找到WebWork必须和可选的配置文件的所有信息.
下面是您需要注意的所有文件.为了使开发更容易,其中的一些是可以动态重新加载的.
| 文件 | 可选 | 位置(相对于webapp) | 用途 |
|---|---|---|---|
| web.xml | 否 | /WEB-INF/ | Web部署描述,包括所有必须的WebWork组件 |
| xwork.xml | 否 | /WEB-INF/classes/ | 主要配置,包括result/view类型,action影射,拦截器等 |
| webwork.properties | 是 | /WEB-INF/classes/ | WebWork的属性配置 |
| webwork-default.xml | 是 | /WEB-INF/lib/webwork-x.x.jar | xwork.xml中应该有的默认配置 |
| velocity.properties | 是 | /WEB-INF/classes/ | velocity配置 |
静态内容
webwork需要的公共静态内容(JavaScript和CSS文件等)是由FilterDispatcher过滤器自动提供的.任何以"/webwork/"开始的请求被认为是静态内容,"/webwork/"后面的值会被影射到classpath下的WebWork公共包
默认情况下,系统会搜索以下包:
- com.opensymphony.webwork.static
- template
附加包可以通过设定packages参数(web.xml中FilterDispatcher过滤器的配置)来指定,这个参数是以逗号分割的列表.当指定附加的静态内容时,注意不要暴露敏感信息(如,数据库密码等).
web.xml
如果要用到WebWork的最新特性并且不需要考虑向后兼容问题,您只需要在web.xml中添加一个单独的过滤器.如果要用JSP的话,还需要一个添加标签库.但是如果是从2.1.7或更早的版本升级的Web应用程序,那么需要做更多的工作使程序能够正常运行.更多信息请查看web.xml 2.1.x兼容性.
过滤器配置如下:
<
filter
>
<
filter-name
>
webwork
</
filter-name
>
<
filter-class
>
com.opensymphony.webwork.dispatcher.FilterDispatcher
</
filter-class
>
</
filter
>
<
filter-mapping
>
<
filter-name
>
webwork
</
filter-name
>
<
url-pattern
>
/*
</
url-pattern
>
</
filter-mapping
>
<
listener
>
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
</
listener
>
注意:
url-pattern以前使用ServletDipatcher的时候,url-pattern是“*.action”,现在改成“/*”。因为Filter不但对action拦截,而且对其他类型的url也要拦截。指定action扩展名挪到了webwork.properties里面:
引用 webwork.action.extension = action
这样改为了支持Ajax一些特殊的URL,例如:/webwork/……是去请求服务器端dojo JS库,所以url-pattern一定要改,并且区分不同的请求,究竟是action还是/webwork/普通资源,FilterDispatcher会根据不同的情况执行不同的操作。
如果要用到JSP,标签库配置如下:
<!--
一般来说这个配置不是必需的,因为标签库已经被包括在webwork.jar中了.
如果您真的需要在web.xml中配置标签库,可以把webwork/src/java/META-INF/taglib.tld文件复制为您的应用程序的WEB-INF目录下,命名为webwork.tld
-->
<
taglib
>
<
taglib-uri
>
webwork
</
taglib-uri
>
<
taglib-location
>
/WEB-INF/webwork.tld
</
taglib-location
>
</
taglib
>
web.xml文档实例:
<?
xml version="1.0" encoding="UTF-8"
?>

<
web-app
id
="WebApp_9"
version
="2.4"
xmlns
="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>

<
display-name
>
Struts Test
</
display-name
>

<
filter
>

<
filter-name
>
struts2
</
filter-name
>

<
filter-class
>
org.apache.struts2.dispatcher.FilterDispatcher
</
filter-class
>

</
filter
>

<
filter-mapping
>

<
filter-name
>
struts2
</
filter-name
>

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

</
filter-mapping
>

<
welcome-file-list
>

<
welcome-file
>
index.jsp
</
welcome-file
>

</
welcome-file-list
>

</
web-app
>

本文详细介绍了WebWork框架的核心配置文件web.xml和xwork.xml的作用及位置,解释了如何通过FilterDispatcher处理静态内容请求,以及如何配置webwork.properties来支持特殊URL需求。
204





