




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、黑马程序员:三大框架Struts2-day01笔记第1章 框架概述什么是框架,为什么使用框架,框架优点框架(framework)是一个基本概念上的结构,用于去解决或者处理复杂的问题框架,即framework。其实就是某种应用的半成品,就是一组组件,供你选用完成你自己的系统。简单说就是使用别人搭好的舞台,你来做表演。框架是在特定的领域内解决问题。优点重用代码大大增加,软件生产效率和质量也得到了提高使用框架开发,它提供统一的标准,大大降低了我们的后期维护。学习框架重点:了解框架做了什么,我们要在这个基础上在做什么事情。第2章 java开发中常用框架SSH (SSM SSI)SSH struts2
2、spring hibernateSSM(SSI) springmvc spring mybatis(ibatis)SSH 它是企业开发中比较主流的一套架构。SSH框架在开发中所处的位置:第3章 Struts2框架介绍什么是struts2框架,学习struts2框架的核心。Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互Struts2=struts1+webwork问题:struts2是一个mvc框架,它的mvc是什么?javaweb开发中的mvc,是在jsp的
3、model2模式中提过Model-javabeanView-jspController-servlet核心点:1. 拦截器 interceptor2. Action3. ognl与valueStack在现在开发中与struts2比较类似的框架有哪些?Struts1 webwork springmvc jsfStruts2框架流程第4章 今天内容介绍与重点今天内容:一个简单的登录案例在这个案例中,我们要使用struts2框架怎样解决重点:1. struts2框架如何完成原来由servlet完成的工作。2. Struts2框架如何完成请求参数的封装处理3. Struts2框架如何完成页面跳转。第5
4、章 简单登录案例原型需要三个jsp页面 login.jsp success.jsp failer.jsp还需要一个servlet LoginServlet 主要完成的是业务逻辑操作。login.jspLoginServlet第6章 Struts2框架来完成登录操作6.1 问题:为什么使用struts2框架?Struts2框架它是一个在web中应用的mvc框架。我们使用strtus2框架来完成web开发有什么优势?6.2 问题:怎样使用strtuts2框架首先要上网下载它的jar包。步骤:1. 导入相关的jar文件2. 需要在web.xml文件中配置一个Filter(只有配置了它才可以使用str
5、uts2框架)3. struts.xml配置4. 创建Action来完成逻辑操作6.3 快速入门我们使用的是struts2 2.3.24版本我们使用strtus2框架不是直接将它的lib包下的所有的jar文件copy到项目中,而是使用其中的一部分。我们可以参考它的示例代码:1. 导入13个jar包2. 需要在web.xml文件中配置StrutsPrepareAndExecuteFilter3. 创建一个struts.xml文件,它的位置是可以放置在src下。6.3.1 代码实现 jsp页面 Action struts.xml文件配置6.3.2 流程分析
6、6.4 使用struts2完成简单登录操作1. login.jsp页面不变动2. 创建一个LoginAction来完成逻辑操作3. 在struts.xml文件中完成配置操作问题1:在LoginAction中如何得到username与password可以直接在Action类中提供成员属性,并为其提供get/set方法。就可以得到请求参数问题2:如果实现路径跳转?1. 我们可以给action中的方法添加一个String返回值2. 在struts.xml配置文件中,在其对应的action配置上通过来确定跳转的路径。第7章 Struts2框架执行流程7.1 Struts2源码导入对于struts2框架
7、它的源代码我们主要使用三部分1. struts2核心部分源代码 org.apache.struts2xxsrccoresrcmainjava2. struts2的xwork核心部分源代码srcxwork-coresrcmainjavacomopensymphonyxwork23. struts2的插件的源代码srcplugins7.2 关于struts.xml配置文件中提示问题第一步在eclipse的window下首选面中查找xml catalog第二步Location:配置本地的dtd文件路径key type:选择URIKey: /dtds/st
8、ruts-2.3.dtd注意版本要对应,如果你可以上网,那么会自动缓存dtd,具有提示功能。7.3 执行流程介绍1. 当通过浏览器发送一个请求2. 会被StrutsPrepareAndExecuteFilter拦截3. 会调用strtus2框架默认的拦截器(interceptor)完成部分功能4. 在执行Action中操作5. 根据Action中方法的执行结果来选择来跳转页面Resutl视图一般管StrutsPrepareAndExecuteFilter 叫做前端控制器(核心控制器),只有配置了这个filter我们的strtus2框架才能使用。Strtus2的默认拦截器(interceptor
9、)它们是在struts-default.xml文件中配置注意:这上xml文件是在strtus-core.jar包中。默认的拦截器是在defaultStack中定义的。第8章 Struts2配置详解8.1 Struts2配置文件加载顺序第一个加载的是perties文件位置:strtus2-core.jar包 org.apache.struts2包下作用:主要是声明了struts2框架的常量 第二个加载的是一批配置文件Strtus-default.xml位置:struts2-corl.jar 作用:声明了interceptor result beanStrtus-plugin
10、.xml位置:在strtus2的插件包中作用:主要用于插件的配置声明Strtus.xml位置:在我们自己的工程中作用:用于我们自己工程使用strtus2框架的配置第三个加载的是自定义的perties位置:都是在自己工程的src下作用:定制常量第四自定义配置提供第五加载的是web.xml配置文件主要是加载strtus2框架在web.xml文件中的相关配置.第六 bean相关配置重点掌握:1. Dperties2. Struts-default.xml3. Struts-plugin.xml4. Strtus.xml5. web.xml8.2 struts.
11、xml文件配置介绍8.2.1 package配置1. name属性 作用:定义一个包的名称,它必须唯一。2. namespace属性 作用:主要是与action标签的name属性联合使用来确定一个action的访问路径3. extends属性 作用:指定继承自哪个包。一般值是strtus-defaultstrtus-default包是在strtus-default.xml文件中声明的。4. abstruct属性 它代表当前包是一个抽象的,主要是用于被继承 8.2.2 action配置1. name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路径2.
12、 class属性 作用:用于指示当前的action类3. method属性 作用:用于指示当前的action类中的哪个方法执行8.2.3 result配置它主要是用于指示结果视图1. name属性 作用是与action类的method方法的返回值进行匹配,来确定跳转路径2. type属性 作用是用于指定跳转方式8.2.4 扩展关于action配置中的class与method的默认值以及result中的name与type 默认值问题原因:strtus-default.xml文件中配置它的作用就是当一个请求来时,如果查找不到指定的class及对应的method就会执行ActionSupport类中
13、的execute方法。在这个类的execute方法中默认返回的是”success”也就是说,result的name属性默认值是success,默认的跳转方式是请求转发 dispatcher8.3 常量配置perties文件中定义了struts2框架常用常量 .问题:我们怎样可以定义常量 1. 可以在src下创建一个perties配置文件2. 可以在web.xml文件中配置3. 可以直接在strtus.xml文件中定义常量 (推荐)注意:后加载的配置文件中的常量会将先加载的常量覆盖第9章 Struts2的Action详解Struts2中的action,主
14、要是完成业务逻辑操作。Action替代在servlet中完成的作用。Action的学习主要有两点1. 如何创建一个struts2的action2. 如果访问一个struts2的action1 Action类创建方式(三种)1. 创建一个pojo类Pojo(plani Ordinary java object)简单的java对象Pojo类就是没有实现任何接口没有继承任何类优点:无耦合缺点:所有的功能都要自己完成2. 创建一个类实现一个Action接口com.opensymphony.xwork2.Action在Action接口中定义了五个常量,一个execute方法五个常量:它们是默认的五个结果
15、视图:ERROR : 错误视图INPUT: 它是struts2框架中interceptor中发现问题后会访问的一个视图LOGIN:它是一个登录视图,可以在权限操作中使用NONE:它代表的是null,什么都不做(也不会做跳转操作)SUCCESS:这是一个成功视图优点:耦合度低缺点:还是需要自己来完成功能3. 创建一个类继承ActionSupport类com.opensymphony.xwork2.ActionSupportActionSupport类也实现了Action接口。我们在开发中一般会使用这种方案:优点:具有丰富的功能,例如 表单校验 错误信息设置 国际化缺点:耦合度高9.1 actio
16、n的访问方式1. 直接通过标签来配置,通过method来指定访问的方法,如果method没有,默认访问的是execute方法。2. 简化的action访问方式,可以使用*通配符来访问。这种方式的缺点:不建议使用过多的*号,它带来程序阅读障碍,不便于理解使用*来简化操作方案,它对名称规范必须进行一个统一。9.2 扩展-动态方法调用这是strtus2提供的动态方法调用。注意:对于strtus2的动态方法调用,要想使用我们必须配置一个常量来开启动态方法调用这代表动态方法调用没有开启个人不建议使用动态方法调用第10章 Struts2框架封装数据主要解决的问题:是在action中如果获取请求参数主要有两
17、种方式:1. 属性驱动a. 直接在action类中提供与请求参数匹配属性,提供get/set方法b. 在action类中创始一个javaBean,对其提供get/set ,在请求时页面上要进行修改, 例如 user.username user.password ,要使用ognl表达式以上两种方式的优缺点:第一种比较简单,在实际操作我们需要将action的属性在赋值给模型(javaBean)去操作第二种:不需要在直接将值给javaBean过程,因为直接将数据封装到了javaBean中。它要求在页面上必须使用ognl表达式,就存在页面不通用问题。2. 模型驱动步骤:1. 让Action类要实现一个指定接口ModelDriven2. 实例化模型对象(就是要new出来javaBean)3. 重写getModel方法将实例化的模型返回。对于模型驱动它与属性驱动对比,在实际开发中使用比较多,模型驱动缺点,它只能对一个模型数据进行封装。 第11章 总结 今天主要内容是围绕着简单的登录案例来讲解:1. 关于strtus2框架的环境搭建2. 关于strt
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 创新公交安全管理办法
- 养护机械安全管理办法
- 公司商务费用管理办法
- 出境药物处方管理办法
- 农业承保理赔管理办法
- 化工投资项目管理办法
- 农资经营星级管理办法
- 关于渣土运输管理办法
- 公司干部考评管理办法
- 北京境外投资管理办法
- 主动脉狭窄护理查房课件
- 2024年注塑工作总结与计划
- 公路工程设计工作总结报告(交工验收-设计单位)
- 电信运营商客服部门年度客户满意度调查与问题解决率评估报告
- 信号波形发生与合成实验报告
- 《全包装修合同》电子版正规范本(通用版)
- 人工智能数据标注实战教程高职全套教学课件
- 现实表现材料模板
- 管道燃气供应服务员理论考试题库(含答案)
- 天然气有限公司隐患排查治理管理制度
- (完整版)十八项医疗核心制度考试题及答案
评论
0/150
提交评论