您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > 入门第1讲-SSH基础(预习资料)
Struts2SpringHibernate入门第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(ActionMappingmapping,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse)throwsException{…}}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.0encoding=UTF-8?!DOCTYPEstrutsPUBLIC-//ApacheSoftwareFoundation//DTDStrutsConfiguration2.0//EN!--配置信息--/strutsStruts2在web中的启动配置Struts1中,struts框架是通过servlet启动的。在struts2中,struts框架是通过Filter启动的filterfilter-namestruts2/filter-namefilter-classorg.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter/filter-class/filterfilter-mappingfilter-namestruts2/filter-nameurl-pattern/*/url-pattern/filter-mappingStrutsPrepareAndExecuteFilter中init方法读取struts.xml完成初始化;读取struts.xml后,以javaBean的形式保存在内存中,处理用户请求时不是每次都读取web.xmlStruts2第一个应用——helloworld在struts.xml中加入如下配置packagename=“firstApp”namespace=“/firstextends=struts-defaultactionname=helloworld“class=“com.blues.struts.HelloActionresultname=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())){returnsuccess;}else{returnerror;}}}配置Action添加视图上面应用处理流程跟踪用户状态Struts2中访问HttpSession使用ActionContext类,该类提供一个getSession方法,但该方法返回一个Map。为的是将Action类与ServletAPI完全分离,来简化Action类的测试。但是Struts2的系列拦截器会负责该Session和HttpSession之间的转换跟踪用户状态ActionContext类介绍增加数据校验ActionSupport类是一个工具类,它已经实现了Action接口以及Validateable接口,提供了数据校验功能。通过继承该类,来完成数据校验功能配置input视图使用struts2标签输出验证错误信息其他验证使用struts2验证框架?xmlversion=1.0encoding=UTF-8?!DOCTYPEvalidatorsPUBLIC-//OpenSymphonyGroup//XWorkValidator1.0.2//EN=usernamefield-validatortype=requiredstringmessagekey=usernamerequired/message/field-validator/field/validators**注意:该文件命名应遵守以下规则:1.ActionName-validation:ActionName就是需要校验的Action类名2.该文件与Action类放在同一目录下Struts2包配置详解packagename=usernamespace=extends=struts-defaultactionname=loginclass=com.blues.action.LoginActionresultname=success/welcome.jsp/result/action必填,该名字是被其它包引用时的KEY可选,定义该包命名空间,用以区分同名Action可选,包指定继承的包,可继承Action、拦截器等Action对应的URL搜索顺序如果struts配置文件中只配置了名空间为/test的package,action的name属性为hello,那么该action的url为:但是如下路径也可以访问:://localhost:
本文标题:入门第1讲-SSH基础(预习资料)
链接地址:https://www.777doc.com/doc-7534552 .html