J2EE Architecture(16)

简介: J2EE Architecture(16) 1、表示层 表示层通常也称Web层,Web服务器及其组件构成了J2EE应用程序的“表示部分”。 客户端通过Web层访问企业资源,Web层允许规模庞大的客户群在Internet或内网环境下,通过合理方式访问企业应用程序。

J2EE Architecture(16)


1、表示层
表示层通常也称Web层,Web服务器及其组件构成了J2EE应用程序的“表示部分”。
客户端通过Web层访问企业资源,Web层允许规模庞大的客户群在Internet或内网环境下,通过合理方式访问企业应用程序。Web层组件是轻量级组件,具有可伸缩特性。
浏览器将HTTP/HTTPS请求发送给Web服务器部署的组件,Web组件可能使用RMI/IIOP通信协议或其它专用协议直接连接到资源层,也可能连接到业务层。
J2EE Web应用程序的复杂性对应用程序的稳健性有直接影响,二者呈线性递增关系。
2、Web层的重要性
1)静态和动态内容
Web可支持静态和动态内容。内容包括文本、图形和多媒体。
2)请求/响应
利用Web组件可实现“请求-响应”模型。
3)轻量级
Web服务器将HTTP用作通信协议。HTTP是一个轻量级传输协议,是实现业务事务“请求-响应”通信模型的最简洁方式。
HTTP能传输对企业至关重要的HTML和XML内容。
4)会话
默认情况下HTTP通信无状态。即服务器不能连接同一个客户端发送的两个连续请求。在一些技术的帮助下,可将两个或更多通信系列连成一个有用的企业事务会话。
5)可伸缩
Web服务器能够伸缩,能适应请求负载的增加。可利用硬件、软件和设计模式,提高伸缩能力,使Web应用程序将内容呈现给更多或更少的客户。
6)可实现业务逻辑
可优化Web服务器以提高企业应用程序的表示能力。
可通过一些简单方法,将业务逻辑嵌入到Web服务器上。注意:业务逻辑若包含在Web层,可能存在泄漏风险。
3、Web容器
Web应用程序使企业应用程序的一部分,使客户层与业务层之间的中间层,或客户层与资源层之间的中间层。
Web层负责为部署的Web应用程序提供稳健支持。
Web服务器可能需要支持若干个Web应用程序,而每个Web应用程序可能需要支持若干个交互的Web组件。各个Web应用程序部署的Web组件可能是若干个Servlet、Filter和JSP的组合。
Web服务器和Web容器一起,为Web应用程序及其组件提供生命期管理支持,并提供其它校准服务、如事务、命名和目录服务等。
4、Web组件
Web层有4类组件:
1)HTML
2)Servlet
Servlet组件可部署到服务器上,运用“请求/响应”模式。
其工作原理:将Servlet组件部署到适当容器后,Servlet将等待特定套接字上的客户端的请求;在收到请求后,组件执行必要的计算,并将响应返回给对应套接字上的客户端。完成了对话,也就是执行了业务环境的事务。
GenericServlet是Servlet规范定义的超类,运用“请求/响应”模式,独立于协议。优势在于:允许通过适当扩展GenericServlet类,实现使用其它任何通信协议的特殊Servlet。
HttpServlet是GenericServlet的子类,运用“请求/响应”,模式,利用HTTP通信协议交换信息。HTTP Servlet可接收各种形式的HTTP请求,如GET、POST和HEAD等。
Servlet的HTTP响应通常是HTML页或XML页,可使用setContentType()方法,将text/html或text/xml作为该方法的参数,以设置Servlet输出流,生成所需的内容类型。很多重载方法有助于接收和响应客户请求。如:doGet()方法服务HTTP GET请求,doPost()方法服务HTTP POST方法。
Servlet的主要目的不是生成HTML或XML输出,而是在Web层提供编程逻辑和功能支持。
Servlet也可能支持业务逻辑,以建立MVC Model 1 架构。
Servlet可与企业应用程序的其它组件交互,为客户端生成适当的输出。
Servlet的主要目的是控制不同组件之间的通信,以根据企业需求生成需要的输出。
可根据功能,将Servlet分为“前端控制器Servlet”和“表示Servlet”。
3)Filter
在Servlet2.3推出的,又称为“Servlet Filter”,是插入式Web组件,允许实现Web应用程序的预处理和后期处理逻辑。
Filter支持Servlet的“请求处理”功能,如登陆、转换、安全、会话、转化和企业应用程序需要的其它同类任务。
Filter能截获传入的请求和传出的响应,能检查、修改或处理Web应用程序的数据流。
可将Filter作为独立的模块化组件添加到Web应用程序的“请求-响应”链;也可在不影响企业应用程序同一位置Web组件的情况下将其从Web应用程序中删除。
Filter是J2EE应用程序的可选组件,正确使用Filter或Filter链,将能极大的提高重用效果,并能用多种方式快速地实现应用程序。
4)JSP
在HTML页中加入少量Java代码可用来计算动态数据,是生成动态输出的绝佳方式。在成功转换和编译JSP页后,将创建一个特殊的Servlet,以接收请求。
嵌入HTML页的Java代码需要遵守一些简单规则。
(1)JSP标准动作
通过与服务器端JavaBean组件的交互来提高能力和稳健性,能帮助Web组件实例化Web层的JavaBean。
例子:

  @ page contentType="text/html"  %>
