资料课件讲义段建国-课件TP02_第1页
资料课件讲义段建国-课件TP02_第2页
资料课件讲义段建国-课件TP02_第3页
资料课件讲义段建国-课件TP02_第4页
资料课件讲义段建国-课件TP02_第5页
已阅读5页,还剩34页未读 继续免费阅读

付费下载

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Struts2初体验,第二章,回顾与作业点评,ModelI模式开发存在哪些弊端?什么是MVC设计模式?自定义MVC框架的步骤,提问,2/42,Struts2及其优势,Struts2是一个MVC框架,以WebWork框架的设计思想为核心,吸收了Struts1的部分优点Struts2拥有更加广阔的前景,自身功能强大,还对其他框架下开发的程序提供很好的兼容性,3/42,Struts2的资源获取,Struts官方地址:本书选取Struts进行讲解Struts2目录结构apps目录:Struts2示例应用程序docs目录:Struts2指南、向导、API文档lib目录:Struts2的发行包及其依赖包src目录:Struts2项目源代码,4/42,Struts2初体验7-1,使用Struts2实现:输入用户姓名,然后输出欢迎信息,问题,5/42,Struts2初体验7-2,使用Struts2开发程序的基本步骤加载Struts2类库配置web.xml文件开发视图层页面开发控制层Action配置struts.xml文件部署、运行项目,分析,6/42,Struts2初体验7-3,Struts2类库,7/42,Struts2初体验7-4,配置web.xml,struts2org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilterstruts2/*,将全部请求定位到指定的Struts2过滤器中,8/42,Struts2初体验7-5,编写helloWorld.jsp,请输入您的姓名:,输出显示语句,9/42,Struts2初体验7-6,编写HelloWorldAction,publicclassHelloWorldActionimplementsAction/用户输入的姓名privateStringname=;/向用户显示的信息privateStringmessage=;publicStringexecute()/根据用户输入的姓名,进行Hello,XXXX!的封装this.setMessage(Hello,+this.getName()+!);/处理完毕,返回导航结果的逻辑名returnsuccess;/省略setter、getter方法,10/42,Struts2初体验7-7,配置Struts2配置文件(struts.xml)部署、运行项目,helloWorld.jsp,与Action返回字符串对应,与form表单的action属性值对应,11/42,Struts2开发小结,开发Struts2应用的基本环节确认环境是否添加了Struts2框架支持文件是否配置了Filter功能实现编写Action类配置struts.xml文件编写视图,12/42,Struts2再体验3-1,如何使用Struts2实现用户登录验证实现步骤和Struts2初体验相同,问题,分析,13/42,Struts2再体验3-2,开发控制层Action-LoginAction,publicclassLoginActionimplementsActionprivateStringusername=;privateStringpassword=;publicStringexecute()if(jbit.equals(username),14/42,Struts2再体验3-3,配置Struts2配置文件(struts.xml),success.jspfail.jsp,15/42,学员操作添加用户登录,需求说明:为租房网添加Struts2框架支持使用Struts2框架实现用户登录在LoginAction中获得用户名及密码并对其合法性进行验证配置struts.xml文件,用户登录成功和失败跳转的页面,练习,提示,16/42,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,共性问题集中讲解,17/42,Struts2访问ServletAPI4-1,如果登录成功后,如何使用session保存用户信息?Struts2访问ServletAPI的方式与ServletAPI解耦的访问方式与ServletAPI耦合的访问方式,问题,分析,18/42,Struts2访问ServletAPI4-2,与ServletAPI解耦的访问方式对ServletAPI进行封装提供了三个Map对象访问request、session、application作用域通过ActionContext类获取这三个Map对象Objectget(request)MapgetSession()MapgetApplication(),publicclassLoginActionimplementsActionprivatestaticfinalStringCURRENT_USER=CURRENT_USER;/省略username、password属性及其setter和getter方法publicStringexecute()if(jbit.equals(username),以key/value形式保存数据,从ActionContext中获取session,19/42,Struts2访问ServletAPI4-3,页面显示,读取Session中保存的用户名欢迎您,$sessionScope.CURRENT_USER!,从session中读取数据,20/42,Struts2访问ServletAPI4-4,与ServletAPI耦合的访问方式通过ServletActionContext类获取ServletAPI对象ServletContextgetServletContext()HttpServletResponsegetResponse()HttpServletRequestgetRequest()通过request.getSession()获取session对象通过xxx.setAttribute()和xxx.getAttribute()功能,在不同的页面或Action中传递数据,publicclassLoginActionimplementsActionprivatestaticfinalStringCURRENT_USER=CURRENT_USER;/省略username、password属性及其setter和getter方法publicStringexecute()if(jbit.equals(username),以setAttribute()的方式保存数据,获取session,21/42,学员操作session保存数据,需求说明:用户登录成功后,使用session保存用户信息在登录成功后读取用户名显示在LoginAction中获得用户名及密码并对其合法性进行验证登录成功后以解耦的方式获取session,练习,提示,22/42,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,共性问题集中讲解,23/42,Struts2的数据校验2-1,对用户登录添加表单验证功能Struts2的提供了数据验证机制继承ActionSupport类来完成Action开发ActionSupport类不仅对Action接口进行简单实现,同时增加了验证、本地化等支持,问题,分析,24/42,Struts2的数据校验2-2,修改LoginAction,publicclassLoginActionextendsActionSupport/.省略代码publicvoidvalidate()if(this.getUsername().length()=0)addFieldError(name,用户名不能为空);if(this.getPassword().length()=0)addFieldError(pwd,密码不能为空);/.省略代码,继承ActionSupport,验证出错,指定错误提示信息,25/42,Struts2标签,如何将Action的错误信息在页面输出?使用Struts2提供的标签来完成,问题,分析,需要在页面中引入Struts2的标签库,26/42,Struts2表单标签2-1,常用表单标签,27/42,Struts2表单标签2-2,修改JSP页面,用户名:密码:,显示服务器返回的错误信息,28/42,Struts2通用标签2-1,使用Struts2标签是否可以在页面中实现逻辑控制?使用Struts2的通用标签条件判断标签迭代标签,问题,分析,29/42,Struts2通用标签2-2,常用通用标签,30/42,条件标签,条件判断标签,语法,需要执行的代码需要执行的代码需要执行的代码,表达式条件为true时,执行相应的代码,31/42,迭代标签,迭代标签value属性:需要进行遍历的集合对象status属性:表示当前迭代对象的一个实例id属性:当前迭代元素的id,可直接访问元素,该参数可选,语法,读取集合对象并输出显示,32/42,学员操作实现用户登录验证,需求说明:用户登录时,使用Struts2框架实现登录数据的校验一旦登录失败,给出校验信息提示编写validate()方法实现数据校验,并添加校验信息在页面中使用Struts2标签输出校验信息,练习,提示,33/42,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,共性问题集中讲解,34/42,学员操作用户信息列表显示,需求说明:读取用户信息,并以列表形式在页面显示在页面中使用条件标签进行判断集合是否存在在页面中使用迭代标签进行遍历,练习,提示,35/42,共性问题集中讲解,常见问题及解决办法代码规范问题调试技巧,共性问题集中讲解,36/42,总结,Action的实现方式实现Action接口继承Action接口实现类ActionSu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论