《javaweb应用概述》由会员分享,可在线阅读,更多相关《javaweb应用概述(63页珍藏版)》请在金锄头文库上搜索。
1、Java Web应用概述,目标,了解什么是Web应用以及Web应用是如何运行的 了解HTML语言和HTTP协议在Web应用中的地位 了解Web应用的特点 了解Java Web应用主要有哪些技术 了解Java Web应用能够完成哪些功能 了解Java Web应用的开发环境和运行环境 了解Java Web应用的发展历史,主要内容,1.1 认识Web应用 1.2 Java Web应用概述 1.3 运行环境和开发环境 1.4 发展历史,1.1 认识Web应用,1.1.1 Web应用运行过程 1.1.2 Web应用文档类型 1.1.3 运行环境支持 1.1.4 HTML语言 1.1.5 HTTP协议 1
2、.1.6 Web应用的特点 1.1.7 网络应用架构模型(C/S、B/S) 1.1.8 主要技术,1.1.1 Web应用运行过程,(1)有关Web的基本知识 什么是Web ?World Wide Web(简称Web或WWW,万维网) Web的三个基本要素: 统一的资源命名方案,如URI 访问资源的方式,即协议,如HTTP协议 资源之间自由访问的方法,即超文本,如HTML语言 Web 技术经历了三个发展阶段 第一代:提供对静态文档(信息)的管理和访问。 第二代:与数据库系统相结合,提供对动态文档(信息)的访问和显示。 第三代:除动态文档生成和访问之外,还提供了基于Web的联机事务处理能力,实现基
3、于Web的服务。,(2) 用户如何使用Web应用,1 打开浏览器窗口,2 输入IP地址,3 浏览器解析服务器返回的信息,4-1 用户输入信息提交,4-2 用户点击按钮或者超链接,(3)服务器如何对用户操作响应,Web服务器,应用服务器,1 接收请求,2 转发请求,3 查找文件,4 执行文件,5 返回执 行结果,6 转发给客户,1.1.2 Web应用涉及的文件类型,大量的网页文件,用于展示信息; 网页的格式信息; 资源文件:网页中用到的图像,音频,视频等资源。 配置文件:用于声明网页的相关信息。 处理文件:处理用户请求,或者供网页调用,或者访问数据库等。,1.1.3运行环境支持,客户端程序:通用
4、的客户端浏览器 发送请求 展示服务器的响应信息 服务器端程序 接收请求,对用户响应; 处理请求 网络,连接服务器与客户端,1.1.4 HTML语言,是HyperText Markup Language的缩写 服务器使用HTML语言对用户响应,1.1.5 HTTP协议,Web应用所使用的主要协议; 采用请求/应答模式,由客户端发送请求,服务器端响应; 无状态,服务器端不会专门为客户端保存信息; 请求包括:请求方法、请求头和请求数据; 响应包括:状态码、响应头和响应数据。,1.1.6 Web应用的特点,信息开放与安全 访问速度和信息量 可靠性 用户类型多、用户量大,1.1.7 网络应用架构模型,联
5、网的主要目的是实现资源共享和计算机之间的通信。资源包括 硬件资源、软件资源、数据资源和通信信道资源。其中数据资源 共享是Internet的主要功能之一。数据资源共享的方式主要有: 文件服务器模型和域模型 文件服务器模型:其代表是Novell NetWare局域网。,文件服务器(FS):提供高速 存取的大容量硬盘,保存网络 中其它工作站(WS)共享的文件和目录,包括各种应用程序和数据库。用户根据所拥有的权限使用程序和访问数据库。不过,采用这种方式访问数据库通信量大,效率较低。,工作组模型:其代表是Windows 95/98/NT。由系统管理员创建一个用户工作组,组中成员以对等方式工作。工作组中的
6、每一台计算机既可作为服务器,又可作为工作站。每台计算机具有自己的帐户和管理。这种网络的管理比较松散,安全性较差。 域模型:其代表是Windows NT Server/ Windows 2000 Server。除了提供工作组模型外,还提供了域模型的网络使用方式。可以将一个单位的计算机连成一个域(Domain),每个域中的用户再分成若干个工作组。一个域中可以有若干个服务器和工作站,其中至少有一台服务器为域服务器,负责域的集中管理。域模型是一种安全、高效的网络使用模型。, 客户机/服务器模式 C/S模式(Client/Server,简称C/S) 早期的“主机+终端”模式中,所有处理任务都由主机承 担
7、。后来的文件服务器模式,所有处理任务几乎都由工 作站承担,文件服务器只起共享磁盘的作用。为了充分 调动服务器和工作站双方的处理能力,人们提出了客户 机/服务器模式。,C/S模式把处理分配给客户机和服务器共同承担。优 点:发挥双方的处理能力;减少网上信息传输量; 服务器可高效、完全地处理数据库,客户机可处理GUI界面和本地I/O;提供了开放、分布式计算环境。,三层C/S模式 “客户机-功能服务器-数据库服务器”模式,客户机:存放用户界面层(表示层)软件,负责用户 与应用层之间的对话。,功能服务器:存放业务逻辑层(功能层)软件,响应 客户机请求,完成业务处理或复杂计算。如根据客户 机要求,向数据库
8、服务器发送SQL命令。,数据库服务器:存放数据库服务层(数据层)软件, 负责执行功能层送来的SQL命令,并通过功能服务器 向客户机返回处理结果。, B/S模式 B/S模式是把Web技术和数据库技术结合起来的技术,实现开发环境和应用环境的分离,客户端用相对统一的浏览器代替客户软件,实现跨平台的应用和多媒体服务。基于B/S模式的信息系统通常采用:“浏览器Web服务器数据库服务器”三层结构。, B/S结构与C/S结构的对比,1.1.8 Web应用开发技术,常见的服务器端脚本编程技术:微软的ASP和ASP.NET、开源的PHP技术和 Sun公司的Java Web技术。 ASP(Active Serve
9、r Pages):ASP内含于Internet信息服务系统IIS中,提供一个服务器端的脚本环境,站点服务器会自动将所设计的ASP程序代码解释为标准HTML格式的主页内容,并在客户端浏览器上显示出来。ASP编程的脚本语言是VBScript。ASP.NET是ASP技术的升级,其编程语言是C#。,PHP(Personal Home Page Tools):PHP是基于标准C语法,可以内嵌于HTML的一种脚本语言。理论上讲,PHP通过插件可以运行在多种平台上,包括微软公司的IIS,但在实际应用上,PHP在Linux的Apache下应用较多。 Java Web技术:是以Java为中心的一套技术。,1.2
10、 Java Web应用概述,1.2.1 Java Web与Java的关系 1.2.2 Java Web应用的主要技术 1.2.3 Java Web技术能够完成的任务,1.2.1 Java Web与Java的关系,Java技术的3个版本: Java SE,标准版,主要用于桌面应用的开发,同时是其他版本的基础。 Java EE(J2EE),企业版,主要用于企业级应用的开发。 Java ME,微版本或者称为嵌入式版本,占用内存较少,主要用于嵌入式设备中应用的开发。,J2EE采用分层架构,分为4层,各层包含的技术以及各层之间的关系如下图所示。其中,第二层是Web应用层,Java Web开发指的就是该层
11、应用的开发。,1.2.2 Java Web应用的主要技术,主要有:JSP、Servlet、JavaBean、JDBC和XML。 JSP (Java Server Pages):JSP是Sun公司推出的站点开发语言,解决了ASP、PHP的一个通病脚本级执行。JSP可以在Servlet和JavaBean的支持下,完成功能强大的站点程序。主要用于输入、输出。,JSP实例,JSP内置对象,Request:表示HttpServletRequest对象,包含了有关浏览器的信息,并且提供获取cookie、header、session数据的方法。 Response:表示HttpServletResponse对
12、象,提供了用于设置回送浏览器的相应方法,如Request中提到的cookie、header等。 Out:是javax.jsp.JspWriter的一个实例,提供了用于向浏览器显示输出结果的方法。,pageContext:用于存取各种范围的名字空间、Servlet有关对象的API。 Session:表示一个请求的javax.servlet.http.HttpSession对象,它可以存储用户的状态信息。 Application:表示javax.servlet.ServletContext对象,有助于查找有关Servlet引擎和环境的信息。 Config:存储Servlet实例的初始化参数。 Pa
13、ge:从所在页面产生一个Servlet实例。 Exception:异常处理,继承于Java的异常类,JSP中的常用标签,Jsp:include:在页面被请求时引入一个文件 Jsp:useBean:实例化一个JavaBean Jsp:setProperties:设置JavaBean属性 Jsp:getProperties:输出某个JavaBean属性 Jsp:forward:将请求转到一个新页面 Jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记。,Servlet: Java Servlet是运行于Web服务器端的小程序。利用Java Servlet可以实现网页中
14、很多交互式效果,在动态网页设计中具有广泛应用。用户通过Web浏览器访问服务器端的Java Servlet程序,Java Servlet负责实现对数据库的访问,并动态生成HTML格式的结果文件,交给Web浏览器显示。 Servlet主要用于系统流程控制。,Servlet实例,HttpServlet类: 定义了doGet方法和doPost方法,分别用以响应来自客户的get请求和post请求。这些方法是由service方法调用的,当一个请求到达服务器上时,就会调用这个 service方法。service方法首先判断请求的类型,然后调用适当的方法处理该请求。doGet方法和doPost方法接收Http
15、ServletRequest和HttpServletResponse对象作为参数。 。,HttpServlet类处理用户HTTP请求的过程,HttpServletRequest 接口:是对Http协议请求消息的包装。通常客户端传给Web服务器的数据包含在Http的请求消息中。Get方法下,数据以查询串的形式放在请求的URI的末尾;Post方法下,数据包含在请求的实体中。两种情况下,数据都是以“关键字/值”对的形式存放。 HttpServletRequest接口继承了ServletRequest接口中定义的一些获取表单数据的基本方法( getParameter() 、 getParameterV
16、alues() 、 getParameterNames() )。 Get方法和Post方法的区别:P19,HttpServlet的每个doGet调用或doPost调用都接收到一个实现了HttpServletRequest接口的对象。执行Servlet的Web服务器创建一个HttpServletRequest对象,并将此对象传递给Servlet的service方法(该方法又将它传递给doGet方法和doPost方法)。该对象中包含有来自客户的请求。,HttpServletResponse接口:是对Http协议响应消息的面向对象包装,里面定义了一系列操作Http协议响应消息的方法。其中,常用有: setContentType()方法、 getWriter()方法和getOutputStream()方法,Servlet的生命周期,从生成一个 Servlet实例开始到其消亡为止的这段时间称作 Servlet的生命周期(lifecycle)。包括:加载、实例化、初始化、处理请求和销毁服务等。 Servlet接口定义了下列与Serv