struts2简单使用

简介

Struts2 是一个非常优秀的MVC框架,由传统Struts1和WebWork两个经典框架发展而来。

优点

Action的execute 方法不再与ServletAPI耦合,更易测试

支持更多视图技术(JSP、FreeMarker、Velocity)

基于Spring AOP思想的拦截器机制,更易扩展

更强大、更易用输入校验功能

Struts2所处的位置:

struts2目录结构

apps 该文件夹包含了基于struts2 的示例应用,这些示例应用对于学习者是非常有用的

docs 该文件夹下包含了struts2 相关文档,包括struts2快速入门、struts2的文档以及API文档等

lib 该文件夹下包含了Struts2框架和核心类库,以及struts2第三方插件类库

src 该文件夹下包含了Struts2框架的全部源代码

 

注意:开发时没必要将lib目录下jar文件全部复制到项目中,根据需要即可。

Struts运行的核心jar包

struts2-core-2.3.1.1.jar:Struts 2框架的核心类库

xwork-core-2.3.1.1.jar:Command模式框架,WebWork和Struts2都基于xwork

ognl-3.0.3.jar:对象图导航语言(ObjectGraph Navigation Language),struts2框架通过其读写对象的属性

freemarker-2.3.18.jar:Struts 2的UI标签的模板使用FreeMarker编写

commons-logging-1.1.x.jar:ASF出品的日志包,Struts2框架使用这个日志包来支持Log4J和JDK 1.4+的日志记录。

commons-fileupload-1.2.2.jar: 文件上传组件,2.1.6版本后需要加入此文件

commons-io-2.0.1.jar:传文件依赖的jar包

commons-lang-2.5.jar:对java.lang包的增强

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>

默认配置文件

Struts2的配置文件加载顺序

1、default.properties 该文件保存在struts2-core-2.3.7.jar 中 org.apache.struts2中

2、struts-default.xml 该文件保存在struts2-core-2.3.7.jar

3、struts-plugin.xml 该文件保存在struts-Xxx-2.3.7.jar(struts2的插件jar包中)

4、struts.xml 该文件是web应用默认的struts配置文件

5、struts.properties 该文件是Struts的默认配置文件。构建路径的顶端

6、web.xml应用的配置文件

 

注意:按照从1到6的顺序加载配置文件。后面的内容会覆盖前面的内容。1和2和3都在框架或插件提供的jar中,不需要我们直接改。我们必须通过编写struts.xml和struts.properties和web.xml来覆盖对应属性。相当于java中的继承。

 

使用流程

1.解决配置文件无提示

导入dtd


需要编写的文件

1、配置文件:指挥控制器运作

2、动作类:处理逻辑

3、JSP:展现结果

编写struts.xml

拷贝配置文件约束。及配置文件头。

struts.xml配置文件的内容标签

1、package:

作用:分模块化开发。

属性:name:包的名称。必须唯一。必须有

extends:一般都需要直接或间接继承一个叫做struts-default(struts-default.xml中有定义)的包名。因为,struts框架的一些核心功能配置都在此处。

abstract:如果为true,说明是一个抽象包。说明让别人去继承。没有任何action子元素的包就可以定义为抽象包。

namespace:名称空间。一般以"/"开头,和动作名称一起,构成了用户的访问路径。

比如:


2、action:

作用:配置动作。用户什么请求,执行哪个类,及哪个类的方法。

属性:name:动作名称。必须的。包中要唯一。

class:动作类的全名。可以不指定,默认值是com.opensymphony.xwork2.ActionSupport

method:执行的动作类的动作方法。可以不指定,默认值是execute。


说明:可以覆盖掉默认的动作类。


3、constant配置:

推荐覆盖常量办法:在struts.xml中使用constant标签。

作用:配置常量的值。

struts2的常量都在default.properties配置文件中做了定义(struts2-core.jar/  org.apache.struts2包中)

常用的常量:

struts.i18n.reload = true 国际化配置文件更改后,自动加载。

struts.configuration.xml.reload = truestruts配置文件更改后,自动加载

struts.devMode = false 如果为true,开启开发模式 .实际运行应该为false

struts.i18n.encoding=UTF-8 应用使用的编码。

struts.action.extension=action,,  struts2框架真正执行的url地址后缀。多个用逗号分隔

struts.serve.static.browserCache=true 静态资源告知浏览器不要缓存。

Expires:-1;Cache-Control:no-cache;Pragma:no-cache

4、包含其他的配置文件

<includefile="user.xml"></include>

Struts执行流程图


动作类执行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值