JavaEE架构与程序设计--第一部分_第1页
JavaEE架构与程序设计--第一部分_第2页
JavaEE架构与程序设计--第一部分_第3页
JavaEE架构与程序设计--第一部分_第4页
JavaEE架构与程序设计--第一部分_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JavaEE架构与程序设计第一部分:JSP/Servlet快速入门 快速理解Servlet 快速理解JSP 理解MVC模式章节目录章节目录章节目录章节目录 JavaEE技术概述 搭建开发运行环境 第一个Web应用JavaEEJavaEE技术概述技术概述 Java技术有3个版本 JavaME JavaSE JavaEE JavaEE有13种技术 JDBC XML JSP Servlet EJB JMS HttpHttp协议协议 HTTP是超文本传输协议,用于在互联网上传输文本、超文本、声音和图像等等 HTTP协议是指超文本传输协议,专门用于在Internet上传输信息的协议,目前的版本是1.1;

2、 HTTP是应用层的协议,它基于请求/响应模式; HTTP协议默认使用80端口进行通讯; HTTP协议是无状态的的协议客户端浏览器Web服务器Web应用程序客户端发起连接客户端发送请求服务器响应请求服务器断开连接WebWeb应用程序应用程序 WebWeb应用程序续应用程序续 用户请求一个页面Web 应用程序Web 应用程序在 Web 服务器上运行 传回一个页面作为响应WebWeb应用程序工作原理应用程序工作原理 客户端把请求发送到服务器端的Web应用程序, Web应用程序接收请求后进行相关处理(静态网页和动态网页) ,并把结果以文本或网页的形式,返回到客户端; 因此当访问Web 站点的时候,我

3、们所看到的所有内容都是在浏览器中呈现的; Web应用程序是在HTTP协议支持下的,基于B/S结构(Browser浏览器/Server服务器)的应用程序。WebWeb应用程序优势应用程序优势 相对于传统的C/S结构(Client客户端/Server服务器)的应用程序而言,B/S结构的Web应用程序具备以下优势: 集中部署,无需安装客户端程序; 集中管理,业务逻辑在服务端进行维护; 数据共享,所有客户端访问同一服务器的数据; 覆盖面广,只要有Internet覆盖的区域都可通过浏览器享受服务; 更强的平台无关性,不必关心客户端的软硬件平台,只要遵循HTTP协议,都可获得支持。WebWeb服务器程序服

4、务器程序 Web服务器程序是指运行在Web服务器上的软件程序; 该程序的主要功能是负责侦听指定端口,接收客户端的请求并解析,然后将指定的页面发送到客户端; Web服务器程序必须遵循HTTP协议的规范; 注意:在本门课程中,服务器程序有时简称为服务器,客户程序有时简称为客户,如果没有特殊说明,服务器是指服务器程序,而不是指运行服务器程序的主机。当今主流的当今主流的WebWeb服务器软件服务器软件 当今比较流行的Web服务器软件有很多,包括: Microsoft公司的IIS(Internet Information Services); BEA公司的WebLogic; IBM公司的WebSpher

5、e; Apache公司的Tomcat; Tomcat是当今使用最为广泛的基于Java的Web服务器软件,是中小企业应用和学习Web编程的最佳选择。搭建运行环境搭建运行环境 组件必须运行在容器(container)中 容器一般使用软件形式实现 Tomcat是一种常用Web容器搭建开发环境搭建开发环境 使用Eclipse+MyEclipse作为开发环境使用使用MyEclipseMyEclipse管理管理TomcatTomcat 可以在MyEclipse中管理Tomcat第一个第一个WebWeb应用应用 创建Web工程 填写工程信息 修改index.jsp文件 部署应用到Tomcat 启动Tomca

6、t 在浏览器中访问Web应用章节目录章节目录本章目标本章目标 Servlet基本概念 web.xml配置文件 请求与响应什么是什么是ServletServletServlet是服务器端的组件,是运行在Web服务器上的Java小程序Servlet必须运行在容器中,它一般会把处理的结果以为HTML的形式返回,在客户端形成动态网页Servlet是一个Java类,该类遵守一定规范客户端Web服务器Servlet请 求响 应ServletServlet在在Java EEJava EE中的位置中的位置ServletServlet优点优点 Servlet运行在Web服务器中,可以扩展服务器的功能; Serv

7、let可以和其他资源交互,从而生成返回给客户端响应的内容,即动态网页; 使用Java编写,所以能够跨平台; Java的所有优点都可以在Servlet中体现; Servlet很安全,因为访问Servlet的唯一途径是通过服务器; 只要符合Servlet规范的Servlet容器都可以运行Servlet。Servlet APIServlet API 与Servlet相关的两个包: javax.servlet javax.servlet.http javax.servlet包中包含了支持通用的,跨协议的Servlet的相关接口和类; javax.servlet.http包中则包含了特定于HTTP协议的

