ch1JavaEE框架技术概述

上传人:xia****ai 文档编号:243139567 上传时间:2024-09-16 格式:PPT 页数:34 大小:4.03MB
返回 下载 相关 举报
ch1JavaEE框架技术概述_第1页
第1页 / 共34页
ch1JavaEE框架技术概述_第2页
第2页 / 共34页
ch1JavaEE框架技术概述_第3页
第3页 / 共34页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第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简化数据库访问操作,学会使用Spring提高开发效率,学会使用Ajax提高用户体验,课程项目展示,“,SSHA,论坛系统”演示,演示:,SSHA,论坛系统,系统的后台,后台主要由以下三个部分:,论坛的管理:添加、修改、删除,用户的管理:修改、删除,帖子的管理:删除,相关课程回顾,构建友好、美观的界面:,JSP,JavaScript,以OO方式描述业务逻辑:,Java OOP,框架技术的基础:,Servlet,JavaBean,程序架构:,MVC,三层结构,思考问题,根据你的理解,谈谈什么是框架?,框架能给我们带来什么好处?,举两个框架的例子。,本章任务,实现一个自定义框架,基于Servlet技术,是MVC的一个实现,类似Struts框架,在这个框架上实现:,加法器,登录功能,知道使用框架技术的好处,掌握MVC控制器实现原理,了解常用Java框架的应用优势,本章目标,为什么需要框架技术,如何更快更好地写简历?,使用Word简历模板,思考:,使用模板有什么好处呢?,结构统一,便于人事阅读,不用考虑布局、排版等,提高效率,可专心在简历内容上,新手也可以作出专业的简历,为什么需要框架技术,如何更快更好地盖房子?,使用预制的架构,如何更快更好地做软件呢?,什么是框架技术,“框架技术”帮我们更,快,更,好,地构建程序:,是一个应用程序的半成品,提供可重用的公共结构,按一定规则组织的一组组件,优势:,不用再考虑公共问题,专心在业务实现上,结构统一,易于学习、维护,新手也可写出好程序,直接组装汽车,不用自己造轮子,站在巨人的肩膀上,享用前人经验和智慧,概念辨析,技术、组件、框架和系统,概念,说明,举例,技术,解决某一类问题的方法,锻造技术,JSP技术、JDBC技术,XML技术、 JavaScript技术,组件,应用程序里可重用的“零件”,空心钢管、铆钉,分页组件、控制器组件、视图组件,框架,一系列组件,按照一定的结构组合在一起,作为系统开发的平台,自行车车架,Struts、Spring、Hibernate、WebWork、JSF、EJB,DWR框架,系统,实现完整功能的应用程序,自行车,物流管理系统、销售系统,Java流行框架,1、MVC设计模式的实现,2、接收用户请求,调用业务逻辑代码,转发到正确页面,3、控制器,1、依赖注入容器 / AOP实现,2、声明式事务,3、简化Java EE应用,4、黏合剂,将大家组装到一起,1、ORM,简化数据库操作,2、DAO层,大名鼎鼎的,SSH,回顾:三层结构,三层结构指的是?,和.NET中三层结构的对比,三层结构在Java中的应用,层,职责,数据访问层,/ DAO层,数据访问,JDBC/Hibernate,业务逻辑层,/ BIZ层,/ 服务层,/ Service层,业务逻辑,普通Java类,表示层,/ WEB层,/表现层,/页面层,与用户交互,获得输入,展示输出JSP/Taglib/Servlet,/JavaScript/CSS,分层原则,各层职责明确,上一层调下一层,课程安排,1,2,3,4,学习顺序,贯穿案例,小结,举例说明,什么是框架?,本门课程,我们将学习哪几个框架?,Struts是做什么用的框架?,Hibernate是做什么用的框架?,回顾:MVC设计模式,MVC的含义,M Model(模型) 处理业务逻辑,V View(视图) 展现数据,获得用户输入,C Controllor(控制器) 接收用户输入,调用业务代码(M),返回数据到视图(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、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 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 execute(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.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 ServletException, IOException ,/得到action,MyAction 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,*/,private MyAction determinActionByPath(HttpServletRequest request) ,MyAction ret=null;,/得到请求路径,如:http:/localhost:8080/mystruts1/add.do,String path=request.getServletPath();,/从http:/localhost:8080/mystruts1/add.do中取得add,String actionName=path.substring(path.lastIndexOf(/)+1,path.length()-3);,/添加新功能时在这里添加,if(add.equals(actionName),ret = new AddAction();,return ret;,web.xml中的配置mystruts1,如果是使用servlet,在使用向导创建过程,已经添加了,Controller,org.sf.ssha.framework.Controller,Controller,*.do,web.xml中的配置mystruts,2,struts2使用过滤器,要自己去web.xml中添加配置文件:,MyStrutsFilter,org.sf.ssha.framework.Controller,MyStrutsFilter,*.action,当然在其它的一些配置方面也有一些差别,请大家去分析完成的程序项目mystruts1和mystruts2。,使用框架的优点,这个框架给开发带来了什么好处?,JSP页面中没有业务逻辑代码,业务和展示彻底分开,用户操作抽象成了Action,程序逻辑更清晰,整个系统通过统一的入口(Controller,Filter,)访问,基于框架开发,如何基于这个框架开发用户登录功能?,需求描述:,输入用户名为“,bzu,”,密码为“,bzu,”则登录成功;,否则登录失败,登录成功转发到my.jsp,登录失败返回index.jsp继续登录,基于框架开发:开发登录功能,步骤,开发模型,org.sf.ssha.biz.UserBiz,org.sf.ssha,.biz.impl.UserBizImpl,开发Action,org.sf.ssha,.action.LoginAction,开发视图,index.jsp,my.jsp,演示示例: 基于自定义框架开发用户登录,这个框架还可以怎样改进?,自定义MVC框架的缺点,在增加功能时,需要修改Controller Servlet,AddAction.java 的execute方法中直接引用页面物理路径, 修改页面文件名时需要修改代码,Struts是一个成熟的MVC实现,第一个开源的Java Web框架,Java Web框架的事实标准,利于快速开发稳健的Web应用,总结,什么是框架?,使用框架有什么好处?,什么是MVC模式?,使用MVC模式有什么好处?,在Java Web开发中,MVC模式中M、V、C都是如何实现的?,如何基于自定义MVC框架实现“查询所有用户” 的功能?,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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