首先,要了解Struts2框架中参数传递的大体流程:
服务器端的Web容器收到用户的请求(URL)——Struts2的核心控制器FilterDispatcher接受用户发起的请求,然后判断这个请求是交给action还是交给web组件来处理;如果请求的action或web组件不存在,就会报错404。在整个处理过程中,需要一个辅助对象: ActionMapper ,它会确定调用哪个Action——相应的action会根据struts.xml的配置信息(首先执行拦截此action的所有拦截器,然后再执行请求的action对象;在这个处理过程中需要辅助对象:Action代理类ActionProxy)配置管理器(ConfigurationManager)——Action执行完毕之后,返回一个结果(此结果用字符串来表示),这个结果经过拦截Action的所有拦截器之后,返回给主控制器。主控制器根据此结果从配置文件中找到真正的路径,然后将请求转发给相应的视图。视图根据持久层作出相应的反应。整个参数传递的流程就结束了。
其次,导入Struts所需的jar文件。
Struts2要使用一些jar包文件,开发业务需求不一样,所需的包配置也不一样,以下这些包是最基本的,(一般情况下这些包也够用了),所需包的放置位置是\WebRoot\WEB-INF\lib:
其中
struts-core-2.jar 是Struts 2 框架的核心类库
xwork-core.jar 是XWork类库,Struts 2 在其上构建
ognl.jar 是 Object Graph Navigation Language , Struts 2 框架通过其读写对象的属性。
freemarker.jar 是Struts 2 的UI标签的模版使用 Freemarker编写。
commons-logging.jar 是ASF出品的日志包。
commons-fileupload.jar 是文件上传组件。
导包完成后要创建Struts.xml,这是Struts 2 的核心配置文件,主要用于配置开发人员编写的action。
该配置文件通常放在src下,下面通过一个Struts.xml文件,详细分析一下这个核心配置文件:
[html] view plain copy