读书人

Struts 二框架总结

发布时间: 2012-10-25 10:58:57 作者: rapoo

Struts 2框架总结
struts2尝试提供平台给开发者快速的开发一般的任务。
struts2是MVC框架的实现,在struts2中model代码struts2中的action,view代码struts2中的result,

controller代码struts2中的FilterDispatcher,在struts2中,controller的工作就是将用户发送来的请求

与相应的action进行映射,在model中包含DAO,BO等在struts2中model是通过action组件来实现的,View

是用来描述的通过用JSP,Velocity模板,Freemaker或者其他的模板技术。
struts2的工作流程:首先通过配置web.xml之后让用户的请求可以进行struts2这个框架中,controller接

受用户的请求之后确定那个struts2中的action会被调用,struts2框架创建action的实例,之后让action

的实例与新的ActionInvocation实例进行关联,struts2调用action之前会先调用一系列的拦截器(拦截器

在struts.xml中进行定义,拦截器可以在做action之前做点什么事情的)之后action做完之后,拦截器还

会被执行(还是在struts.xml中进行定义的,此时的拦截器可以在action之后做点什么事情),struts2框

架通过调用ActionInvocations类中的invoke方法来开始执行action,每当invoke方法被调用,都会有拦截

器被调用,拦截器是存放到一个栈中的,之后通过调用拦截器的intercept方法进行调用,intercept方法

中调用invoke方法,ActionInvocation最后才调用action,之后返回相应的result,之后根据相应的

result进行展示。一些拦截器会在action之前执行和有些会在action之后会被执行,拦截器的执行会按照

,在栈中的的定义顺序来继续执行的,在struts2中重要的特色就是OGNL和值栈,OGNL是强大的表达式语言

,常常用于操作数据在值栈中,OGNL很方便的进行数据传输和类型转换,并且OGNL提供简单的语法去引用

java对象。
在struts2的action在值栈中也是ActionContext的一部分,ActionContext是一个全局的存储区用来存储用

户的请求的数据,当一个请求来的时候,parames拦截器帮助转移请求数据到值栈中,现在OGNL转换表单数

据成为相应的java类型OGNL是通过内置的类型转换来完成的,之后将java类型转换在值栈中转换成为简单

是Stirng类型的,之后通过HTML进行输出,Action是Contex是线程安全的,每个值存储在ActionContext是

唯一的线程,所以很安全。

读书人网 >Web前端

热点推荐