Struts2是Apache发行的开源框架,是一个表现层web(MVC)框架。
Struts1:
Struts1也是apache开发的一套MVC框架,在2005年之前非常流行,其核心控制器是一个servlet,随着使用者的增多,弊端开始出现。
Struts2:
在以前有一个设计超前的框架XWork,后来推出XWork1和WebWork2,Sruts2就是apache和OpenSymphony组织合并开发出来。Struts2包含WebWork2的核心以及Struts1一些特性和功能,除此之外,与Struts1没有任何关系。
开发环境搭建
下载Struts2地址:http://struts.apache.org
下载解压后目录结构如下
apps 官方提供的案例Demo
docs 官方提供的文档
lib 官方提供的jar包
src 源码
dtd xml约束文件
对于首个Struts2项目jar包导入,可以进入apps目录下,找到struts2-blank.war项目,这是一个官方提供的Struts2空白项目,解压后(可以将项目放到tomcat webapps目录下,启动tomcat,tomcat就会将此项目解压),在WEB-INF下的lib目录下就是Struts2项目所需最基本的jar包,对于首个项目创建只需导入这些即可
jar包介绍
将struts2-blank目录下的classes目录下的struts.xml添加进自己创建web项目src目录中然后删除stuts标签所有内容,所需内容后续配置
在web.xml文件中需要配置struts核心过滤器
配置过滤器目的是用于拦截请求,由Struts的规则去处理请求,而不是以前servlet处理
Struts配置Action
在struts中配置package和action
写一个HelloAction类,需要写个hello方法
在WebContent目录下新建一个demo1目录并在目录下新建success.jsp文件
运行项目得到结果
首个项目搭建成功
为了在struts配置文件中能提示标签信息,需要将struts约束文件导入到eclipse中
首先复制http://struts.apache.org/dtds/struts-2.3.dtd,然后在eclipse中点击window,再选择preferences,然后找到XML CATALOG,点击Add进行添加,配置如下
配置完成保存后,在struts配置文件中写struts标签时会有提示
Struts2架构图
struts2有很多配置文件,当应用被tomcat加载的时候,struts2的配置文件就已经被加载过了
文件加载顺序
修改struts访问后缀
第一种方式添加如下一行就会修改访问路径后缀,因为struts加载配置文件是按顺序的,后加载的配置文件会覆盖前面文件相同的配置信息
第二种方式在src目录下创建一个struts.properties
在这个文件添加如下一行
struts.action.extension=htm
同样会覆盖struts.xml文件的配置
第三种配置方式,在web.xml文件中为struts2核心控制配置初始化参数
在struts.xml配置开发者模式为true
开发者模式好处是有更详细的错误信息