8、Servlet相关类; 在Tomcat安装目录/common/lib路径下,可以找到servlet-api.jar文件。javax.servletjavax.servlet包中的接口包中的接口接口名称说 明Servlet这是每个Servlet都必须实现的接口,它定义了一系列必须由Servlet实现的方法。ServletRequest此接口用于将客户端的请求信息传送给Servlet。ServletResponse此接口用于对客户端做出响应。ServletConfig此接口定义Servlet配置对象,以便于容器将信息传递给Servlet。ServletContext此接口定义了一组方法,用于Ser

9、vlet与容器进行通信。javax.servletjavax.servlet包中的类包中的类类名称说 明GenericServlet抽象类,定义一个通用的、独立于底层协议的Servlet。ServletInputStream这是提供输入流用于读取来自客户端请求的二进制数据的类。ServletOutputStream此类提供输出流用于将二进制数据发送到客户端。ServletExceptionServlet在执行过程中遇到困难时抛出该异常。javax.servlet.httpjavax.servlet.http包中的接口包中的接口接口名称说 明HttpServletRequest该接口扩展Serv

10、letRequest接口,定义了一系列用于描述HTTP请求的方法。HttpServletResponse该接口扩展ServletResponse接口,提供服务器对客户端的响应对象。HttpSession该接口提供客户端与服务器端的会话标识。javax.servlet.httpjavax.servlet.http包中的类包中的类27类名称说 明HttpServlet该类是最常用于扩展Servlet的类,因为很多Servlet应用程序都遵照HTTP协议运行。此类支持HTTP协议功能以及Servlet类的方法,它是个抽象类。它接收客户端的请求,并向客户端发送响应。Cookie此类用来创建Cookie

11、,它存储了少量由Servlet发送至客户端的信息。javax.servlet.http.HttpServletjavax.servlet.http.HttpServlet HttpServlet中提供了一系列让子类重写的方法,在不同的时刻会调用执行这些方法:方 法 原 型说 明public void init(ServletConfig config)throws ServletException在初始化Servlet时调用一次,如有特殊需要,可重写该方法。protected void doGet(HttpServletRequest request, HttpServletResponse

12、response)throws ServletException, IOException如果客户端是以GET方式提交请求时执行,应当重写此方法protected void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException如果客户端是以POST方式提交请求时执行,应当重写此方法public void destroy()当销毁Servlet实例时调用一次,如有需要释放的资源,可重写该方法注意事项注意事项HttpServlet中还包含一个servi

