《struts高级进阶》PPT课件.ppt

上传人:赵** 文档编号:68492868 上传时间:2022-12-28 格式:PPT 页数:40 大小:666.50KB
返回 下载 相关 举报
《struts高级进阶》PPT课件.ppt_第1页
第1页 / 共40页
《struts高级进阶》PPT课件.ppt_第2页
第2页 / 共40页
点击查看更多>>
资源描述

《《struts高级进阶》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《struts高级进阶》PPT课件.ppt(40页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、高级软件人才实作培训专家高级软件人才实作培训专家!StrutsStruts高级进阶高级进阶讲师:讲师:张孝祥北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!内容大纲内容大纲l回顾回顾Struts的请求处理时序图的请求处理时序图lStruts请求处理过程的源码分析与请求处理过程的源码分析与digesterl封装封装Formbean数据时的问题数据时的问题lValidator框架框架l防止表单重复提交防止表单重复提交l使用超连接的技巧使用超连接的技巧l修改信息的技巧修改信息的技巧l使用复选框的技巧使用复选框的技巧l使用下拉列表框的技巧使用下拉列表框的技巧l文件上传文件上传lDi

2、spatchAction的应用的应用北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Struts的基本原理(1)ActionServlet用户请求ActionActionActionStruts-config.xmlWeb容器web.xml北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Struts的基本原理(2)ActionServletActionFormBeanValidate方法?是Input视图视图1视图2视图否Validate属性?是否ActionForwardActionForwardActionForward北京传智播客教育 高级软件人才

3、实作培训专家高级软件人才实作培训专家!Struts的请求处理时序图的请求处理时序图北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!用户注册案例的实验基础预备l步骤:1.新建web工程2.把ActionServlet及相关类引进来3.在web.xml文件中配置ActionServlet4.进行简要的需求分析与设计(见下页)5.编写出各个部件(两个Action和两个jsp页面)6.在struts配置文件中配置各个组件7.在各个组件中编写代码把流程连接起来,在第一个jsp页面中暂时使用标签,先不引入表单。北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!注册用例

4、的简要设计图RegUserActionUIRegUser.jspsuccessRegUserActionMain.jspsuccess北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!阶段与面试有关的目标1.什么是MVC模式?2.说说你对struts的理解?3.独立用struts做一个注册程序(这一阶段只要做出基本骨架就行)4.怎样防止struts配置文件的膨胀?5.说说软件开发的流程6.说说你在struts项目中使用的是什么标签库?7.能区分ActionMapping与Action的区别吗?8.配置文件中的action元素中有哪几个属性必须设置北京传智播客教育 高级软件人才

5、实作培训专家高级软件人才实作培训专家!用户注册案例的实验FormBean与l步骤1.在网页中添加原始的标签、三个输入框(用户名,密码,密码2)和一个提交按钮。2.由提交路径编写不方便引入和标签。3.根据提交的错误信息,引入formbean,创建和配置formbean,formbean中全部用基本属性的方式,在action中直接向response中打印出formbean的信息,然后进行访问测试。4.在formbean中引入复杂属性user实体对象,formbean中包含user实体对象和password2字段5.引入表单校验和input属性的讲解,当formbean的password2与user

6、的password不相等时,则认为出错。6.用普通el表达式从formbean中提取数据回显。7.用标签进行错误信息提示,引入struts中的国际化讲解8.用html:text等标签进行数据回显,引出html:password要设置value的技巧。北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!阶段与面试有关的目标1.在action中可不可以直接向浏览器输出内容?2.struts配置文件中的action元素的attribute属性的作用?3.struts配置文件中的action元素的input属性的作用?北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!

7、用户注册案例的实验与防止表单重复提交l标签的三个作用:1.生成html文档的标签;2.检查Session中是否存在Token,是则生成隐藏字段,以防止表单重复提交;3.获取action属性中路径所对应的formbean,存在则获取,不存在则创建新的,再把这个formbean以一个特殊关键字保存在request中,以便其中的标签获取值时使用。l步骤:1.在第一个Action中调用saveToken2.查看jsp页面的生成hidden字段3.在第二个action中调用isTokenValid4.分析标签为什么能够回显示数据北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!用户注册

8、案例的实验在注册页面增加一组复选框l步骤:1.用原始的html标签在网页中写出复选框列表,属性名称为specialities;2.在formbean中定义接受复选框参数的数组属性,并在action中打印出数组结果;3.将jsp页面中的复选框列表项的信息改为由控制器组件提供和用JSTL标签渲染;4.由表单校验出错后回到输入jsp页面无法正常显示复选框列表,引出action元素的input属性配置问题;5.完成表单校验出错后回到输入jsp页面时还能保留复选框的初始选择结果的jstl代码;6.使用完成复选框列表的自动生成和自动填充复选框内容。北京传智播客教育 高级软件人才实作培训专家高级软件人才实作

9、培训专家!用户注册案例的实验注册成功后的处理模式l步骤:1.修改第二个Action和结果页面,实现注册成功后显示出所有用户的效果。2.增加一个新的列表Action,专门实现显示出所有用户的效果。3.刷新列表页面出现问题,引出redirect类型的forward的讲解。北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Struts开发一个用例的参考模式图北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Validator框架框架l普通表单校验方式普通表单校验方式l使用使用Validator框架进行表单校验框架进行表单校验lValidator框架的原理与底层分析

10、lStruts的Validator框架源码实现北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!需求说明需求说明l异地交易的零售商要频繁地接收客户的异地交易的零售商要频繁地接收客户的异地小额支付异地小额支付l手工管理邮局汇款和银行转账的方式效手工管理邮局汇款和银行转账的方式效率低下、交易周期过长率低下、交易周期过长l特别是网络在线类信息产品迫切需要实特别是网络在线类信息产品迫切需要实现实时交易现实时交易北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!在线即时支付系统的作用在线即时支付系统的作用l为用户和商户提供安全、高效、便捷的网络支为用户和商户提供安全、

11、高效、便捷的网络支付服务付服务l促进网民对网络在线类信息产品的即时购买促进网民对网络在线类信息产品的即时购买l交易便利可直接扩大产品的销售量交易便利可直接扩大产品的销售量l电子商务网站必须具备的功能电子商务网站必须具备的功能北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!实现途径l银行即时转账银行即时转账l网络接入商(电信等)扣费网络接入商(电信等)扣费l电话电话/短信收费短信收费l整合多家支付方式的第三方平台整合多家支付方式的第三方平台指点迷津指点迷津:商家网站为何不直接与银行电信对接,商家网站为何不直接与银行电信对接,却要去与第三方平台对接?却要去与第三方平台对接?北京

12、传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!必须清楚的一些问题l商家网站的购买(下单)确认页面后的下一个页面是什么?l支付页面的下一个页面是什么?l支付确认页面的下一步动作是什么?l请求到支付平台是要附带哪些参数信息?l在线支付平台如何将支付信息反馈给商家网站?l在线支付平台处理完后给用户显示一个什么页面?北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!技术实现lWebService调用调用lURL重定向重定向北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!WebService调用调用原理商家网站程序收费平台WebService客户端

13、WebService服务器端发送转账请求接收处理结果远程代理对象转账方法调用本地转账处理对象转账方法调用北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!URL重定向重定向功能演示1北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!URL重定向重定向功能演示2北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!必须的编程技能lMD5技术的原理与应用lMD5的编码处理l站点自动登陆的原理与编码实现l组合多个请求参数的技巧北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!URL重定向处理细节重定向处理细节用户浏览器商家网站第三方

14、平台(财富通/支付宝等)银行/电信及其他第三方平台发送结算请求返回结算确认页面确认结算请求平台返回结算清单及操作界面选择结算的银行、电信或第三方平台返回结算确认页面确认结算请求银行、电信或第三方平台返回结算清单及操作界面银行、电信处理完后将请求重定向到第三方平台第三方平台将请求重定向到商家网站北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!URL重定向处理细节重定向处理细节用户浏览器商家网站第三方平台(财富通/支付宝等)银行/电信及其他第三方平台确认结算请求平台返回结算清单及操作界面平台的最后处理操作返回重定向到商家网站的地址12重定向到商家网站进行收费后的处理.发送结算请

15、求返回结算确认页面通知商家收费成功返回重定向地址第三方平台与银行的交互过程与此类似北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!财富通流程财富通流程北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!支付请求的参数字段名字段名填写填写类类型型说说明明cmdno必填业务代码,财付通支付支付接口填1date必填商户日期:如20051212bank_type必填银行类型:财付通支付填0desc必填交易的商品名称purchaser_id可选用户(买方)的财付通帐户,可以为空bargainor_id必填商家的商户号,有腾讯公司唯一分配transaction_id必填

16、交易号(订单号),由商户网站产生(建议顺序累加),一对请求和应答的交易号必须相同)。transaction_id为28位长的数值,其中前10位为商户网站编号(SPID),由财付通统一分配;之后8位为订单产生的日期,如20050415;最后10位商户需要保证一天内不同的事务(用户订购一次商品或购买一次服务),其ID不相同。sp_billno必填商户系统内部的定单号,此参数仅在对账时提供。total_fee必填总金额,以分为单位fee_type必填现金支付币种,目前只支持人民币,码编请参见附件中的return_url必填接收财付通返回结果的URL(推荐使用ip)attach必填商家数据包,原样返回

