《《框架技术概述》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《框架技术概述》PPT课件.ppt(34页珍藏版)》请在三一办公上搜索。
1、第1章,JavaEE框架技术概述,B/S开发涉及的技术内容,程序设计基础(第1学期),HTML网站设计(第2学期),B/S开发将涉及4个学期所学的诸多课程,数据库(第1学期),第一阶段,第二阶段,JavaEE框架技术(Struts/Spring/Hibernate/Ajax)(第4学期),JAVAEE开发基础(JSP/Servlet/JavaBean)(第4学期),第三阶段,JSP动态网站开发技术(第3学期),高级Java编程(第2学期),JavaScript(第3学期),本门课程目标,学完本门课程后,你能够:学会使用Struts规范程序结构学会使用Hibernate简化数据库访问操作学会使用
2、Spring提高开发效率学会使用Ajax提高用户体验,课程项目展示,“SSHA论坛系统”演示,演示:SSHA论坛系统,系统的后台,后台主要由以下三个部分:论坛的管理:添加、修改、删除用户的管理:修改、删除帖子的管理:删除,相关课程回顾,构建友好、美观的界面:JSPJavaScript以OO方式描述业务逻辑:Java OOP框架技术的基础:ServletJavaBean程序架构:MVC三层结构,思考问题,根据你的理解,谈谈什么是框架?框架能给我们带来什么好处?举两个框架的例子。,本章任务,实现一个自定义框架基于Servlet技术是MVC的一个实现类似Struts框架在这个框架上实现:加法器登录功
3、能,知道使用框架技术的好处掌握MVC控制器实现原理了解常用Java框架的应用优势,本章目标,为什么需要框架技术,如何更快更好地写简历?使用Word简历模板思考:使用模板有什么好处呢?,结构统一,便于人事阅读,不用考虑布局、排版等,提高效率,可专心在简历内容上,新手也可以作出专业的简历,为什么需要框架技术,如何更快更好地盖房子?,使用预制的架构,如何更快更好地做软件呢?,什么是框架技术,“框架技术”帮我们更快更好地构建程序:是一个应用程序的半成品提供可重用的公共结构按一定规则组织的一组组件优势:不用再考虑公共问题专心在业务实现上结构统一,易于学习、维护新手也可写出好程序,直接组装汽车,不用自己造
4、轮子,站在巨人的肩膀上,享用前人经验和智慧,概念辨析,技术、组件、框架和系统,Java流行框架,大名鼎鼎的SSH,回顾:三层结构,三层结构指的是?和.NET中三层结构的对比,三层结构在Java中的应用,分层原则各层职责明确上一层调下一层,课程安排,1,2,3,4,学习顺序,贯穿案例,小结,举例说明,什么是框架?本门课程,我们将学习哪几个框架?Struts是做什么用的框架?Hibernate是做什么用的框架?,回顾:MVC设计模式,MVC的含义M Model(模型)处理业务逻辑V View(视图)展现数据,获得用户输入C Controllor(控制器)接收用户输入,调用业务代码(M),返回数据到
5、视图(V)MVC的目的将模型(业务逻辑)和视图(页面展示)分离,自定义MVC框架,问题:实现自定义MVC框架目的:规范Java Web应用开发实现MVC模式(保证视图与模型分离)实现:结构、控制流程与核心组件(Action和Controller),演示示例:Action接口和Controller Servlet代码,实现加法器,基于框架开发:实现加法器,1、开发模型:Calculator类。2、开发视图:页面add.jsp和页面add_result.jsp。3、创建Action接口 4、创建AddAction,实现Action接口5、开发Controller类,添加对AddAction的支持。
6、6、web.xml中添加过滤器,指定自定义框架,演示示例:基于自定义框架开发加法器,Calculator类,package org.sf.ssha.biz;/计算器业务类public class Calculator public double add(double a,double b)return a+b;public double del(double a,double b)return a-b;public double mul(double a,double b)return a*b;public double div(double a,double b)if(b!=0)return
7、 a/b;elsereturn 0;,add.jsp,第一个数:第二个数:,add_result.jsp,第一个数:$param.num1 第二个数:$param.num1 计算结果:$requestScope.result,action接口MyAction.java,package org.sf.ssha.framework;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public interface MyAction public String exec
8、ute(HttpServletRequest request,HttpServletResponse response);,action的实现类,package org.sf.ssha.action;public class AddAction implements MyAction Calculator biz=new Calculator();/业务类public String execute(HttpServletRequest request,HttpServletResponse response)/接收数据double num1=Double.parseDouble(request
9、.getParameter(num1);double num2=Double.parseDouble(request.getParameter(num2);/调用业务方法执行业务操作double result=biz.add(num1,num2);/在request域中存在数据request.setAttribute(result,result);/转向return add_result.jsp;,Controller类,public void doPost(HttpServletRequest request,HttpServletResponse response)throws Servl
10、etException,IOException/得到actionMyAction action=(MyAction)this.determinActionByPath(request);/调用action的execute方法String resultView=action.execute(request,response);/页面转向if(null!=resultView)request.getRequestDispatcher(resultView).forward(request,response);,/*根据路径判断Action的方法*param request*return*/priv
11、ate MyAction determinActionByPath(HttpServletRequest request)MyAction ret=null;/得到请求路径,如:http:/localhost:8080/mystruts1/add.doString path=request.getServletPath();/从http:/localhost:8080/mystruts1/add.do中取得addString actionName=path.substring(path.lastIndexOf(/)+1,path.length()-3);/添加新功能时在这里添加if(add.e
12、quals(actionName)ret=new AddAction();return ret;,web.xml中的配置mystruts1,如果是使用servlet,在使用向导创建过程,已经添加了 Controller org.sf.ssha.framework.Controller Controller*.do,web.xml中的配置mystruts2,struts2使用过滤器,要自己去web.xml中添加配置文件:MyStrutsFilter org.sf.ssha.framework.Controller MyStrutsFilter*.action 当然在其它的一些配置方面也有一些差别
13、,请大家去分析完成的程序项目mystruts1和mystruts2。,使用框架的优点,这个框架给开发带来了什么好处?JSP页面中没有业务逻辑代码,业务和展示彻底分开用户操作抽象成了Action,程序逻辑更清晰整个系统通过统一的入口(Controller Filter)访问,基于框架开发,如何基于这个框架开发用户登录功能?需求描述:输入用户名为“bzu”,密码为“bzu”则登录成功;否则登录失败登录成功转发到my.jsp,登录失败返回index.jsp继续登录,基于框架开发:开发登录功能,步骤开发模型 org.sf.ssha.biz.UserBiz 开发Action.action.LoginAc
14、tion开发视图index.jspmy.jsp,演示示例:基于自定义框架开发用户登录,这个框架还可以怎样改进?,自定义MVC框架的缺点在增加功能时,需要修改Controller ServletAddAction.java 的execute方法中直接引用页面物理路径,修改页面文件名时需要修改代码Struts是一个成熟的MVC实现第一个开源的Java Web框架Java Web框架的事实标准利于快速开发稳健的Web应用,总结,什么是框架?使用框架有什么好处?什么是MVC模式?使用MVC模式有什么好处?在Java Web开发中,MVC模式中M、V、C都是如何实现的?如何基于自定义MVC框架实现“查询所有用户”的功能?,