Struts2系列(一)概述

一.Struts 2概述

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

二.Struts 2开发初体验

一.struts2优势:自动封装参数,参数校验,结果的处理(转发|重定向),国际化,显示等待页面,表单的防止重复提交
二.搭建struts2框架
1.导包(框架包下apps文件夹的struts2-blank.war文件中的架包)
2.书写Action类(方法的返回值类型为String)
3.导入约束(struts-2.3.dtd)
4.书写src/struts.xml
5.将struts2核心过滤器配置到web.xml(struts2框架基于过滤器)
6.测试
三.struts2配置详解
1.struts.xml配置:package,action,result,include,常量配置(constant,properties,context-param)
2.动态方法调用:常量配置struts.enable.DynamicMethodInvocation,通配符*
3.struts2中的默认配置
四.action类详解
1.POJO(不继承父类,不实现接口的类)
2.实现Action接口:Action接口预置了一些字符串.可以在返回结果时直接使用
3.继承ActionSupport类:实现了一些借口,如果我们需要用这些接口的实现时,不需要自己来实现
五.struts2详解
1.结果跳转方式:转发,重定向,转发到Action,转发到Action
2.访问servletAPI方式:通过ActionContext,通过ServletActionContext,通过实现接口方式(ServletRequestAware)
3.Action生命周期:每次请求到来时,都会创建一个新的Action实例,Action是线程安全的.可以使用成员变量接收参数
4.获得参数:属性驱动,对象驱动,模型驱动
5.集合类型参数封装:list,map
六.OGNL表达式:对象视图导航语言. OGNL支持比EL表达式更加丰富的功能.
1.导包:struts2 的包中已经包含了.所以不需要导入额外的jar包
2.操作域:Root(可以放置任何对象,一般放置当前访问的Action对象),Context(只能放置map对象,ActionContext数据中心)
3.语法:基本取值,赋值,调用方法,调用静态方法,创建对象(List,Map)
4.OGNL与Struts2的结合体现:参数接收,配置文件,struts2标签
七.自定义拦截器
1.Struts2架构
2.拦截器类创建:3种方式
3.拦截器API:放行,前后处理,不放行直接跳转到一个结果页面(不执行后续的拦截器以及Action,直接交给Result处理结果.进行页面跳转)
4.拦截器配置:注册拦截器,配置拦截器栈,指定包中默认拦截器栈,定制拦截方法,全局结果集
八.Struts2标签:控制标签,数据标签(property),表单标签,非表单标签

猜你喜欢

转载自blog.csdn.net/bestmy/article/details/81055074