范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

好久不见的Struts2大家还记得么?一起再回顾一下吧

  1.Struts2介绍
  Struts2和SpringMVC一样,都是基于MVC封装的框架
  Struts1和Struts2没有关系…有的也只是名称上的相似
  Struts2是在xwork的基础上升级来的,想占个名称的便宜
  Struts2的核心是过滤器2.框架搭建
  1)导包
  拷贝Struts2案例中的jar包
  2)配置文件
  1.web.xml中配置核心过滤器
  参考案例中web.xml的配置
  2.struts.xml
  拷贝案例中的struts.xml到src目录下
  3.部署,启动
  解析struts.xml成功,说明Struts2是默认到classpath目录下找struts.xml配置文件解析
  4.配置DTD约束
  3.入门案例
  需求: 浏览器访问/hello,页面跳转到hello.jsp
  1)要一个Action(Springmvc中的Controller)来处理/hello请求
  2)hello.jsp
  3)Action类和请求地址之间的映射关系
  struts.xml配置文件中配置一个action
  4)浏览器请求/hello
  action配置,name属性指向的请求地址,去掉/
  重新启动访问,OK4.请求地址后缀
  两个请求地址都可以正常访问服务器,进行页面跳转,Struts会自动截取.action后缀
  Struts2默认截取的后缀只有.action
  请求地址,可以携带后缀,也可以不带。但是一般来说,请求地址中,肯定会携带后缀,因为框架的过滤器拦截不可能拦截所有的请求(.js,.jsp,.css….),一般拦截.action
  如果要支持.do,需要修改默认配置
  在struts.xml中修改默认配置
  请求:
  一般来说不改默认配置,Struts2中的请求地址,就以.action结尾5.执行流程
  1.tomcat启动的时候,加载web.xml,解析,然后实例化Struts2的核心过滤器
  2)核心过滤器在初始化的过程,会加载解析配置文件struts.xml,解析所有的标签,将action标签解析放到容器中,key为当前action所属的package的namespace+action标签的name属性
  3)浏览器请求/hello
  4)tomcat接收到浏览器请求,解析应用名称,然后到对应的应用的web.xml中找,没有过滤器、servlet等需要拦截处理这个请求。这时,tomcat发现,核心过滤器需要拦截处理这个请求,tomcat就会把请求丢给核心过滤器
  5)核心过滤器根据请求地址,找对应的action配置,然后找到class地址,实例化,反射调用指定方法。
  6)方法执行完成会返回字符串,核心过滤器再根据返回字符串找对应的跳转地址,跳转的方式(默认转发),最后做页面跳转6.struts.xml1)constant标签
  修改struts中的默认配置
  2)package
  package指的是包,struts.xml中可以添加多个package,但是,一般一个配置文件,就只有一个package,对所有的action进行分类管理
  属性
  name : 分类的包名,或者说package的模块名,一般命名需要见名知意、
  namespace : 属于请求地址(url)的组成部分。一般如果有指定name,那么namespace会和name保持一致
  那么action的请求地址,需要在action的name属性之前,加上namespace
  在同一个namespace中,action的name,不能重复
  extends: 继承,值为其他package的name属性,一般来说,自定义的package没有互相继承,只会继承自Struts的默认package,即struts-default,默认。
  因为继承自默认的配置,所以struts在加载配置文件的时候,一定是先加载struts-dufault.xml配置文件3)action
  请求地址和处理请求的类,方法之间的映射,以及方法返回值和跳转页面之间的映射
  属性
  name: 请求地址
  class:处理请求的类地址
  method: 处理请求的类中的方法名
  4)result
  方法返回值和跳转页面之间的映射
  name:匹配的是方法返回值
  标签中的text文本: 跳转的页面
  type: 跳转的方式
  type默认取值:dispatcher: 转发
  chain:转发到其他Action
  redirect: 重定向
  redirectAction:重定向到其他Action
  stream: 一般用于ajax,或者文件下载
  使用chain
  5)global-results
  全局的返回配置
  当方法返回值,没有在对应的action中找到相应的result标签,那么会去全局配置中找,只能用于当前的package,或者是继承了当前package的请求。
  平级关系的package,不可用
  当浏览器请求/resultTest.action时,核心过滤器会拿resultPage 字符串到action标签中找对应的result,发现没有,那么会继续去global-results配置中去匹配
  最终的结果,就是浏览器请求/resultTest.action ,页面会跳转到index.jsp6)include
  项目中,action很多,为了分类管理,会整理成N个配置文件,这个时候,一般主配置文件会引入其他的配置文件 (当然,也可以在核心过滤器启动的时候,告诉它加载多个配置文件)
  路径变化,include也需要指定
  7)struts.xml配置文件目录
  如果重命名或者是路径有改变,需要在核心过滤器中配置
  路径变化,include也需要指定
  7.Action定义1)自定义对象
  配置使用:
  如果配置的时候,没有指定method,那么struts流程??2)实现Action接口
  配置:
  在实现了Action接口的HelloAction2中,也还是支持第一种配置方式,自定义方法,配置action中指定method
  3)继承ActionSupport类
  --推荐
  可以指定method,也可以不指定,不指定,默认调用execute方法
  ActionSupport类,集成了Struts中的校验框架,如果要使用struts中的校验框架,那么Action就一定高继承ActionSupport
  一般来说,使用Struts2,都会有一个BaseAction
  BaseAction extends ActionSupport{
  private HttpServletRequest request;
  private HttpServletResponse response;
  private HttpSession session;
  }
  自定义Action 继承BaseAction8.访问ServletAPI
  BaseAction
  子类继承
  9.Action动态调用actionName!methodName.action
  struts-company.xml
  Action配置相似,减少重复的配置,struts提供了actio动态访问,访问的时候动态指定需要调用的method
  1)定义公共的action
  2)打开动态调用
  3)访问
  actionName!methodName.action
  使用占位符动态调用
  struts-company-all.xml 页面请求地址:index.jsp
  查询流程:
  更新流程,操作之后,需要转发到其他的action
  10.前后台传参,数据传递1)jspAction,传参a.简单类型String,int
  定义全局变量,以及框架调用赋值的set方法
  b.自定义实体类
  定义全局变量,提供set方法
  自定义实体类,需要同时定义get/set方法,只有set不行,框架在赋值的时候,需要调用Action的getCompany方法获取对象
  方法中直接使用company变量
  jsp中传参,name=Action中的全局变量名.属性名
  c.包装类
  自定义对象中含有自定义对象。也是使用导航符 属性名.属性名.属性名d.使用ModelDriven
  1.实现ModelDriven接口,指定类型
  2.提供getModel方法,方法中对company进行实例化
  3.jsp页面,控件的name属性直接匹配实体类的属性名
  2)Actionjsp 数据传递
  request.setAttribute,session.setAttribute
  Springmvc ,使用ModelAndView,ModelMap
  Struts数据传递相对来说,更简单一点。只要Action中的全局变量有值,并且提供了get方法,跳转的页面就可以使用el取值 -----》针对的是转发 的跳转方式。
  如果是重定向,需要使用session进行传值
  方法中赋值
  jsp中
  或者赋值不是方法中,是前台提交的参数,后面跳转的页面,也可以el取值11.校验
  1)Action,需要继承ActionSupport
  2)重写validate方法
  此方法,在所有的方法被调用之前
  在validate方法中,对参数做校验
  struts只要发现你调用过addFieldError,也就是说,流程中添加过错误信息,那么,流程到validate就结束,不会继续调用方法,不继续调用方法,就拿不到方法的返回值,struts提供了默认返回值input,所以result标签需要另外配置
  jsp页面拿错误信息,使用struts标签库
  针对某个特定的方法做的校验, 方法名= validate+需要针对的方法的名称,第一个字母大写
  s标签需要struts框架解析返回。
  12.struts2+spring+mybatis
  1)导包
  1.struts所有的包。拷贝teacher_struts2下的所有包
  2.spring+mybatis所有的包。拷贝teacher_spring_mybatis04版本下的包
  3.struts和spring的集成包
  2)配置
  1.struts.xml
  2.applicationContext.xml
  3.sqlMapConfig.xml
  4.log4j.properties
  5.web.xml
  struts2的核心过滤器
  spring的监听配置
  mapper + action配置版本
  根据企业编码查询企业信息
  1.Company.java,company.xml,CompanyMapper.java,
  CompanyServiceImpl.java,CompanyService.java
  CompanyAction.java
  index.jsp,companyDetail.jsp
  2. company.xml需要注册到sqlMapConfig.xml中,还需要配置别名
  3. applicationContext.xml中需要配置bean
  service使用注解
  action使用bean配置
  action需要配置成多例
  4.struts.xml中的action配置
  action中的class属性值为bean节点的ID值
  5.index.jsp确认请求地址
  mapper + action注解版本
  将Action的bean配置,使用注解

