前面我们学习了如何快速搭建SSH框架,那么我们现在就有必要来分别学习了解一下SSH框架中每一部分的相关知识。
1、Struts2框架介绍
Struts2框架是MVC流程框架,适合分层开发。框架应用实现不依赖于Servlet,使用大量的拦截器来处理用户请求,属于无侵入式的设计,提供了强大了拦截器和类型转换以及支持多种视图层框架比如JSP等等,以及用户输入对特定的方法进行校验。还有很多其他的特点在后面我会具体给大家介绍到。
2、Struts2框架的流程原理
Struts2的特点介绍后我们就需要了解一下他的工作原理才能应用在实际的应用中。
1)请求先到达Filter过滤器,
2)过滤器根据struts配置文件mapper到对应的action
3)然后为Action创建代理类
4)将各个服务存放在拦截器中,执行完拦截器后再去执行action类行action类,action类调用service,再调用dao(三层结构控制)。
5)得到结果字符串,创建result对象
6)转向相应的视图。
3、Struts2框架准备
要想使用Struts2框架我们需要准备jar包以及配置文件:
第一步:首先就是框架所需要的jar以及一些jar包的介绍(各位童鞋视自己的版本而定,不一定非得是下面所列版本)
commons-fileupload-1.2.1.jar ----->文件上传
commons-io-1.3.2.jar ----->文件上传
freemarker-2.3..15.jar ----->试图展现技术
ognl-2.7.3.jar ----->对象图形导航语言,用于数据库操作
struts2-core-2.1.8.1.jar ----->框架核心包
xwork-core-2.1.6.jar ----->WebWork框架核心包
第二步:两个配置文件
struts.xml 配置文件在根目录src下面,配置文件内容如下:
- <?xml version="1.0" encoding="UTF-8" ?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- <package name="test" namespace="/test" extends="struts-default">
- <action name="HelloWorld" class="com.test.HelloWorldAction">
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
代码说明:访问/test/HelloWorld.action对应执行com.test包下面的HelloWorldAction类;默认情况下执行类中的execute方法,如果想指定方法,需要在<action>标签中添加method属性;<result>标签配置结果跳转路径。根据Action类中方法返回的String字符串,去匹配result标签中的name值,进行跳转。
在web.xml文件中配置核心控制器
- <!-- 配置框架的核心调度器 -->
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>