17、sign必填MD5签签名名例如:例如:“cmdno=1&date=20051219&bargainor_id=1000000301&transaction_id=1000000301200512190000012138&sp_billno=1111&total_fee=1300&fee_type=1&return_url=http:/ 高级软件人才实作培训专家高级软件人才实作培训专家!支付通知的参数目的目的URL$RETURN_URLQ1字段名字段名填写填写类类型型说说明明cmdno必填任务代码1pay_result必填支付结果,详见“返回值编码定义”,0成功pay_info可选支付结果信息,

18、支付成功时为空date必填商户日期bargainor_id必填卖方账号(商户spid)transaction_id必填财付通交易号(订单号)sp_billno必填商户系统内部的定单号,此参数仅在对账时提供。total_fee必填订单总金额,以分为单位fee_type必填现金支付币种attach必填商家数据包,原样返回sign必填MD5签签名名例如:例如:cmdno=1&pay_result=0&date=20051220&transaction_id=1000000301200512200000000004&sp_billno=k0000000001&total_fee=100&fee_typ

19、e=1&attach=test_attach&key=1000000301注意:以上拼凑值不要有空格!使用标准MD5算法对该字符串进行加密,加密结果全部转换成大写后,即为我们所需的订单MD5校验码北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!支付网关的Web层协作图PayGate支付请求PayAffirm.jspPayDeal支付通知确认应答PayResponsePayRequest商家浏览器北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!PayGate Servlet的处理流程1.将请求参数组装成Bean对象2.获取商户的key3.校验参数的有效性4

