基于开源框架的企业级信息系统开发技术-课堂.ppt
《基于开源框架的企业级信息系统开发技术-课堂.ppt》由会员分享,可在线阅读,更多相关《基于开源框架的企业级信息系统开发技术-课堂.ppt(197页珍藏版)》请在三一办公上搜索。
1、企业级信息系统开发技术,济南大学信息学院 刘鹍,第2讲 基于开源框架的企业级信息系统开发技术,第2章 基于Java EE开发环境的构建第3章 Struts2应用第4章 Hibernate应用第5章 Spring应用第6章 Struts2、Hibernate和Spring整合应用,第2讲 基于开源框架的企业级信息系统开发技术,ServletServlet是Java语言的CGI实现,与传统的CGI和许多其他类似CGI的技术相比,Java Servlet具有更高的效率,更容易使用,功能更强大,具有更好的可移植性。高效:传统的CGI程序以进程方式运行,而Servlet以线程方式运行。方便:Servle
2、t提供了大量的实用工具例程,例如自动地解析和解码HTML表 单数据、读取和设置HTTP头、处理Cookie、跟踪会话状态等。功能强大:可以完成很多传统的CGI程序很难做到的事情。可移植性好:Servlet API具有完善的标准。,Web服务器,doGet()方法,doPost()方法,HTTP GET请求,HTTP POST请求,响应,响应,客户机,第2讲 基于开源框架的企业级信息系统开发技术,JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*
3、.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。JSP采用的是动态代码与静态HTML页面相结合的方式,JSP的语法内容放入在以“%”开始,以“%”结束的特殊标记之内。JSP页面文件通常以.jsp为扩展名。虽然从代码编写来看,JSP页面更象普通Web页面而不象Servlet,但实际上,JSP最终会被转换成正规的Servlet,静态HTML直接输出到和Servlet service方法关联的输出流。,第2讲 基于开源框架的企业级信息系统开
4、发技术,Struts 2框架Struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。Struts框架具有组件的模块化、灵活性和重用性的优点,同时也简化了基于MVC的Web应用程序的开发。从应用的角度来说,Struts有三大块,分别是Struts核心类、Struts配置文件及Struts标签库。,Hibernate框架传统的Java应用都是采用JDBC来访问数据库,它是一种基于SQL的操作方式,但对目前的Java EE信息化系统而言,通常采用面向对象分析和面向对象设计的过程。系统从需求分析到系统设计都是按面向对象方式进行,但是到详细的数据访问设
5、计阶段,又回到了传统的JDBC访问数据库的老路上来。Hibernate的问世解决了这个问题,Hibernate是一个面向Java环境的对象/关系映射工具,它用来把对象模型表示的对象映射到基于SQL的关系数据模型中去,这样就不用再为怎样用面向对象的方法进行数据的持久化而大伤脑筋了。,第2讲 基于开源框架的企业级信息系统开发技术,第2讲 基于开源框架的企业级信息系统开发技术,Spring框架Spring框架是Rod Johnson开发的,2003年发布了Spring框架的第一个版本。Spring是一个从实际开发中抽取出来的框架,因此它完成了大量开发中的通用步骤,从而大大提高了企业应用的开发效率。S
6、pring为企业应用的开发提供了一个轻量级的解决方案。其中依赖注入、基于AOP的声明式事务管理、多种持久层的整合与优秀的Web MVC框架等最为人们关注。Spring可以贯穿程序的各个层之间,但它并不是想取代那些已有的框架,而是以高度的开放性和它们紧密的整合。这也是Spring被广泛应用的原因之一。,第2讲 基于开源框架的企业级信息系统开发技术,JSP+Servlet+JavaBean实现MVC,JSP,JSP,JSP,Servlet,JavaBean,EJB,Web服务,视图,控制器,模型,JDBC,DataBase,第2讲 基于开源框架的企业级信息系统开发技术,Struts2、Spring
7、和Hibernate框架,第2讲 基于开源框架的企业级信息系统开发技术,Struts2、Spring和Hibernate框架,IService,jsp,command,IDomain,IDao,资源层,发出请求,viewbean,databean,databean,service实现类,domain实现类,组织数据,在页面显示,dao实现类,Spring框架,Struts框架,Hibernate框架,第2章 Java EE开发环境的构建,JSP和Servlet例子,JSP和Servlet例子,JSPJSP(Java Server Pages)是由Sun Microsystems公司倡导、许多公
8、司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件(*.jsp)。用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。简单的说JSP就是:HTML文件中嵌入Java程序段和JSP标记 扩展名是*.jsp,JSP和Servlet例子,看个JSP的例子计算圆面积:新建Web Project,项目名称:test输入半径的页面input.jsp(WebRoot文件夹下):,请输入半径r:,JSP和Servlet例
9、子,看个例子计算圆面积:计算圆面积的页面result.jsp:,JSP和Servlet例子,看个例子计算圆面积:发布启动Tomcat服务器,在IE浏览器中输入“http:/localhost:8080/test/input.jsp”,系统会显示input.jsp页面,如图2.1所示。当在文本框中输入10后,单击【计算】按钮会跳转到另外一个页面,也就是result.jsp页面,并且输出结果314.0,如图2.2所示。,图2.1 input.jsp页面图2.2 result.jsp页面,JSP和Servlet例子,ServletServlet是一种服务器端的Java应用程序,具有独立于平台和协议的
10、特性,可以生成动态的Web页面。它担当客户请求(Web浏览器或其他HTTP客户程序)与服务器响应(HTTP服务器上的数据库或应用程序)的中间层。Servlet是位于Web 服务器内部的服务器端的Java应用程序,与传统的从命令行启动的Java应用程序不同,Servlet由Web服务器进行加载,该Web服务器必须包含支持Servlet的Java虚拟机。简单的理解:Servlet是Java类 Servlet可以接收客户请求request Servlet可以给客户响应response Servlet在服务器端加载 Servlet运行在Servlet容器中,JSP和Servlet例子,看个Servle
11、t的例子:计算圆面积新建Web Project:项目名称:servlet新建Servlet类(继承HttpServlet类):Servlet.java,package cn.edu.ujn.servletdemo;/省略importpublic class Servlet extends HttpServletOverrideprotected void doPost(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException resp.setCharacterEncoding(GBK)
12、;PrintWriter pw=resp.getWriter();double radius=Double.valueOf(req.getParameter(radius);pw.println(圆的面积是:+radius*radius*3.14);Overrideprotected void doGet(HttpServletRequest req,HttpServletResponse resp)throws ServletException,IOException resp.setCharacterEncoding(GBK);PrintWriter pw=resp.getWriter()
13、;double radius=Double.valueOf(req.getParameter(radius);pw.println(圆的面积是get:+radius*radius*3.14);,JSP和Servlet例子,看个Servlet的例子:计算圆面积编辑web.xml,增加该Servlet的配置:,servletdemo cn.edu.ujn.servletdemo.Servlet servletdemo/servlet,JSP和Servlet例子,看个Servlet的例子:计算圆面积新建JSP页面:inputservlet.jsp发布测试POST方式,在浏览器中输入:http:/lo
14、calhost:8080/servlet/inputservlet.jsp测试GET方式,在浏览器中输入:http:/localhost:8080/servlet/servlet?radius=18,请输入半径r:,JSP和Servlet例子,JSP数据定义:JSP程序块:JSP表达式 JSP指令page指令:设定整个JSP文件的属性和相关功能include指令:导入包含静态的文件(JSP、HTML)taglib指令:标签引用(Struts2中会用到),21,JSP和Servlet例子,JSP动作 赋值:向一个对象提出请求 寻找或者实例化一个JavaBean 设置JavaBean的属性 输出某
15、个JavaBean的属性 把请求转到一个新的页面 根据浏览器类型为Java插件生成OBJECT或EMBED标记 JSP注释输出注释:隐藏注释:该注释不发送给用户,JSP和Servlet例子,JSP内置对象,JSP和Servlet例子,Servlet主要接口和类Servlet接口(实现init、service、destroy方法)GenericServlet类(覆写service方法)HttpServlet类(覆写doPost或doGet方法)HttpServletRequest和HttpServletResponse接口Servlet生命周期当Servlet被装载到容器后,生命周期开始。首先调
16、用init()方法进行初始化。初始化后,调用service()方法,根据请求的不同调用不同的doXxx()方法处理客户请求,并将处理结果封装到HttpServletResponse中返回给客户端。当Servlet实例从容器中移除时调用其destroy()方法,这就是Servlet运行的整个过程。,思考:MVC模式,怎样应用MVC模式?,MVC 用户登录登录名:密码:,login 登录成功!登录失败!数据库操作失败,请联系管理员。,login.jsp,loginok.jsp,思考:MVC模式,JSP+Servlet+JavaBean实现MVC模式抽取表示层(JSP)抽取“领域对象”实现“控制层”
17、Servlet抽取业务逻辑层接口实现业务逻辑层实现其他业务逻辑层(数据库连接),思考:MVC模式,login.jsp,成功页面,失败页面,String username=request.getParameter(username);String pwd=request.getParameter(pwd);Dlb dl=new Dlb();dl.setXh(username);dl.setKl(pwd);ICheckLoginDomain dlDomain=new CheckLoginDomainImpl();if(dlDomain.checkLogin(dl)response.sendRedi
18、rect(./secondloginok.jsp);elseresponse.sendRedirect(./secondloginfalse.jsp);,web.xml,LoginServlet,ICheckLoginDomain接口,public boolean checkLogin(Dlb dl)try DBConn conn=new DBConn();String sql=select*from dlb where;ResultSet rs=conn.executeQuery(sql);if(rs.next()return true;else return false;catch(SQL
19、Exception e)return false;,private String id;private String xh;private String kl;,Dlb.java,CheckLoginDomainImpl.java,Class.forNameDriverManager.getConnectioncreateStatementexecuteQuery,DBConn.java,思考:MVC模式,MVC模式没有给出代码结构性的具体要求MVC的控制器是做一个Servlet,还是多个Servlet?跳转页面的名称是写在代码中还是配置文件中?,企业级信息系统开发技术,济南大学信息学院 刘鹍
20、,JSP+Servlet+JavaBean,JSP+Servlet+JavaBean实现MVC,请求,FORM,POSTGET,request,JSP,Servlet,JavaBean,DB,request,object,object,list,getParameter实例化对象调用JavaBean,JDBC数据库增删改查,返回结果setParametersetAttribute,显示数据,session,session,第3章 Struts2应用,3.1 Struts 2概述3.2 Struts 2基本应用及工作流程,3.1 Struts 2概述,Struts 2与Struts 1Webwo
21、rk+Struts 1=Struts 2,3.1 Struts 2概述,3.1.1 MVC简介MVC有以下优点:多个视图可以对应一个模型。模型返回的数据与显示逻辑分离。应用被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性。控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起,完成不同的请求,因此控制层可以说是包含了用户请求权限的概念。MVC更符合软件工程化管理的精神。不同的层各司其职,每一层的组件具有相同的特征,有利于通过工程化和工具化产生管理程序代码。,回顾:JSP+Servlet实现MVC模式,login.jsp,成功页面,失败页面,String username=req
22、uest.getParameter(username);String pwd=request.getParameter(pwd);Dlb dl=new Dlb();dl.setXh(username);dl.setKl(pwd);ICheckLoginDomain dlDomain=new CheckLoginDomainImpl();if(dlDomain.checkLogin(dl)response.sendRedirect(./secondloginok.jsp);elseresponse.sendRedirect(./secondloginfalse.jsp);,web.xml,Log
23、inServlet,ICheckLoginDomain接口,public boolean checkLogin(Dlb dl)try DBConn conn=new DBConn();String sql=select*from dlb where;ResultSet rs=conn.executeQuery(sql);if(rs.next()return true;else return false;catch(SQLException e)return false;,private String id;private String xh;private String kl;,Dlb.jav
24、a,CheckLoginDomainImpl.java,Class.forNameDriverManager.getConnectioncreateStatementexecuteQuery,DBConn.java,3.1.2 Struts 2体系结构,Struts2的MVC原理,3.1.2 Struts 2体系结构,3.1.2 Struts 2体系结构,Struts 2框架的应用着重在控制上。简单的流程是:页面控制器页面。最重要的是控制器的取数据与处理后传数据的问题。Struts 2的体系结构还可以参考图3.1,更直观地展现出其流程。,图3.1 Struts 2体系结构,第3章 Struts
25、2应用,3.1 Struts 2概述3.2 Struts 2基本应用及工作流程,3.2.1 简单Struts 2实例开发,Struts2开发步骤:添加Struts2开发能力添加类库添加配置文件添加过滤器开发JSP页面开发Action类配置Actioin类设置校验器开发拦截器国际化应用,3.2.1 简单Struts 2实例开发,hello.jsp,web.xmlfilter,StrutsAction.javapublic String execute()return“success”;,ok.jsp,3.2.1 简单Struts 2实例开发,小结:Struts2的开发步骤新建Web项目导入类库(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 框架 企业级 信息系统 开发 技术 课堂
链接地址:https://www.31ppt.com/p-6262528.html