struts 2
简介 :基于mvc的web应用框架
其他mvc框架Spring MVC、JSF等
Struts1:Apache的开源项目、世界上最早发布的mvc框架。
缺点:对视图(jsp)的支持比较单一, Struts1完全基于Servlet API,与Servlet API严重耦合,难于测试。
webwork:
优点:支持更多的视图技术,松耦合,让框架不再与Servlet API耦合在一起了。
struts 2:=struts1的知名度和市场+webwork的技术(核心)。
优点:1、实现mvc模式,结构清晰 2、丰富的标签(tag)3、通过配置文件页面导航,便于后期维护 4、与Servlet API松耦合,便于测试。
将请求和展现分离。
搭建struts2开发环境
1、struts2开发包获取 http//struts2.apache.org/download.cgi struts2.3.4.1-all.zip
2、应用jar包 3、创建web.xml 4、创建struts2.xml
struts2开发包内容简介:
spps文件夹:存放struts2的示例应用 docs:存放struts2的相关文档、帮助文档等。 lib:存放struts2框架的核心类库以及struts2的第三方插件类库
src:存放struts2的全部源代码
struts2jar包介绍
commons-fileupload-1.2.2.jar Struts文件的上传和下载。
commons-io-2.o.1.jar 文件读取
commons-lang3-3.1.jar 为java.lang包提供扩展
freemarker-2.3.19.jar FreeMarker是一个模板引擎,一个基于模板生成文本输出的通用工具
ognl-3.0.5.jar 支持ognl表达式
struts2-core-2.3.4.1.jar Struts2的核心包
xwork-core-2.3.4.1.jar xwork核心包
javassist-3.11.0.ga.jar 分析、编辑和创建java字节码的类库
可以将所需jar包组成一个user library一起引入
3、struts2 流程分析
用户输入请求url--tomcat接受并确定webapplication--访问web.xml--根据用户输入的url去匹配对应struts2.xml
1、用户的url对应的是struts2.xml的namespace和action的name属性:如:/hello.jsp 对应namespace="/" action name="hello"
2、struts2。xml起到了核心的配置作用
3、struts2将展现和处理分离,更加灵活
4、创建action
1、普通java类,编写public String execute()方法
2、实现Action接口 ,实现 重写execute()方法
3、普通java类继承ActionSupport类,重写execute()方法 最常用
struts2.xml <constant>标签 <constant name="struts.devMode" value="true"> 表示开发模式,修改 struts.xml时可以不用重启tomcat服务