版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Struts2
Spring
Hibernate入门第1讲主讲:黄锡波是最辛苦的一门课SSH框架技术是两年课程的大集成、大总结是真正开发企业级的J2EE网站的技术是最辛苦的一门课,大家要有思想准备理由:必要内容太多,90学时仅可讲完基础辛苦1:实训多,每周有任务卡。辛苦2:测验多,每周有测验。辛苦3:考勤严,每次课需电子签到(SSH签到网站)。辛苦4:课前要预习,预习是学本事最好方法。辛苦5:以项目为导向,课程结束就拿自做项目面试。辛苦6:SSH不难,难的是灵活应用两年课程知识点。辛苦7:就好业压力大,全力以赴才行,也许搭上周六日。辛苦8:枯燥,学本事需要自律。辛苦9:寂寞,学本事需要定力。辛苦10:无聊,调式Bug,错误信息也许比源程序还长且是英文的,学本事需要耐力。。。。。。是最辛苦的一门课所谓项目导向,是学习软件技术唯一的方法,就是为做项目而学习技术。为学技术而学技术,一定学不到的。项目功能1……功能2功能n思路1:项目=n个功能的集合,项目大小是指开发时间的长短而已,10天开发1个功能,100天也许就有10个功能了,有10个功能的项目不算小了。因此,边学SSH,边改造你原来的小网站,是最快的学习方法,到课程结束,你基本就能开发有10个功能的网站了。思路2:你开发的网站拿去面试,就说明你有基本的项目经验了。思路3:教材的案例很不错的,多阅读,用来参考开发你自己的网站。思路4:QQ群有几个有源代码的项目案例,多分析参考开发自己的网站。思路5:很多人说我不知道开发什么项目,我的观点是你真的用心学习的话就一定懂的,如小的不得了“SSH上课签到”,“SSH成绩查询”,“SSH播放视频”等小网站,小功能开发的多了就是一个大项目。在企业也是一个一个功能开发的,过半年就是一个大网站了。回顾-何谓动态网页?所谓“动态”,并不是指那几个放在网页上的GIF,Flash等动画,动态网页技术有以下几个特点:1,“交互性”即网页会根据用户的要求和选择而动态改变和响应,将浏览器作为客户端界面。2,“自动更新”即无须手动地更新HTML文档,便会自动生成新的页面,可以大大节省工作量。3,“因时因人而变”,即当不同的时间,不同的人访问同一网址时会产生不同的页面。目前主流的动态网页技术有JSP,ASP,PHP等。动态网页的核心技术是:(1)前台如何动态地获取后台数据?(2)前台提交数据时,后台如何正确地捕获?其实JSP,ASP,PHP三门技术在核心技术的应用上是非常非常类似的,懂JSP,再学习PHP,ASP不会超过一个月,反过来就难了(Java语言最少一年的编程经历)。Web技术的发展Java程序设计-学期1数据结构-学期2计算机网络技术-学期3网络编程技术-学期3动态Web技术-学期4SQL-学期2SSH-学期5软件测试技术-学期5HTML/CSS-学期3Flash动画-学期3计算机图形图像-学期4JavaScript-学期4富客户技术-学期4/5Struts2(OGNL)–学期5软件测试技术-学期5Web技术的发展Model1与Model2Model1整个web应用几乎全部由JSP页面组成,JSP页面接受处理客户端请求,对请求处理后直接做出响应。用少量javaBean来处理数据库连接等操作Model2基于MVC设计模式,Servlet作为前端控制器,负责接受客户端发送的请求,在servlet中只包含控制逻辑,然后调用后端JavaBean来完成实际的逻辑处理,最后转发到响应的JSPMVCMVC并不是java语言所特有的设计思想,它是所有面向对象程序设计语言都应该遵守的规范Model(模型)、View(视图)、Controller(控制器)这三个部分以最少的耦合协同工作,以提高应用的可扩展性及可维护性Struts2简介 Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts2可以理解为WebWork的更新产品Struts2体系概图Struts2的优点1.设计上不依赖于ServletAPI和StrutsAPIpublicclassmyActionextendsAction{publicActionForwardexcute(ActionMapping mapping,ActionFormform,HttpServletRequest request,HttpServletResponseresponse)throws Exception{…}}2.使用大量的拦截器3.提供了类型转换器(这点在struts1中没有)4.支持多种表现层技术如:JSP/freeMarker5.可以对指定方法进行校验6.提供全局范围、包范围和Action范围的国际化资源文件管理搭建Struts2开发环境导入相关jar文件编写Struts2的配置文件在web.xml中加入Struts2框架的启动配置Struts2常用jar包不同应用需要的jar包是不同的,开发struts2程序需要的jar至少应具备以下jar包:Struts2-core-2.x.x.jar:struts2框架核心类库Xwork-2.x.x.jar:xwork类库Struts2在其上构建Ognl-2.6.x.jar:对象导航语言,用来读写对象的属性Freemarker-2.3.x.jar:Struts2UI标签Commons-logging-1.1.x.jar:日志记录功能jarCommons-fileupload-1.2.1.jar:文件上传组件commons-io-1.3.2.jar:文件上传组件Struts2应用的配置文件默认配置文件为struts.xml,该文件需要存放在WEB-INF/classes下<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEstrutsPUBLIC"-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN""/dtds/struts-2.0.dtd"><struts><!--配置信息--></struts>Struts2在web中的启动配置Struts1中,struts框架是通过servlet启动的。在struts2中,struts框架是通过Filter启动的<filter><filter-name>struts2</filter-name><filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping>StrutsPrepareAndExecuteFilter中init方法读取struts.xml完成初始化;读取struts.xml后,以javaBean的形式保存在内存中,处理用户请求时不是每次都读取web.xmlStruts2第一个应用——helloworld在struts.xml中加入如下配置<packagename=“firstApp”namespace=“/first"extends="struts-default"><actionname="helloworld“ class=“com.blues.struts.HelloAction"><resultname="success">/WEB-INF/hello.jsp</result></action></package>*package:与java包的功能类似,通常一组业务功能相关的action放在同一包下;其中name属性为自定义,主要用于action的继承;namespace与action的name属性组合在一起作为访问该包下action的一部分,可以缺省;
struts-default是struts2的核心包,定义了struts2的核心功能,通常情况下都要继承该包Struts2处理流程1.浏览器发送请求2.核心控制器FileterDispatcher根据请求决定调用合适的Action3.WebWork的拦截器链自动对请求应用通用功能,如validaton等4.回调Action的execute方法5.Action的execute方法处理结果信息被输出到浏览器中一个简单的提交功能一个简单的提交功能实现控制器ActionpublicclassLoginAction{ privateStringusername; privateStringpwd; … publicStringexecute(){ if("blues".equals(this.getUsername())&& "8888".equals(this.getPwd())){ return"success"; }else{ return"error"; } }}配置Action添加视图上面应用处理流程跟踪用户状态Struts2中访问HttpSession使用ActionContext类,该类提供一个getSession方法,但该方法返回一个Map。为的是将Action类与ServletAPI完全分离,来简化Action类的测试。但是Struts2的系列拦截器会负责该Session和HttpSession之间的转换跟踪用户状态ActionContext类介绍增加数据校验ActionSupport类是一个工具类,它已经实现了Action接口以及Validateable接口,提供了数据校验功能。通过继承该类,来完成数据校验功能配置input视图使用struts2标签输出验证错误信息其他验证使用struts2验证框架<?xmlversion="1.0"encoding="UTF-8"?><!DOCTYPEvalidatorsPUBLIC"-//OpenSymphonyGroup//XWorkValidator1.0.2//EN""/xwork/xwork-validator-1.0.2.dtd"><validators><fieldname="username"><field-validatortype="requiredstring"><messagekey="usernamerequired"></message></field-validator></field></validators>**注意:该文件命名应遵守以下规则:1.ActionName-validation:ActionName就是需要校验的Action类名2.该文件与Action类放在同一目录下Struts2包配置详解<packagename="user"namespace=""extends="struts-default"><actionname="login"class="com.blues.action.LoginAction"><resultname="success">/welcome.jsp</result></action>必填,该名字是被其它包引用时的KEY可选,定义该包命名空间,用以区分同名Action可选,包指定继承的包,可继承Action、拦截器等Action对应的URL搜索顺序如果struts配置文件中只配置了名空间为/test的package,action的name属性为hello,那么该action的url为:
http://localhost:8080/Struts/test/hello
但是如下路径也可以访问:
http://localhost:8080/Struts/test/12/23/hello
http://localhost:8080/Struts/test/ss/bb/cc/hello…
搜索会按照逐级向上的顺序搜索直到找到匹配的Action对应的URL搜索顺序如果对应的namespace中没有指定的action,它会去没有指定namespace的值或者namespace值为””的包去找,如果还找不到则报错Action配置中的各项默认值<actionname="helloworld" class="com.blues.action.HelloAction"method="execute"> <resultname="success">/WEB-INF/hello.jsp</result></action>1.如果没指定class,默认为ActionSupport2.如果没指定method,默认执行action中execute()方法3.如果没指定result的name属性,默认值为success配置文件的包含Strust2视图转发流程Struts2支持的结果类型在struts-default.xml文件及struts-plugin.xml中:结果类型说明Action中result的转发类型—RedirectRedirect:与dispatcher结果类型相对,dispatcher是将请求Forward到指定的视图资源,而redirect意味将请求重定向到指定视图资源特点:会丢失所有的请求参数、请求属性以及Action的处理结果Action中re
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年消防器材供应框架合同
- 2024全新离婚诉讼变更协议下载与调解服务合同3篇
- 展览会场彩绘施工合同
- 建筑工程售后服务单位劳动合同
- 2025中药化妆品销售合同范本
- 市政工程招聘合同范本
- 地下煤气管道深基坑施工合同
- 2025监控维保合同模版
- 环境监测员合同模板
- 建筑施工交通组织审查合同
- 髋臼骨折的分型
- 2024年中级导游考试真题及答案全集
- 2024年广东春季高考英语试卷
- 2024年湖南湘潭钢铁集团有限公司招聘笔试参考题库附带答案详解
- 大学生劳动就业法律问题解读智慧树知到期末考试答案2024年
- 创新创业健身房
- 2024年全球经济的新趋势
- 药店风险防范与法律解读
- 电力管道施工施工组织设计方案
- 学校纪检监察工作制度样本
- 2023-2024年人教版九年级上册化学期末实验题复习
评论
0/150
提交评论