struts2整理1

 Struts2是一种MVC模型的框架
model模型:处理业务逻辑
view视图:显示页面
controller控制器:模型与视图之间的桥梁。
  struts和struts2的关系,实际上并没有直接联系,struts2是struts和webwork联合并且以webwork为核心开发出的框架。
struts2的优势:好。
struts2的配置:
解压war包进入apps中的web-inf的lib中把所有jar导入相应的jar到项目的lib并且Struts.xml复制到项目的src下面。

书写一个普通的Java类,在里面可写一个execute方法,Struts2默认走的方法,可以写一个简单的方法,然后去Struts.xml中配置。

constant  用于重写struts内部的系统属性 ,键值的来源  参考org.apache.struts2 default.properties文件name  属性的键 vlaue  属性的值

package包标签,其中包括name属性,起一个唯一的包的名字,namespace命名空间,通常/,属于浏览器访问的路径中的一部分(namespace+actionName),extends继承一个包,只要是Struts的package就一定会直接或间接的继承Struts-default。Package中很多属性的值可以去Struts-default中找。

action标签属于package的子元素,配置或注册已有的Java类为Struts的action,action中的name属性,action的名称,是浏览器中可访问路径的一部分(namespace+actionName),class属性,action的class类,在进行反射调用的时候,会根据给定的路径进行实例化变量。Method属性,调用的业务方法,如果没写,默认execute,如果指定则默认该方法,将是我们指定的方法。

result结果处理,是action标签的子元素。name属性是返回的结果名称,就是action的方法的返回值的字符串,两边一定要相同。Type属性是结果处理的类型,包含chain、dispather、redirect、redirectAction、stream、json。

param用于指定该结果集的额外参数,是result的子标签,name属性是该结果处理的类里面的属性名称,标签之间是给定值。

Stream是结果处理标签的type一种类型,表示流,如果默认不指定该流的类型,则会按照文本类型进行处理,通常通过param标签告诉它 流是哪一个,告诉它流的类型,在action中的流的名称叫inputstream则可省略该设置。

Chain和redirectAction 

<param name="namespace"></param>  action所在的namespace

<param name="actionName"></param>  要访问的action名称

<param name="method"></param>  要访问的方法

chain    :转发到action上

dispatcher  :转发到页面上

redirect : 重定向到页面

redirectAction :重定向到action

type类型为json时,可以使用Struts自己提供的json也可使用外部的。

使用struts自身提供的,首先导入Struts2-json-plugin-2.3.20.jar,然后去package的extends的值改为json-default,并把type改为json,最后指定json插件要序列化的对象。

 

拦截器:

在那个标签下,拦截器就属于那个级别.

只要自定义配置了拦截器  原有的 功能就会失效,通过声明新的拦截器栈来解决。

 实现拦截器的步骤  实现  Interceptor接口   继承AbstractIntegerceptor 类

拦截器的配置:

声明拦截器

<interceptors>

     <interceptor name="power" class="com.cdsxt.interceptor.PowerInterceptor"></interceptor>

     <interceptor-stack name="security">

     <interceptor-ref name="defaultStack" />

     <interceptor-ref name="power" />

     </interceptor-stack>

</interceptors>

配置全局的拦截器

<default-interceptor-ref name="security"></default-interceptor-ref>

 

配置全局结果处理

<global-results>

<result name=>拦截的页面</result>

<result name=  type= 请求转发或重定向>拦截的页面</result>

</global-results> 

拦截器也可继承。

 

Struts2和filter的区别 暂无

 

Struts2的运行流程 暂无

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值