structs有关讲解.ppt

上传人:小飞机 文档编号:6521432 上传时间:2023-11-08 格式:PPT 页数:26 大小:507.50KB
返回 下载 相关 举报
structs有关讲解.ppt_第1页
第1页 / 共26页
structs有关讲解.ppt_第2页
第2页 / 共26页
structs有关讲解.ppt_第3页
第3页 / 共26页
structs有关讲解.ppt_第4页
第4页 / 共26页
structs有关讲解.ppt_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《structs有关讲解.ppt》由会员分享,可在线阅读,更多相关《structs有关讲解.ppt(26页珍藏版)》请在三一办公上搜索。

1、Struts2第一章,Struts2与控制器Action,1,目标,1.1 Struts2介绍与环境搭建1.2 StrutsPrepareAndExecuteFilter过滤器1.3 Action,ActionSupport及配置1.4 Action与请求参数1.5 Action控制逻辑1.6 Action与Servlet API(ActionContext,ServletActionContext),2,Struts介绍,Struts是一个Web框架,他以一种更加优雅的方式来实现控制器,并提供如国际化,类型转换,数据验证,ajax等一系列的功能.Struts是在MVC架构模式的基础上构建的一

2、种WEB解决方案.在Struts2中使用IOC和AOP最先进的设计思想,使得控制器与容器最大程度的解耦.,3,Struts2介绍,Struts2是在xwork基础上发展进来的WEB框架,利用了xwork的先进解决方案,加上Struts长期聚积的名声和人气,合二为一,形成Struts2.,4,Struts2特点,1.无需与Servlet API整合,更容易测试2.优雅的请求参数封装3.灵活的视图技术4.丰富的表达式语言5.机动,灵活,简单的配置6.线程安全的控制器(Action)7.霸气的插件,5,Struts2的体系结构,6,Struts版本,两大版本1.X:出现最早,人气十足,但技术落后,廉

3、颇老矣!2.X:大量使用IOC和AOP,并支持ajax.后来居上!当前最新版本:2.1.8,8,环境搭建:主要的库文件,9,环境搭建:复制库文件,将struts2所需要的包复制到工程的lib目录或者创建一个自定义库,方便日后使用.,10,环境搭建:配置DTD文件,11,启动Struts2,Struts2通过StrutsPrepareAndExecuteFilter过滤器来启动,在web.xml文件中输入如下配置:struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*,12,控制器

4、,Struts2有两个重要的控制器:StrutsPrepareAndExecuteFilter:核心控制器,负责接收所有请求Action:负责处理单个特定请求Action是一个普通的类,不需要实现任何接口或继承任何类.,13,Action的基本结构,14,public class SimpleAction public String execute()throws Exceptionreturn to-index;说明:无需实现任何接口或继承任何类,但有时为了简化某些功能必须继承ActionSupport类execute()方法会被自动调用,该方法用于处理用户请求,返回类型为String,是跳

5、转路径的逻辑名称.向上抛出Exception表示能够处理所有异常.“to-index”是跳转路径的逻辑名称.,Action的配置struts.xml,Action必须配置在struts.xml文件中,该文件默认放在classpath下./index.jsp,15,struts.xml配置说明,package:用于组织Action的一个逻辑概念,必须通过extends继承自struts-default包,struts-default包在struts-default.xml文件中定义,该文件配置了很多有用的功能.action:所有的Action都必须通过action标签配置name:访问actio

6、n 逻辑名称class:Action类的全限定名result子标签:定义跳转路径,execute()方法的返回值在此定义.默认情况下为转发,如果是重定向,必须按下面的格式:/xx.jsp,16,访问Action,simple.action是访问Action的实际路径.格式:action的逻辑名称+后缀后缀的默认名称为:action在struts.properties文件中可以配置后缀,如下:struts.action.extension=action,17,另外,可以为package指定namespace,用于Action模块化管理在package中,不能有相同名称的action,但是不同的命

7、名空间中允许有相同名称的action对于团队,一个项目有多人参与,应该为每个人准备一个struts配置文件,使用导入其他配置文件即可.,18,Action接收请求参数(1),在Action中接收请求参数不需要使用request对象,在Action中定义与请求参数相同名称的属性,定义setter和getter方法,struts框架会自动将请求参数解析出来并为Action属性赋值.,19,Action接收请求参数(2),public class SimpleAction private String uname;private String upass;public void setUname(S

8、tring 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=111,20,Action接收请求参数(3),也可以将所有请求参数封装到javabean中public class User pr

9、ivate String uname;private String upass;public String getUname()public void setUname(String uname)public String getUpass()public void setUpass(String upass),21,Action接收请求参数(4),public class SimpleAction private User user;public void setUser(User user)public User getUser()public String execute()throws

10、 ExceptionSystem.out.println(用户名:+user.getUname()+密码:+user.getUpass();return null;,22,Action接收请求参数(5),还有两中方法获取请求参数(不推荐,但必须了解)方法1:直接通过request对象HttpServletRequest request=ServletActionContext.getRequest();System.out.println(request.getParameter(uname);方法2:通过封装的Map对象Object o=ActionContext.getContext().

11、getParameters().get(uname);System.out.println(String)o)0);,23,能处理多个请求的Action,方法1:在Action中定义多个与execute签名相同的方法(方法名不同),通过下面的方式进行访问:action名!方法名.action方法2:使用*达到通配效果,24,ActionSupport,为了更好的使用struts提供的内置功能,最好让Action继承ActionSupport类,主要是下面的情况:读取国际化信息处理验证错误处理类型转换错误,25,小结,本章重点是理解Action在web中的作用,并掌握Action的定义,配置及访问方法.Action可以处理多个请求,注意Action的配置,26,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号