JAVAEE学习日志(2) SSH框架 Struts框架(1)

#学习基于ActionSupport
本文基于搭建以及学习struts2.5版本
迷途知返:

  1. 不能选取struts2.5中的struts2-rest-plugin-6.jar会出现莫名错误

  2. 若是最初学习并搭建一个普通框架的话,在导入其资源包时,只需要导入最基本或者是必须的资源包,不然 额外的包在没有相应配置的情况下,会引发莫名的错误,至少现阶段难以排查。

  3. 若遇到filter类无法找到的情况,讲web.xml的 filter-class标签内修改为 org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
    因为struts升级到2.5后 整合了补分类,而不再需要cn.filter这样的路径,精简成了filter

  4. 适用于大部分工程,请不要讲action类直接存放于SRC中,根据配置文件可能会出现ClassNotFoundException,所以建立一个包用于存放对应的类文件/其他文件是必要的

  5. 初步学习框架的时候,建议将所有组件都 配置成最新版本以避免出现不可名状错误(相信大公司),而且后续的版本不兼容问题,拿Eclipse来说,可以轻易检测出来,而且只需要搜索部件之间版本匹配关系,就可以解决。

Struts2基本点:
工作原理:
在这里插入图片描述
开发步骤:

  1. 定义发送Request的页面
  2. 定义Action类,处理Request
  3. 使用struts.xml配置Action(类似发布)
  4. 编辑视图(显示页面,如jsp)

PS:Action需要implements Action / extends ActionSupport

ActionSupport实现了execute方法,若不提供新的method,则在struts.xml的action标签内指定method=“execute” execute直接返回SUCCESS(String 常量)

StrutsPrepareAndExecuteFilter 为核心控制器
自定义Action 为业务控制器
两者共同构成Struts2的MVC的C—Control
(由StrutsPrepareAndExecuteFilter分配Request给指定Action,毕竟WEBXML内配置url-pattern是 /*)

Action获取请求参数 ?
该部可以类比于Servlet 不过原则上Action为了解耦而放弃ServletAPI(就是HttpServletRequest 等)

具体方式为:发起Request的页面的参数名 发送至Action后,Action对此一一创建Field,每个Filed都需要创建对应的setter与getter,随后使用Action实例来使用setter 以接受参数

当然只要是原则,就会有例外
ServletAPI也可以访问
有一下两种方法:
伪访问:ActionContext
在这里插入图片描述
真访问:ServletActionContext
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值