爆笑神回复能讲下你最爽的一次经历吗?欢迎您来看我哦,喜欢的话记得点赞加关注呦,么么哒比心该怎么收呢笑哭捂脸捂脸捂脸捂脸捂脸怎么啥节都能当成情人节来过呢捂脸请问挂什么科?灵光一闪灵光一闪灵光一闪灵光一闪灵光一闪小明想买故宫里,那些鲜为人知的秘密主讲人杨阳江苏交通广播网全城热恋主持人江苏广播十大名牌栏目主持人,优秀主持人,南京市曲艺家协会副主席,师从相声名家陈峰宁。主持节目全城热恋一博碰杨阳,率先打造融媒体音视频同步直播节子宫肌瘤别着急,逍遥丸搭配这两个中成药活血化瘀,消除肿块对于3050的姐妹们来说,最烦心的事就是月经不调,月经量多,时间特别长还淋漓不尽,去体检呢发现了子宫肌瘤,那这种问题该怎么办呢?大家好,我是年轻的老中医朱大夫,其实啊检查出来子宫肌虚拟现实VR数智机房解决方案如今,虚拟现实技术作为连接虚拟世界和现实世界的桥梁,正加速各领域应用形成新场景新模式新业态。图扑软件基于自研可视化引擎HTforWeb搭建的VR数据中心机房,是将数据中心的运营搬到超详细,工业路由器与JuniperNetscreen防火墙构建IPsecVPN指南一网络拓扑ORC305工业4G路由器使用SIM卡拨号上网,获得运营商分配的动态私网IP地址。右侧为企业数据中心部署JuniperNetscreenFirewall防火墙,通过企业专跃迁旅人艾波强度分析评测1。评价又一强力射手,不过大招不能叠加有点遗憾。540倍率的物伤加上专武21的30伤害增幅就是702(应该没算错),还不错,不过肯定没办法跟水狐狸那种毁天灭地的大招比。跃1之后无视张仲景治失眠第一方,补肾水降心火调阴阳速睡催眠,还你深度睡眠大家好,我是沈医生,今天给大家介绍一个医圣张仲景所创的速睡方,堪称失眠第一方,已经流传千年,可以滋补肾阴,清心降火,让你晚上速速入睡,远离失眠!前几天有个病人,王先生,说自己顽固性三大遗憾,中国未能正常举办2023年亚洲杯太可惜了2004年,中国第一次举办亚洲杯,那时我们的实力还是亚洲准一流,日本又有大量旅欧球员未归,借东道主之利,我们还是有很大机会夺冠的,这也是唯一的目标。亚洲杯半决赛中国队与伊朗队血战1巴西VS克罗地亚大胆预测巴西爆冷出局格子军团点球大战笑到最后北京时间12月9日深夜23点,卡塔尔世界杯14决赛将上演一场强强对话,五星巴西对阵上届世界杯亚军球队克罗地亚。毫无疑问,这是本届世界杯开赛以来最重量级的一场比赛,亿万球迷正在翘首以绝杀勇士功臣何许人也?蛰伏欧洲10年终获肯定大龄新秀自我正名北京时间12月8日,NBA常规赛,爵士124123险胜勇士,送给对手2连败。本场比赛跌宕起伏,关键时刻库明加和克拉克森甚至爆发冲突,两人摆起拳击姿态。勇士虽然最后掌握着4分领先优势强强对抗!孙颖莎陈梦连胜王曼昱陈幸同带队夺第1,乒超4强已出炉北京时间12月8日,经过四个比赛日的激烈竞争,2022年乒超联赛第一阶段循环赛终于来到了最后一轮。虽然今天才进行最后一轮,但获得晋级第二阶段资格的四支队伍已经提前出炉,男团有山东鲁
广西玉林网红机场,乘客享受千人接机待遇,土堆上都是人我们中的许多人可能见过飞机,尤其是一些孩子,当他们看到飞机飞越天空时,他们会欢呼,你见过飞机近距离起飞或降落吗?广西有这样一个机场,可以近距离观看飞机的起飞或降落,人们每天都来这里猪八戒的高老庄真的存在,云南600年的八戒寺,是西游记原型自驾云南之旅来到了保山市,在保山市西庄村有一座八戒庙,它有着神秘而悠久的故事,也是西游记中猪八戒原型的出处。艺术总是源于生活,传承450多年的西游记是吴承恩的倾世之作。而他书中的主原来安徽黄山宏村也可以这么美,大家旅游可以提前攻略由于房子贷款暂时没还上,压力真的比较大!前段时间去黄山宏村游玩了一下,自己顺便给景区做了一个VR全景旅游攻略,非常适合大家旅游前查看,避免花费很多冤枉时间和冤枉路,最重要的是不要被我们的二十大时光买房落户评职称,人人都有通过勤奋劳动实现自身发展的机会快递小哥奔跑,不仅在路上钱江晚报小时新闻记者陈婕昨天一早7点不到,90后小哥阮海良骑着电动车出门了,在绍兴皋埠街道富盛镇大街小巷穿梭。这几天快递量大,今天要送300多单,下班会更加晚一些。记者好不容易打通成长的路上,毒打总是伴随着左右有句话说,成长的路上会有很多鲜花,也会有更多的荆棘。还记得,刚开始工作时和朋友一起吃饭,他苦笑着说毕业后才明白什么是社会的毒打。他说,上一次他们公司派一部分员工去外地出差,坐公司的正在消失的村庄陈家沟正在消失的村庄陈家沟陈家沟是辽宁省朝阳县的一个小山村,在努鲁儿虎山保护区核心区的一个大山沟里。道路不好走,去的人也少。村口有一个半间屋大小的巨石,如果说黄山有迎客松,这就是陈家沟的哺乳期的母亲应该怎么做?哺乳期的妈妈们,随着宝宝不断长大,需要进食的营养也越来越多。而我们的饮食是如何保证乳汁正常分泌而不影响婴儿发育呢?其实很多妈妈哺乳期对吃着非常讲究,不但要让宝宝补充足够的营养,还要18岁高中生射击世锦赛夺4金,母亲发朋友圈为啥屏蔽她?极目新闻评论员吴双建5天时间连夺4金!2022国际射联步手枪射击世锦赛,正在埃及开罗进行。青年组选手中,来自四川南充的18岁姑娘庞钰千,闪耀世锦赛赛场。截至北京时间10月18日上午赵继伟妻子晒照,冬日暖阳感出来了,打扮很时髦,颜值太仙了文篮郭先生提及赵继伟,对中国的球迷们来说,那是非常熟悉的。因为,赵继伟不仅是辽宁队的重要球员,是FMVP获得者,更是国家队的常客,素有国产保罗之称。这样的运动员,有着非常高的人气,欠下294亿!公然造假的老牌车企,倒在了山寨路上文金错刀频道2017年,全网都在寻找贾跃亭。当时乐视拖欠供应商款项爆发资金链危机,贾跃亭成了老赖,让别人为他的梦想窒息。最近,一家负债累累的造车企业也在寻找董事长。在多年拖欠员工工三星长公主陪母亲看展,52岁成人间富贵花,皇太后洪罗喜美貌抢镜女性上了年纪之后,穿衣打扮多多少少都会受到一些局限性,不可能再像年轻人那样去选择花里胡哨,还有性感惊艳的衣品,更多的还是喜欢结合自身,从而展现出时尚魅力,这样即便是年过半百,依旧还