20、.将请求Bean对象保存到Session中5.显示支付提示和确认页面北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!PayDeal Servlet的处理流程1.校验用户名和密码2.检查用户余额3.将用户余额减少4.记录交易日志5.通知商户交易成功 5.1 将通知信息封装为Bean对象 5.2 将通知Bean对象生成通知参数 5.3 使用URLConnection类访问商家的Servlet6.校验商户响应结果7.根据商户的url回应客户端浏览器北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Tip4:解决Web开发中的相对路径问题l如果如果logon.js

21、plogon.jsp页面的内容如下,页面的内容如下,LogonServletLogonServlet内部在登录失败时将请求内部在登录失败时将请求又转发给又转发给logon.jsplogon.jsp,元素中的元素中的actionaction属性设置会有什么问题属性设置会有什么问题?*第二次访问的路径相对第二次访问的路径相对logon.jsplogon.jsp的路径为的路径为servlet/servlet/LogonServletservlet/servlet/LogonServletl解决方案:解决方案:张孝祥北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!Tip5:为网站配

22、置相同页眉和页脚的技巧为网站配置相同页眉和页脚的技巧l常见的应用:常见的应用:与l一般人不知道的应用:一般人不知道的应用:*.jsp/header.jsp/footer.jsp北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!页面布局代码的重用l要生成一批如左图所示的具有相同页眉,页尾,以及左侧栏的页面,这些页面的内容不同,要想充分实现HTML代码的复用,每个页面应该用几个局部网页来合成呢?l页面布局代码:headerMenu”footer l页面布局代码的重用方式:Apache的Tiles框架Filter+布局文件(例如,Sitemesh)北京传智播客教育 高级软件人才实作

23、培训专家高级软件人才实作培训专家!Tip6:Web开发中的各种字符乱码问题l字符编码的基本理论字符编码的基本理论 举例:记事本的中文乱码问题,xml的字符编码问题lJavaJava程序编译时的中文乱码分析程序编译时的中文乱码分析lJavaJava程序运行时的中文乱码分析程序运行时的中文乱码分析 举例:更改操作系统的Locale,利用PrintWriter/PrintStream输出字符串lServletServlet输出时的中文乱码分析输出时的中文乱码分析lServletServlet读取请求参数时的中文乱码分析读取请求参数时的中文乱码分析lJSPJSP的乱码分析的乱码分析lServletSe

24、rvlet实现文件下载时的中文文件名的乱码分析实现文件下载时的中文文件名的乱码分析lApacheApache文件上传组件所遇到的中文乱码分析文件上传组件所遇到的中文乱码分析l利用利用JavamailJavamail API API创建创建MIMEMIME邮件时的中文乱码分析邮件时的中文乱码分析lMysqlMysql数据库的中文乱码分析数据库的中文乱码分析lAjaxAjax中的字符乱码问题分析中的字符乱码问题分析l请求参数不进行请求参数不进行urlurl编码导致长度为奇数的中文字符串的最后一个字符混乱编码导致长度为奇数的中文字符串的最后一个字符混乱北京传智播客教育 高级软件人才实作培训专家高级软

25、件人才实作培训专家!JSP程序所涉及到的字符编码转换程序所涉及到的字符编码转换 北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!字符乱码与解决办法的原理分析字符乱码与解决办法的原理分析北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!推荐我所编写的书籍lJavaJava就业培训教程就业培训教程lJavascriptJavascript网页开发网页开发lJavaJava邮件开发详解邮件开发详解l深入体验深入体验Java WebJava Web开发内幕开发内幕核心基础核心基础l深入体验深入体验Java WebJava Web开发内幕开发内幕高级特性高级特性北京传智播客教育 高级软件人才实作培训专家高级软件人才实作培训专家!结束语结束语 热烈欢迎各软件公司到传智热烈欢迎各软件公司到传智播客公司预定和招聘软件开发播客公司预定和招聘软件开发人才!人才!谢谢!谢谢!北京传智播客教育

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