学完框架了,对struts 也要进行下总结了。下面就是我的总结。
struts 框架分为struts1 和struts2 .
-------------------------
struts1--------------------------------------------------------------------
struts1 的话主要核心是ActionServlet . 客户端发送请求,所有未.do的请求经过ActionServlet (要在web.xml中配置servlet), 然后ActionServlet再根据struts-config.xml 中的配置,找到与请求对应的Action, 同时,把数据封装到ActionForm中去,处理业务后,ActionMapping 通过映射名,在struts-config.xml对应的Action的相关forward 的路径,响应给客户端。
注意事项: 一定要在web.xml中先配置struts1 的ActionServlet。 然后建立相关的Action 业务,所有的Action都要继承
DispatchAction。
同时所有的Form都要继承ActionForm 。 同时要注意的是Action中的属性或对象要有get,set 方法。对象若是实体bean , 在一定要new . 数据提交的时候,testAction.dao?opt=addStu; testAction 是Action中配置的path;opt 是Action配置的
parameter。
-----------------struts2---------------------------------------
struts1的核心是
filterDispatcher,客户端发送请求,filterDispatcher 在struts.xml找到
对应的Action,在去往Action之前,会经过拦截器,验证器,然后经过Action业务处理返回一个字符串result . 然后在struts.xml中的对应的Action 的result 响应到相应的页面。
注意事项:
struts.xml : filterDispatcher要在web.xml 中配置。在建立struts.xml之前 ,要在Eclipse 中配置相应的dtd路径,这样在编写struts.xml的时候才会有提示。 引用的dtd文件是在struts2-core 核心包里面。
struts.properties :
#设置Struts的系统参数
struts.devMode = true
#设置开启动态方法调用
struts.enable.DynamicMethodInvocation = true
#更改系统允许上传文件的最大大小
struts.multipart.maxSize=10485760
验证器: 在对应的Action包下建立以个名为: 你的Action名字—validation.xml的验证器。为了在编辑你的验证器的时候,要引用一个dtd文件。该文件在xwork-core 里面的xwork-validator-1.0.3.dtd 文件。 验证器名字:TestAction-testAction_addstu-validation.xml这个是对Action的个别方法验证操作验证。
拦截器: 自定义你的登录或添加的拦截器,继承
MethodFilterInterceptor ,
重写
doIntercept
方法。 通过
ActionInvocation
可以得到
截ActionContext .然后在struts.xml 中 配置相关的自定义拦截器。struts2 内置有个
defaultStack
拦截器,作用是获得数据。还有个
fileUpload
拦截器,有个参数是
allowedTypes,
maximumSize。
转换器:转换器在struts2中大多数类型都能转换封装到实体
Bean
中,但日期类型转换需要手写一个日期转换器。转换器要继承StrutsTypeConverter . 重写
convertFromString
和
convertToString
方法。然后建立一个
xwork-conversion.properties ,在里面配置 如:
java.util.Date=
shopstore.util.DateConverter
等就可以了。
2013-11-23 小高。