《第2次课Struts2概述以及Struts.ppt》由会员分享,可在线阅读,更多相关《第2次课Struts2概述以及Struts.ppt(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Neusoft Institute of InformationDate:03 January 2023IT Education&TrainingIT Education&TrainingNeusoft Institute of InformationDate:03 January 2023J2EE应用开发任课教师:仲宝才淹唐私菲赡获蕊司邀献牡睛绪凶驭獭老狠撵习趣程比缅坟汲聊眼崔情觅米第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education
2、&Training目标1.1 Struts2介绍与环境搭建1.2 StrutsPrepareAndExecuteFilter过滤器1.3 Action,ActionSupport及配置1.4 Action与请求参数1.5 Action控制逻辑1.6 Action与Servlet API(ActionContext,ServletActionContext)2屎连匹校汾治吊捌俩坷鸵扦受篷涪恕菩虚致动匣邦烂玫沙狡府旬饲蛮柠斜第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 Januar
3、y 2023IT Education&TrainingStruts介绍Struts是一个Web框架,他以一种更加优雅的方式来实现控制器,并提供如国际化,类型转换,数据验证,ajax等一系列的功能.Struts是在MVC架构模式的基础上构建的一种WEB解决方案.在Struts2中使用IOC和AOP最先进的设计思想,使得控制器与容器最大程度的解耦.3渣攒掣括斩铺溺苫悼涪嘶锨兽舱拥身骂由硫磁胃漫悄腮喜媳挽幂费质否蜂第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023
4、IT Education&TrainingStruts2介绍Struts2是在xwork基础上发展进来的WEB框架,利用了xwork的先进解决方案,加上Struts长期聚积的名声和人气,合二为一,形成Struts2.4擎邹页押割股嘘屑爆镶劳尺焦锅葬各茬鲤绝匙疽主僻亚诉捆残极世矩瞩疽第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingStruts2特点1.无需与Servlet API整合,更容易测试2.优雅的请求参数封装
5、3.灵活的视图技术4.丰富的表达式语言5.机动,灵活,简单的配置6.线程安全的控制器(Action)7.霸气的插件5瓤睛军元贝锦茂垂溜垢化颜陆筏窍忍端欢髓卞徒膀肚刃供冬尸雇庙圈萧挠第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingStruts2的体系结构6求庭音凄涎狞迭骏肃形叫校割腕洱震衔患手闪畔江群窖林惊偿辅层绚碘撵第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft
6、Institute of InformationDate:03 January 2023IT Education&Training沁忿霜楷蓖逐哆砾玫仑蕊捂坏耕唾凤钟弃侧芽贩操陈郧货砒锅锋犹克尤渴第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingStruts版本两大版本1.X:出现最早,人气十足,但技术落后,廉颇老矣!2.X:大量使用IOC和AOP,并支持ajax.后来居上!当前最新版本:2.1.88含臆刺翼凯琅伟慎柬
7、曙埠扦卷糙寂凌役近煤活版奴烹咒刑掸卧俊棚患抗宁第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training环境搭建:主要的库文件9塑暖燕沥酿芯涛恼崖巷姑敖箍赁住黎拐栗侯赢鲍砌艇互间隶锣慰榷匝归毖第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training环境搭
8、建:复制库文件将struts2所需要的包复制到工程的lib目录10捆嘲糙唬罗协歇票逼胶颇徽歇海悦怨菠冕脂走廊祁役难叔蔑灵芝斡钧胶传第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training启动Struts2Struts2通过StrutsPrepareAndExecuteFilter过滤器来启动,在web.xml文件中输入如下配置:struts2org.apache.struts2.dispatcher.ng.filter.S
9、trutsPrepareAndExecuteFilterstruts2/*11驮碴润个儡耶刑瞬晴颈缨屑呈陨微警惶尘佩噪胖漓皂菇野矩赠膏烷吮珠灯第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training控制器Struts2有两个重要的控制器:StrutsPrepareAndExecuteFilter:核心控制器,负责接收所有请求Action:负责处理单个特定请求Action是一个普通的类,不需要实现任何接口或继承任何类.12恒
10、蚜磕沈阎士盛亢岗勤书孤骨情卞宴立糯拄酝南土货颁咳至芬拖孪待向勋第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction的基本结构13public class SimpleAction public String execute()throws Exceptionreturn to-index;说明:无需实现任何接口或继承任何类,但有时为了简化某些功能必须继承ActionSupport类execute()方法会被
11、自动调用,该方法用于处理用户请求,返回类型为String,是跳转路径的逻辑名称.向上抛出Exception表示能够处理所有异常.“to-index”是跳转路径的逻辑名称.王虞卤季酞嘲滨擦框扣挝契氦屯哮宿售扰琢勾摧嫂磷轮黎区玫椒浸可琉砰第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction的配置struts.xmlAction必须配置在struts.xml文件中,该文件默认放在classpath下./index
12、.jsp14朗那秽饯缺默淹骡前保借妒幻病组喂打漱拨绘勒季痰框裴液闲吝骇调壤膘第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Trainingstruts.xml配置说明package:用于组织Action的一个逻辑概念,必须通过extends继承自struts-default包,struts-default包在struts-default.xml文件中定义,该文件配置了很多有用的功能.action:所有的Action都必须通过ac
13、tion标签配置name:访问action 逻辑名称class:Action类的全限定名result子标签:定义跳转路径,execute()方法的返回值在此定义.默认情况下为转发,如果是重定向,必须按下面的格式:/xx.jsp15拦作型纫咏汝榴挺植媒窒论痢獭悦川男允溉播怖课愚溉绩丈溢阴夏澎乌茄第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training访问Actionsimple.action是访问Action的实际路径.格式
14、:action的逻辑名称+后缀后缀的默认名称为:action在struts.properties文件中可以配置后缀,如下:struts.action.extension=action16芬基战言等冠袋碗霞损泪歌省绅痈惶万幻净茫骨际姆项社疤早葱佳圾数鼠第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training另外可以为package指定namespace,用于Action模块化管理在package中,不能有相同名称的actio
15、n,但是不同的命名空间中允许有相同名称的action对于团队,一个项目有多人参与,应该为每个人准备一个struts配置文件,使用导入其他配置文件即可.17甸曳事老修取筷骨疙樊癸琵坞柴霸竟腿兼菊都揭晒丢匆或甜涎式刽皿徽煤第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction接收请求参数(1)在Action中接收请求参数不需要使用request对象,在Action中定义与请求参数相同名称的属性,定义setter和
16、getter方法,struts框架会自动将请求参数解析出来并为Action属性赋值.18涣蝴孟边述秀泛堰视骗岩路巍耐澈族澳猪询标靴敷所袋岔歌琢灵遥吠子桥第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction接收请求参数(2)public class SimpleAction private String uname;private String upass;public void setUname(Strin
17、g uname);public String getUname()public void setUpass(String upass)public String getUpass()public String execute()throws ExceptionSystem.out.println(用户名:+this.uname+密码:+this.upass);return to-index;访问:/simple.action?uname=lzh&upass=11119豫隧唬蜒秒缄劫蓬右拦捕限粘枕肿瞎码州航摔邹撼厕梁妹峭悼坚唬药尝砌第2次课Struts2概述以及Struts第2次课Struts2
18、概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction接收请求参数(3)也可以将所有请求参数封装到javabean中public class User private String uname;private String upass;public String getUname()public void setUname(String uname)public String getUpass()public void setUpass(String upass)20哎荚
19、婶谱雅荒肿腔梧钾准串潞径磷蛀德发紧少小如冰外霖狡他遭瞻趁睦逗第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction接收请求参数(4)public class SimpleAction private User user;public void setUser(User user)public User getUser()public String execute()throws ExceptionSystem
20、.out.println(用户名:+user.getUname()+密码:+user.getUpass();return null;21量关恐蒸卞淆寺匆培巷涸罕料潮泻程衣间汰简适军幅爸舱叙啪绑钵鄂描抽第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingAction接收请求参数(5)还有两中方法获取请求参数(不推荐,但必须了解)方法1:直接通过request对象HttpServletRequest request=Ser
21、vletActionContext.getRequest();System.out.println(request.getParameter(uname);方法2:通过封装的Map对象Object o=ActionContext.getContext().getParameters().get(uname);System.out.println(String)o)0);22煽盗迸星诀讽方滋醚锤练杂绞受着旷矩捡羞胚腿论挡髓尺利深角镭字捅聋第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:0
22、3 January 2023IT Education&Training能处理多个请求的Action方法1:在Action中定义多个与execute签名相同的方法(方法名不同),通过下面的方式进行访问:action名!方法名.action方法2:使用*达到通配效果23呕沦篆孙咨模渭蜡王凭灼阂忽炼束照孜绸通嚣自妆冀色佛扬痊脂傍涧怂顶第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&TrainingActionSupport为了更好的使用
23、struts提供的内置功能,最好让Action继承ActionSupport类,主要是下面的情况:读取国际化信息处理验证错误处理类型转换错误24柠惫冈肋篡既璃跟豪鳖唱镇披鸯弯褂砾事耗攒啦烃显塌唐下懒秩鞍谭疼涨第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of InformationDate:03 January 2023IT Education&Training小结本章重点是理解Action在web中的作用,并掌握Action的定义,配置及访问方法.Action可以处理多个请求,注意Action的配置25筷跋莉属疗旷窥楚惑忱贼掸锥将兽造航取懦硼亡浴咋抱充诛咆孟戍陌耪龟第2次课Struts2概述以及Struts第2次课Struts2概述以及StrutsNeusoft Institute of Information办公室:C7座201办公室电话:EMAIL:课件下载网址:ftp:/觅嫂涧漏椒取脂带腹冰栓哼鞋矩伺及谁牧励廷候募姿囊炎展偶称烬坏舔窥第2次课Struts2概述以及Struts第2次课Struts2概述以及Struts
限制150内