html>
 
body bgcolor="white">
  
jsp:useBean id="custInfo" class="com.ora.jsp.beans.custinfo.CustInfoBean">
   
jsp:setProperty name="custInfo" property="*"/>
  
jsp:useBean>
  The following is the customer information:
  
ul>
   
li>Customer Name:
    
jsp:getProperty name="custInfo" property="custName"/>
   
li>
   
li>Address:
    
jsp:getProperty name="custInfo" property="address"/>
   
li>
  
ul>
 
body>
html>

(2)JSP定制标记
定制标记是JSP中使用的XML标记类型,用于在输出中提供更具定制特点的动态内容,可减少JSP页中的脚本元素。
定制标记可提供各种支持,如条件标记和迭代器标记。
例子: 

 @taglib uri="myTag" prefix="myData"%>
html>
 
head>
  
title>My Own Tagstitle>
 
head>
 
body>
  
table>
   
tr>
    
td>
     
myData:getData name="theText"/>
    
td>
   
tr>
  
table>
 
body>
html>
目录
相关文章
|
开发框架 Java API
J2EE Specification Level
J2EE Specification Level
108 0
Enterprise Architect学习笔记-EA中关系
Enterprise Architect中定义的关系主要有一下几种: ●Associate(关联):类之间有关联,通常是作为变量存在; ●Aggregate(聚合):类A包含类B或由类B组成;...
1109 0
|
API 容器 开发框架
J2EE Architecture(7)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1605607  J2EE Architecture(7) 1、Servlet上下文Web服务器能支持若干Web应用程序。
842 0
|
架构师 OLAP OLTP
J2EE Architecture(1)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1596034 J2EE Architecture(1) 1、遗留系统指继承产品,即企业早期使用的应用程序、数据结构、运行环境和硬件集合。
923 0
|
Web App开发 安全 API
J2EE Architecture(19)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1630335 J2EE Architecture(19) 1、会话Bean会话Bean有两种类型:无状态的会话Bean和有状态的会话Bean。
1148 0
|
开发框架
J2EE Architecture(13)
J2EE Architecture(13)
707 0
|
Java 测试技术 应用服务中间件
J2EE Architecture(4)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1601797 J2EE Architecture(4) 在Java语言从客户机/服务器环境发展为分布式平台后,J2EE应运而生。
1052 0
|
Java 容器
J2EE Architecture(12)
版权声明:本文为博主chszs的原创文章,未经博主允许不得转载。 https://blog.csdn.net/chszs/article/details/1611378 J2EE Architecture(12) 1、EJB规范EJB(Enterprise JavaBean)是最重要的组件,也是J2EE技术的重要组成部分。
1023 0
|
开发框架
J2EE Architecture(15)
J2EE Architecture(15)
749 0
|
开发框架
J2EE Architecture(16)
J2EE Architecture(16)
595 0