☐
1
1
1
1
1
基于JAVA 的WEB 应用开发实训教程
☐第一章 WEB 应用体系架构简介
基于 Java 技术的 Web 应用开发
Web 应用体系架构基本知识
1 Web 应用的 B/S 结构编程模式
2 HTTP 协议请求相应模式
3 Web 应用程序的发展
4 Web 应用程序中的服务器端技术
5
5
5
5
5
◆WEB 应用模型:
基于 B/S 结构:浏览器—服务器 (WEB 服务器+WEB 应用服务器)
IBM HTTP SERVER,MS IIS, APACHE
IBM WEBSPHERE APPLICATION SERVER
◆HTTP 请求/响应模型:
请求消息和响应消息
一个完整的 HTTP 会话过程:
1)客户端和 WEB 服务器建立连接,通过默认 8080 端口。2)连接后,客户端向服务器发
送 HTTP 请求消息,WEB 服务器处理请求消息,并将响应消息送给客户端,3)连接关闭
HTTP 是一个无状态的协议:客户端访问WEB 服务器上某个 WEB 页面都要建立独立的连
接,服务器不保留前一次访问的信息。服务器不保留客户机的状态信息。所以服务器需要采
取一定措施保留用户状态数据。
◆HTTP 消息格式:
三个部分:起始行,题头域,一个空行后的消息体
POST /certify HTTP/1.1
Host:172.23.77.94 主机地址
POST 方法, HTTP 版本号
Content-Type: text/xml 消息内容的类型
Content-Length:16
消息内容的长度
Hello,IBM World 消息体
1) 起始行:包含 HTTP 方法(GET,POST),URI,HTTP 版本号
例如:GET /default.html HTTP/1.0
无效的 URI 请求返回错误代码(404),如是指向生成数据的资源,servlet,数据在响
应消息中返回。递交表单用 POST 方法,GET 方法向服务器请求资源由 URI 指示请求地
址
2)HTTP 消息---题头域
名称
Accept
Accept-Language
Content-type
目的
可接受的媒体类型
如没有,则假设客户端可接
受所有的媒体
客户端希望响应优先使用的
语言
发送到接受者的消息题的媒
介类型
1
举例
Accept:image/gif
Accept:image/jpeg
Accept-Language:en-us
Content-type:text/html
Host
User-Agent
◆HTTP 响应消息
基于JAVA 的WEB 应用开发实训教程
所请求资源的主机名称和端
口号
包含发出请求消息的客户端
的信息
User-Agent:Mozilla/4.0
包含状态行+0个或多个题头域
HTTP/1.1 200 OK
版本号, 响应状态码,成功响应
Content-Type:text/plain
Content-Length;25
Welcome to the IBM World!
常见的HTTP 响应状态码:
200 OK 请求成功
400 不良请求 由于语法错误而导致服务器无法理解请求信息
401 未授权 请求要求身份验证和或授权
404 为发现 服务器未发现与请求 URI 匹配的内容
500 内部服务器错误 服务器出错,无法处理请求
◆WEB 应用程序发展—静态
Client
Web browser
HTTP Response
◆WEB 应用程序发展---Applet
server
HTTP request
WEB SERVER
File System
Client
WEB Browser
With JVM
HTTP Response
network
server
HTTP Request
WEB Server
File System
◆WEB 应用程序发展---Servlet
Client
Web Browser
HTTP Request
Web Server Plugin
Requests for static resource
server
HTTP Response
2
Requests for dynamic resource
Web Server
Web Container
File System
基于JAVA 的WEB 应用开发实训教程
Servlet 是运行在服务器上的WEB Container 中的,WEB 容器,WEB 应用服务器提供WEB
Container,用于管理 Servlet 这样的服务器端组件。
带来问题: Servlet 会把业务逻辑和显示逻辑混合在一起
◆WEB 应用程序发展---JSP
Web Container
Request
Reponse
service(req, res)
Servlet
forward(req,res)
RequestDispatcher
Service(req,res)
method()
Java Server Page
JavaBeanweb网站开发教程
methods()
JSP 实现更好的MVC 结构,分离视图、控制和业务逻辑
JSP 页面显示给用户的数据,Servlet 控制页面的流程,JSP 和 Servlet 调用 JavaBean
◆WEB 应用程序发展---EJB
Web
Browser
HTTP
Server
Web
Container
Java
Application
EJB
Container
EJB 是 Enterprise JavaBean,提供了对业务逻辑封装。JavaBean 可以通过WebContainer 来访
问 EJB,JAVA 应用程序客户端也可以访问 EJB。
◆Web 应用程序中的服务器端技术---ASP
VBScript 代码被 ASP 引擎解释执行
◆Web 应用程序中的服务器端技术—ASP.NET
页面表现与代码分离,能使用多种语言,VB.NET 和 C#,ASP.NET 程序是编译
◆Web 应用程序中的服务器端技术执行--JSP
使用JAVA 语言,在 HTML 代码中混合程序代码,由语言引擎执行程序代码
JSP 被编译成 Servlet 并有 JAVA 虚拟机执行,这种编译操作仅在对 JSP 页面的第一次请求时
发生。
3
2
J2EE 架构模式
基于JAVA 的WEB 应用开发实训教程
第二章 J2EE 简介
5
2
2
2
2
2
2
2
2
1 J2EE 构建企业级应用
2 MVC 设计模式
3 J2EE Blueprints
4 J2EE 的组件和容器
5 J2EE 的标准服务
6 J2EE 的特性和优势
7 J2EE 打包与部署
1 J2EE 构建企业级应用
9
9
5
5
5
5
9
9
目的在于克服C/S 架构的弊端,采纳 B/S 架构来构建应用
J2EE 为 JAVA 技术开发服务器端应用提供了一个平台独立的,可移植的,多用户的,安全
的和基于标准的企业级平台,从而简化了企业应用的开发、部署和管理。
企业级应用:指那些为商业组织、大型企业而创建并部署的解决方案和应用。
企业级应用特点及需求: 结构复杂,涉及外部资源多,事务密集,数据量大,用户数多,
安全性高。
需求:高可用性、安全性、可依赖性和可扩展性。
2
2 MVC 设计模式
9
Model 模型, View 视图 , Controller 控制器
Model 提供应用业务逻辑,指对业务数据、信息的处理模块,包括对业务数据的存取、加工、
综合等。
View 指用户界面:用户与程序交互的接口,用户可以通过View 输入信息,另一方面程序通
过 View 将数据结果以某种形式显示给用户。
Controller 负责view 和 model 之间的流程控制。
MVC 的优势:
三层分离有利于项目小组按小组成员各自的擅长进行分工
控制部分代码相对稳定,业务逻辑跟随商业流程的变化而变化,视图模块根据用户需求更改
而更改,有利于代码修改过程中进行模块的分离。
在 J2EE 中,EJB 提供应用业务逻辑,实现 Model,HTML,JSP 实现用户界面,VIEW。Servlet
实现控制器。
J2EE Blueprints(J2EE 应用设计模型)体系模型
是开发人员设计和优化 J2EE 组件的基本原则,同时为围绕开发工作进行职能分工给出了指导性策
略,以帮助应用开发人员合理地分配技术资源。
J2EE 是 JAVA 技术构建多层次企业级应用的一系列标准。不是现成的产品,各平台开发商
按照J2EE 规范分别开发了不同的J2EE 应用服务器,以及开发J2EE 企业级应用的IDE 工具。
◆IBM 的J2EE 产品
IBM 的 J2EE 应用服务器就是 WAS(WebSphere Application Server)4.0 版本符合 J2EE1.2 规
范,5.0 版本符合 J2EE1.3 规范。
开发 J2EE 企业级应用的工具就是 WSAD(Websphere Studio Application Developer),5.0
4
版本
J2EE 容器包括:
基于JAVA 的WEB 应用开发实训教程
◆ Web 容器 服务器端容器,包括两种组件JSP 和 Servlet,JSP 和 Servlet 都是 Web 服务器
的功能扩展,接受 Web 请求,返回动态的 Web 页面。Web 容器中的组件可使用 EJB 容器中
的组件完成复杂的商务逻辑。
◆ EJB 容器 服务器端容器,包含的组件为 EJB(Enterprise JavaBeans),它是 J2EE 的核心之
5
基于JAVA 的WEB 应用开发实训教程
一,主要用于服务器端的商业逻辑的实现。EJB 规范定义了一个开发和部署分布式商业逻辑
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论