欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPTX文档下载  

    普通用户注册struts2a.pptx

    • 资源ID:6582617       资源大小:969.66KB        全文页数:38页
    • 资源格式: PPTX        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    普通用户注册struts2a.pptx

    S2SH轻量级框架技术-普通用户注册,任务内容,任务内容(3),Action简介,Struts2有两个重要的控制器:StrutsPrepareAndExecuteFilter:中央控制器(核心控制器,Struts2框架提供),负责接收所有请求Action:业务逻辑控制器,负责处理单个特定请求创建Action有三种方式:一个普通的类,不需要实现任何接口或继承任何类。实现Action接口继承ActionSupport类,最常用的一种方式,好处在于可以直接使用Struts2封装好的方法,创建Action的方式,一个普通的类,package com.neusoft.action;import com.opensymphony.xwork2.Action;public class HelloAction public String execute()throws Exception System.out.println(HelloAction.);return“success”;,/hello.jsp,创建Action的方式,实现Action接口,package com.neusoft.action;import com.opensymphony.xwork2.Action;public class HelloAction implements Actionpublic String execute()throws Exception System.out.println(HelloAction.);return SUCCESS;,/hello.jsp,创建Action的方式,继承ActionSupport类,package com.neusoft.action;import com.opensymphony.xwork2.ActionSupport;public class HelloAction extends ActionSupport public String execute()System.out.println(HelloAction);return SUCCESS;,/hello.jsp,Action的实现,Action的配置,在Struts2框架中每一个Action是一个工作单元。Struts2框架负责将一个请求对应到一个Action上去,每当一个Action类匹配一个请求的时候,这个Action类就会被Struts2框架调用。Struts.xml中的每一个action元素就是一个action映射。action完整的属性如表所示:,Action的配置,Action配置中的各项默认值:如果没有为action指定class,默认是ActionSupport。如果没有为action指定method,默认执行action中的execute()方法。如果没有指定result的name属性,默认值为success。,/hello.jsp,struts.xml的实现,配置文件分模块的实现,Action名称的搜索顺序,1获得请求路径的URI,例如url是:http:/server/struts2/path1/path2/path3/test.action2首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package则转步骤3;3寻找namespace为/path1/path2的package,如果存在这个package,则在这个package中寻找名字为test的action,如果不存在这个package,则转步骤4;4寻找namespace为/path1的package,如果存在这个package,则在这个package中寻找名字为test的action,如果仍然不存在这个package,就去默认的namaspace的package下面去找名字为test的action(默认的命名空间为空字符串),如果还是找不到,页面提示找不到action。,DMI以及通配符,Action执行的时候并不一定要执行execute方法可以在配置文件中配置Action的时候用method属性来指定执行哪个方法如果Action中存在多个方法时,可以在url地址中动态指定(动态方法调用DMI)(推荐)/user/user!add添加用户如果不想使用动态方法调用,我们可以通过常量关闭动态方法调用。前者会产生太多的action配置,所以不推荐使用,DMI以及通配符,使用通配符,将配置量降到最低不过,一定要遵守约定优于配置的原则同时,struts2还支持*_*的配置模式,例如:如果路径中没有通配符,则此Action优先级最高;如果路径中有通配符,不论是何种通配符,按顺序匹配,/1_2.jsp,Action接收请求参数的方式,三种方式:使用Action属性接收参数使用DomainModel接收参数使用ModelDriven接口接收参数,使用Action属性,在Action类中定义与请求参数同名的属性,struts2便能自动接收请求参数并赋予给同名属性。请求路径:http:/localhost:8080/param/view.action?username=“neusoft”,public class ParamAction extends ActionSupport private String username;public String getUsername()return username;public void setUsername(String username)/struts2通过反射技术调用与请求参/数同名的属性的setter方法来获取请求参数值 this.username=username;public String execute()System.out.println(username:+username);return SUCCESS;,使用DomainModel,请求路径:http:/localhost:8080/param/view.action?user.username=“neusoft”,public class User private String username;public String getUsername()return username;public void setUsername(String username)this.username=username;,public class ParamAction extends ActionSupportprivate User user;public User getUser()return user;public void setUser(User user)this.user=user;public String execute()System.out.println(username:+user.getUsername();return SUCCESS;,使用ModelDriven接口,请求路径:http:/localhost:8080/param/view.action?username=“neusoft”,public class ParamAction extends ActionSupport implements ModelDrivenprivate User user=new User();public User getModel()return user;public String execute()System.out.println(username:+user.getUsername();return SUCCESS;,public class User private String username;public String getUsername()return username;public void setUsername(String username)this.username=username;,Action接受参数的实现,Struts2中访问web元素的四种方式,1.通过ActionContext来访问Map类型的request、session、application对象2.通过实现RequestAware、SessionAware、ApplicationAware接口来访问Map类型的request、session、application对象(IoC方式)3.通过ServletActionContext来访问Servlet API类型的HttpServletRequest、HttpSession、ServletContext对象(依赖于Servlet API 方式)4.通过实现ServletRequestAware接口来访问Servlet API类型的HttpServletRequest、HttpSession、ServletContext对象(IoC方式)其中,前两种方式与Servlet API解耦合,后两种方式与Servlet API耦合,推荐使用第二种方式。,通过ActionContext,public class AttributeAction extends ActionSupportprivate Map request;private Map session;private Map application;public AttributeAction()request=(Map)ActionContext.getContext().get(request);session=ActionContext.getContext().getSession();application=ActionContext.getContext().getApplication();public String execute()request.put(req,“req);session.put(ses,“ses);application.put(app,“app);return SUCCESS;,实现RequestAware、SessionAware、ApplicationAware接口,public class AttributeAction extends ActionSupport implements RequestAware,SessionAware,ApplicationAwareprivate Map request;private Map session;private Map application;public void setRequest(Map request)this.request=request;public void setSession(Map session)this.session=session;public void setApplication(Map application)this.application=application;public String execute()request.put(req,“req);session.put(ses,“ses);application.put(app,“app);return SUCCESS;,通过ServletActionContext,public class AttributeAction extends ActionSupportprivate HttpServletRequest request;private HttpSession session;private ServletContext application;public AttributeAction()request=ServletActionContext.getRequest();session=request.getSession();application=session.getServletContext();public String execute()request.put(req,“req);session.put(ses,“ses);application.put(app,“app);return SUCCESS;,通过实现ServletRequestAware接口,public class AttributeAction4 extends ActionSupport implements ServletRequestAwareprivate HttpServletRequest request;private HttpSession session;private ServletContext application;public void setServletRequest(HttpServletRequest request)session=request.getSession();application=session.getServletContext();public String execute()request.setAttribute(req,aaa3);session.setAttribute(ses,bbb3);application.setAttribute(app,ccc3);return SUCCESS;,Action中得到Servlet的request实现,默认Action,如果访问一个不存在的action,就会默认的访问标签中name属性定义的action,此处为名称为index的action。,HelloWorld/example,Action中result的各种转发类型,chain:处理action链,跳转到下一个actionredirectAction:重定向到一个actionredirect:重定向到一个URLdispatcher:转发到Jsphttpheader:控制特殊http行为stream:向浏览器发送InputStream对象FreeMarker:跳转到模板文件velocity:处理velocity模板xslt:处理xml/xlstplaintext:显示原始文件内容,例如:当我们需要原样显示jsp文件源代码 的时候,我们可以使用此类型。,Action中常见的结果类型,/WEB-INF/result/forward.jsp/redirect.jsp re re,Action中的结果类型,如果重定向或者转发的action在别的命名空间下:helloworld/test 在result中还可以使用$属性名表达式访问action中的属性,表达式里的属性名对应action中的属性。如下:,/param.jsp?age=$age,全局result配置,当多个action中都使用到了相同视图,这时我们应该把result定义为全局视图。struts1中提供了全局forward,struts2中也提供了相似功能:/main.jsp,struts.xml的实现,配置文件中的include,对于团队,建议根据功能模块进行划分,每个模块一个struts配置文件,使用导入其他配置文件即可。命名规则一般建议如下:,struts.xml的实现,常量定义,常量可以在struts.xml或struts.properties中配置,建议在struts.xml中配置,两种配置方式如下:在struts.xml文件中配置常量 在struts.properties中配置常量 struts.action.extension=do因为常量可以在下面多个配置文件中进行定义,所以我们需要了解struts2加载常量的搜索顺序:struts-default.xml struts-plugin.xml struts.xml struts.properties web.xml如果在多个文件中配置了同一个常量,则后一个文件中配置的常量值会覆盖前面文件中配置的常量值.,常见的常量,任务内容(1),

    注意事项

    本文(普通用户注册struts2a.pptx)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开