打今儿起开始不定时整合框架,实在没时间,更新会很乱,肥了再看____Struts2

          首先要明确的知识点是,     Stauts2不是基于Stauts更新的!!

                                                Stauts2不是基于Stauts更新的!!

                                                Stauts2不是基于Stauts更新的!!而是基于WebWork的全新框架

      Statuts2一般用于SSH框架中,实现MVC的三层j架构

Struts2:安装配置5步骤,配置文件加载顺序:1.default.properties,2.Struts-default.xml,3.struts-plugin.xml,4.struts.xml,5,struts.properties,6,web.xml 

动作类和Struts联系的各种流程:用户请求-->StrutsPrepareAndExecuteFilter(web.xml)<-->Struts.xml | -->动作类-->tsp 

三种构建动作类方式:1:POJO就是什么也不继承 2:实现Action接口 3:继承ActionSupport 

三种修改后缀名:(想要像Action那样 的最后加,,)1.新建properties 2 在we'b.xml中 ,在we'b.xml中init-param中的param-name提示干什么和param-value给值,3.在Stru't's中constant的value中改 在constant中修改是否默认加载配置文件 如果用DevMode的开发者模式那就不用再设置了,已经包含 引入其他配置文件不要忘了add class和method都可以不写,都有默认的 默认class可以通过 default-class-ref修改 有一种在一个包里配置然后其他包继承的思想 method默认是excuse 返回success 与之类似的, 平时写的都是局部的结果试图,而定义包中global-results ,就都用这个结果视图了

 六个(不止)结果集类型:默认dispatcher是转发tsp chain是转别的ACTION redirect是重定向到j'sp redirect Action 是重定向到动作类 plainText是... 当跳转涉及到有namespace时 就要涉及到把本来写JSP的位置写上注入参数了 namespace和actionName去哪找 

通配符 **用{1}{2} 

两大参数封装:静态参数封装很简单 拦截器是StaticParam action中定义了Param 的 name,就可以在action的全局变量中取出来 动态参数封装:中的属性驱动 分以param为拦截器,只是普通form表单的普通属性和又加了个类的复杂属性,别忘了OGNL 再就是模型驱动拦截器modelDriven 返回时必须是实例化对象 

输入验证分为 编程式验证和声明式验证 编程验证针对全局有validate 针对部分有两种 @s'k和validate方法名 声明验证在xml中 别忘了约束头找法 就是xml名字写法很重要 动作名加上validation 局部再加上要局部的方法名字 拦截器是用validate和workflaw(回显)的 +正则表达式 拦截器使用Intercepter声明 还可以在里边的param中定义除了哪个方法(excludeMethods),或者针对某个方法的拦截(includeMethods) 当声明了一个拦截器 那就代表只有这个拦截器能用,这时候涉及到把声明的和本有的都放到一个新的拦截器中 

intercator-stack 和intercaptor-ref 文件的上传与下载了: 上传:先在Action里写了四个全局变量 最重要的是File类型的PHOTO了吧 就对应着在 form表单上对应的input 然后出了uesrname还有两个固定名称的 xxxfileName文件名 和 xxxConten'tType是表示上传文件的MIME类型 然后得到ServletContext对象在调用getRealPath("/file")得到存放文件的目录 调用new file(真是目录,文件名)构建一个目标文件 最后写入文件 调用FileUtils.copyFile(photo,目标文件) 动态修改文件名字 下载;定义了一个Inputstrem 实现下载就是在给它赋值 就是new 一个FileInputStream(里边放着getRealPath(图片)后得到的) 再就是一些Struts中的 设置报错 限制后缀等 

最后是OGNL,用法涉及${}导航 #相当于上下文 \%负责声明字符串是OGNL表达式 还有操作Context Map 它中有很多熟悉的....其中最重要的是ValueStack 再





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值