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

好久不见的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配置,使用注解

新一代蔚来ES8正式上市售52。8万63。8万元太平洋汽车导购频道12月24日晚,在蔚来举办的NIODay中,新一代蔚来ES8正式首发亮相并上市,新车依旧提供整车购买及电池租用两种方案。采用整车购买方案,新车售价为52。8万6360天,马斯克玩坏推特燃次元(IDchaintruth)原创作者丨侯燕婷编辑丨饶霞飞埃隆马斯克(ElonMusk)豪掷440亿美元收购推特一事,已是满城风雨大半年,没料到尘埃落定后,又迎来60天荒诞戏剧大咖论道数字化经济的红利在哪里?12月23日,在2022年全国工业App和信息消费大赛上,来自业界的大咖们从不同角度深入探讨数字经济的发展路径和广阔前景,呈现出一场顶级的思想盛宴。推动数字技术与实体经济深度融合李连尚网络联合创始人兼CEO张发有荣膺界面新闻2022年度科技行业CEO年度科技行业CEO榜单是界面新闻2022年度超级CEO系列榜单的子榜单之一,该榜单关注科技行业里表现卓越,带领企业把握发展机遇,乘势而上的CEO。界面新闻将连续第六年推出超级CEO一家齐上阵,阳了再返岗,这家快递员不容易陈肖颖没想到,自己这么快就阳了。她是中通快递上海浦东浦兴网点的一名女快递员,同时也是浦东东陆路兔喜生活门店的负责人。这个27岁的安徽姑娘,今年11月刚刚和丈夫创业,开了这家快递末端杨国强15年清洗董事会,碧桂园去家族化伪命题房财经王哲碧桂园去杨氏家族化,路还很漫长。前几天,杨志成和宋军同时辞任碧桂园执行董事一职,常务副总裁程光煜副总裁及首席财务官伍碧君接任。在碧桂园的13人董事会里,目前至少还有四个杨海天味业市值蒸发近360亿市值超3000亿元的酱油茅海天味业,近期深陷添加剂双标风波。尽管公司已三度回应试图打消质疑,但投资者并不买账。节后首个交易日,海天味业市值蒸发近360亿。刚刚过去的国庆节,海天味业2023年基金怎么投?一文看懂四大类产品的机会与风险每经记者曾子建每经编辑赵云2022年,你的基金是赚是亏?岁末年初,正好审视自己的投资。如果获利较多,完全可以考虑落袋为安如果组合是健康的,短时间的浮亏也可以继续坚持。摄图网图那么,YouTube开始在iOS和Android应用上测试其临时播放队列系统YouTube开始在iOS和Android上测试其排队系统。这项功能已经在网络上使用多年了,在某些情况下也显示在YouTube应用程序中用手机控制Chromecast的用户可能会认消失的400年从金朝到大清,女真人从哪儿来,又到哪去了?1234年,传国119年的金国,被南宋和蒙古联合灭国,从此之后销声匿迹。直到明朝末年,建州女真首领努尔哈赤重建金国,带领女真人杀回中原,再次夺取了汉人的政权。那么从1234年,完颜欧文新战靴上那些奇怪文字令人费解的鸡汤文致敬电影爆裂鼓手北京时间12月28日,就在篮网队拿下9连胜之后,欧文再次成为球迷关注的焦点,不仅是因为他的球技,也因为他的球鞋,还有球鞋上那些奇怪的文字。在经历了一年多的分歧和戏剧性的事件之后,耐
今日秋分,牢记2不吃见4鲜,是指什么?涨知识了今天是秋分,秋分后,夜渐长,昼渐短,秋燥更甚,寒意更浓。天气变了,意味着我们的生活上也要做出一些改变,以适应气候。特别是饮食上,俗话说,病都是一口一口吃出来的,秋冬疾病高发,因此要清荷札记总有美好,恰如其分作者清荷札记暑往寒来,月华隽永,顺时应节,眼容当下,收敛锋芒,方得圆满,厚积薄发,和光同尘!秋月朗日,诗意纵横,有人说,那些缝隙里的光阴,像佛前的芥子,把浮生的荒芜过成朴素的原野。今日秋分丨不负光阴不负秋故园应露白凉夜又秋分月皎空山静天清一雁闻今日9时4分我们在凉风习习中迎来秋分节气这一天太阳达到黄经180阴阳相半,昼夜均长寒暑平分,故名秋分一场秋雨一场寒十场秋雨好穿棉秋分过后,北秋分秋季如何养生?黄帝内经这样说秋分,是二十四节气之第十六个节气,秋季第四个节气。秋分这天太阳几乎直射地球赤道,全球各地昼夜等长。秋分,分即为平分半的意思,除了指昼夜平分外,还有一层意思是平分了秋季。秋分日后,昼今日秋分燕将明日去秋向此时分今天9时4分我们迎来秋季的第四个节气秋分秋分这一天太阳直射地球赤道不仅等分了昼夜而且分割了寒暑过了今天北半球昼渐短夜渐长,寒意渐浓特别是到了晚上气温下降速度明显明日秋分,提醒大家记得吃3物忌2事,身心舒适过秋天时光飞快,转眼间我们迎来秋分节气。随着秋意渐浓,我们所能感受到的寒冷也愈加明显。然而秋季的这种寒意并不稳定,呈现出气候不稳定的现象,时常会对人的身体状况造成影响,这就需要我们适时地美国拟将长江存储列入黑名单,2家台厂受影响百能云芯近日,多家媒体综合报道,美国多位重量级国会议员提议将长江存储列入实体列入实体清单,理由是长江存储供货可折屏幕的新旗舰手机MateXs2,已违反美国出口管制规定。若长江存储遭列黑名单投资478亿元,内蒙古新建煤化工项目报批内蒙古宝丰煤基新材料有限公司为宁夏宝丰能源集团股份有限公司以自有资金人民币95000万元与其全资子公司宁夏宝丰能源集团烯烃二厂有限公司共同在内蒙设立的子公司。拟以内蒙古宝丰煤基新材严重的粮食危机就在明年,将会见识到美元霸权之粮食美元俄乌战争即将告一段落,众所周知乌克兰和俄罗斯是世界上重要的粮食出口国。那么现在情况是乌克兰被打烂了,亚速海周边大片平原并入俄罗斯,乌今年的产出被欧盟屯起来了,明年粮食出口又将严重减提档升级落雁景区成为热门打卡地图片由景区提供楚天都市报极目新闻讯(记者邬晓芳通讯员彭冲)金秋送爽,丹桂飘香。自综合提升后,武汉东湖落雁景区日益受到市民游客青睐,成为热门打卡地。落雁景区藏在东湖最东端,与郊野道相王予波在丽江市调研时强调把新发展理念贯彻到项目工作全过程9月20日至21日,省委副书记省长王予波率队在丽江市调研时强调,要认真落实党中央国务院决策部署和省委省政府工作要求,把新发展理念完整准确全面贯彻到项目工作全过程各方面,坚定不移抓产