读书人

Struts2技术小结

发布时间: 2012-10-14 14:55:07 作者: rapoo

Struts2技术总结

?

必备jar文件

早在struts2.0.*的时候,struts2的必备jar包需要如下几个:

commons-logging-*.jar?? Apache旗下commons项目的log日志包

freemarker-*.jar?????????????一种前台页面模板,应用比较广泛

ognl-*.jar??????????????????????? 动态图导航语言,struts2处理前台页面的核心语言,相当实用

struts2-core-*.jar???????????struts2的核心包

xwork-core-*.jar?????????????webwork的核心包,因为struts2的前身是webwork,所以这个是必须的

只要满足这5个基本jar包就可以运行一个struts2的hello world

(注:*表示版本号,struts2不同版本,使用的jar包版本也可能不一样。)

?

但是后面版本,比如struts-2.1.8.1,必须再添加一个新jar包才能运行,不然启动就会报错:

commons-fileupload-1.2.1.jar?? 支持文件上传的jar包

?

?

web.xml文件配置在web.xml需要配置struts2滤镜,即当jsp向后台发送请求时需要经过struts2拦截分析处理,需要注意的是struts2与struts1和spring mvc的拦截机制不同,它是通过一个filter拦截的。filter拦截器的类除了下面这个类以外,也可以引用“org.apache.struts2.dispatcher.FilterDispatcher”。注意filter-mapping配置的url-pattern即拦截所有的请求,如果写成/*.action就只能拦截以.action结尾的请求。<init-param>标签中的config指定struts2初始核心文件路径,struts.xml是最核心文件
?
获取Servlet内置对象基于java web开发,我们经常会使用到servlet的内置对象:request、session、application等,通过struts2框架获取内置对象有四种方式:(1)通过ActionContext来获得,获取的对象是不基于Servlet容器的;(2)通过ServletActionContext获得,获取的对象是Servlet内置对象

?

?【User.java】

?

下面这个是早前自己写的Struts2标签库的例子,内容肯定不全:

?拦截器struts2的核心内容是拦截器,拦截器的作用简单理解就是:在JSP向后台发送请求,访问某个方法之前或之后会运行拦截器处理一些特殊操作,比如异常拦截器,当运行后台某方法发生异常时会被拦截器截获并进行一些特殊处理:
自定义一个拦截器非常简单:首先继承AbstractInterceptor类,实现intercept(ActionInvocation actioninvocation)方法即可:
     2 楼    hwh0919    2011-09-30              hi,后台你怎么验证呢!若用 actionName-validate.xml这个做法,action里都得列字段啊!有没有没后台可能对  对象的每个属性都验证的方法呢    3 楼    白糖_    2011-10-03              hwh0919 写道hi,后台你怎么验证呢!若用 actionName-validate.xml这个做法,action里都得列字段啊!有没有没后台可能对  对象的每个属性都验证的方法呢

你提出的疑问“action里都得列字段”我不明白什么意思,但是我可以确认的是stuts2验证框架可以验证每个对象的每个属性。

我写了篇struts2验证框架的文章,你可以参考一下:http://blessht.iteye.com/blog/979645

读书人网 >编程

热点推荐