13、ce方法,其原型如下:public void service(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException此方法用来调度客户端的请求,API文档中明确规定,请勿重写该方法。doGet doGet 与与 doPost doPost 在web基本的学习部分,我们知道了form提交的方式get 方式和post方式 我们提交把请求提交到Servlet中,容器会调用Servlet中的相应方法 getdoGet postdoPostdoGetdoGet和和doPos

14、tdoPost的区别的区别 doGet事件可接受: 浏览器直接访问 超级连接默认为doGet Form表单的get方法访问 不安全 会在浏览器显示 字符有限制 doPost事件只可接受form的post方法访问 第一个第一个ServletServlet 继承HttpServlet类 覆盖HttpServlet类的doXXX方法 往往覆盖doGet或doPost方法packagepackage com.etc;publicpublic classclass FirstServlet extendsextends HttpServlet publicpublic voidvoid doPost(H

15、ttpServletRequest request, HttpServletResponse response)throwsthrows ServletException, IOException System.out.println(doPost: Hello,ETC!);如何访问如何访问ServletServlet 访问Servlet前,必须在web.xml中配置Servlet信息 FirstServlet com.etc.FirstServlet FirstServlet /firstservlet名称可以随便命名Servlet类名称Servlet对应的url映射名称与上面name必须一

16、致访问访问ServletServlet的三种方式的三种方式有三种方式可以访问Servlet在地址栏通过url直接访问 http:/localhost:8080/chapter01/firstServlet通过超级链接访问 Run the first servlet 通过表单提交访问 web.xmlweb.xml文件文件 web.xml是部署描述符文件 每个web应用中都必须有web.xml文件 web.xml存在于WEB-INF目录下 web.xml中所有标签都在schema中定义使用使用MyEclipseMyEclipse开发开发ServletServlet 使用模板创建Servlet 填写

17、Servlet描述信息 在生成的web.xml中可以继续修改描述信息 在生成的Servlet类中可以修改相关代码 部署web应用 在浏览器中访问web应用 基于基于HTTPHTTP的请求响应机制的请求响应机制 建立连接 发送请求 返回响应 关闭连接请求接口请求接口HttpServletRequestHttpServletRequest继承于ServletRequest父接口定义了大量获得请求信息的方法getParameter:获得客户端传递到服务器的请求参数的值getHeader:返回整型请求头信息的值响应接口响应接口HttpServletResponseHttpServletResponse

18、继承于ServletResponse父接口定义了大量与响应有关的方法getWriter获得响应的输出流,将响应的内容输出客户端setContentType:设定HTTP 回应的“内容类型”(content type)章节目录章节目录 JSP基本概念 脚本元素 内置对象什么是什么是JSPJSP JSP是服务器端组件,必须运行在容器中 表面上看,JSP是HTML文件中嵌入了部分Java代码的文件 JSP中的Java代码使用封装Hello,ETC! JSPJSP运行的步骤运行的步骤 容器将JSP文件翻译成Java文件,该Java文件符合Servlet规范 容器将翻译生成的Java文件编译成class

19、文件 容器实例化JSP对象 容器调用类的服务方法(_jspService方法),提供服务JSPJSP脚本元素入门脚本元素入门 Java脚本必须写在JSP脚本元素中 :脚本片段,可以包含任何符合语法的Java代码 :表达式,将=后的表达式内容输出到客户端JSPJSP内置对象入门内置对象入门 内置对象是可以在JSP中直接使用的对象,不需要定义,不需要初始化 request response out章节目录章节目录 JDBC常用API JDBC进行查询 JDBC进行修改JDBCJDBC概述概述 JDBC是Java语言访问数据库的解决方案 JDBC包括两部分 第一部分是提供给程序员使用的API 第二部

20、分是数据库厂商实现的API,称为SPIJDBC APIJDBC API常用接口与类常用接口与类 DriverManager:驱动管理器类 Connection:数据库连接接口 Statement:语句对象接口 ResultSet:结果集接口使用使用JDBCJDBC进行增删改进行增删改 下载驱动程序包 加载驱动类 获得连接 获得语句对象 使用executeUpdate执行增删改语句 关闭资源使用使用JDBCJDBC进行查询进行查询 下载驱动 加载驱动类 获得连接 获得语句对象 使用executeQuery语句执行查询,返回ResultSet对象 处理ResultSet对象 关闭资源JDBCJDB

21、C的语句对象的语句对象 JDBC API中有三种常用语句对象 Statement 是语句对象的顶级接口,定义了语句对象统一规范 PreparedStatement 称为预编译的语句对象,是Statement的子接口 CallableStatement 可以用来调用数据库的存储过程章节目录章节目录 MVC模式的概念与应用简单简单DemoDemo 一个简单的Demo,包含如下几个部分 JSP页面 登录逻辑(Java类实现) 连接JSP与Java类的Servlet简单简单DemoDemo 一个简单的Demo,包含如下几个部分 JSP页面 登录逻辑(Java类实现) 连接JSP与Java类的Servl

22、etDemoDemo中的中的MVCMVC体现体现 Java类实现业务逻辑-Model(模型) JSP页面实现视图-View(视图) Servlet实现控制逻辑-Controller(控制器)DemoDemo中的中的MVCMVC体现体现 Java类实现业务逻辑-Model(模型) JSP页面实现视图-View(视图) Servlet实现控制逻辑-Controller(控制器)MVCMVC总结总结 MVC本来应用于桌面程序 M是指数据模型,V是指用户界面,C则是控制器 JavaEE的Web应用开发,经历了Model1和Model2的不同时代 Model2已经是MVC设计思想下的架构,Servlet

23、充当控制器,JSP充当视图,JavaBean则作为模型JSP Model1JSP Model1 相对于纯粹使用JSP开发,许多有经验的工程师都会将部分可以重复利用的组件抽出来写成JavaBean,当用户送来一个请求是,通过JSP调用JavaBean负责相关数据存取、逻辑运算等等的处理,最后将结果回传到JSP显示结果JSP Model1JSP Model1 优点: 程序可读性增高:将复杂的程序代码写在JavaBean之中,减少和网页标签混合使用的情况,未来维护的时候能够较为轻松。 可重复利用性高:由于通过JavaBean来封装重要的商业逻辑运算,不同的JSP可以调用许多共享性的组件,减少开发重复程序代码的工作,增加开发效能。 缺点: 缺乏流程控制:这是Model最大的缺点,缺

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论