Spring还提供了足以和IoC容器,提供了如页面框架、身份验证、顾客管理和权力管理等基本作用

澳门新葡8455最新网站 1

iBeshmet 1.5版正式发布了!
ibeshmet是基于J2EE技术的MVC开发框架,用于实现Web应用的快速开发。该框架提供了完整的Web应用解决方案,UI使用当前流行的
ExtJS2.0,表现层框架为Struts2 ,
事务管理由Spring2.0处理,持久层使用Ibatis2.3。该框架已经基于上述技术,提供了如页面框架、身份验证、用户管理和权限管理等基本功能。
iBeshmet
1.5版对后台程序做了较大的改动,为方便用户能方便调用后台接口,在框架代码中全面引入Java泛型。并升级第三方开源jar包、底层框架。使用GZIP方式压缩传输的页面元素提高系统运行效率。优化页面代码及操作细节,提高用户体验。iBeshmet1.5商业版本新特征如下:1.Java代码中引入泛型2.升级底层框架代码3.升级第三方开源jar包4.增加配置项管理功能,可灵活配置系统功能5.增加字典管理功能,方面定制和维护字典数据6.增加多标签页显示功能,可动态切换为单页显示7.支持动态设置session超时时间8.支持动态改变每页显示的记录条数9.使用GZIP方式压缩传输的页面元素10.解决跨浏览器时出现的问题11.提升用户体验12.提升系统运行效率详细内容:

Java Web
前端高性能优化(一)、(二)总结了前端性能问题定位以及图片优化的几种方式,将它们归结起来,在读者需要的时候,可以查看本文的内容,相信按照本文的方法,可以辅助读者进行前端性能优化。

XmlIO  【Java开源 XML解析】

XmlIO是一个利用SAX来解析XML然后创建Java对象并同时调用这些对象setter方法的框架.这个框架还能够把一张包含有单个根节点的Java对象图序列化成XML格式的字符串。

一.上文回顾

Buffalo  【Java开源 AJAX开发】

Buffalo
是Amowa思想实现的关键组件。Buffalo中定义了Web远程调用的传输基础,并且将远程调用对象完整的序列化到了本地,成为可以被
JavaScript编程触及的对象。Buffalo中的重要组件-BuffaloBinding,提供了将JavaScript对象绑定到HTML元素
的能力。这种绑定将是无侵入的,只需要在HTML元素中加入若干个不影响排版的属性,即可将数据与界面绑定。中文主页:

澳门新葡8455最新网站 1

Tagit  【Java开源 Web测试】

Tagit是模拟对象(Mock
Objects)测试模式的一个实现。它可用于在脱离容器的情况下对自定义JSP标签进行单元测试。

那么如何给服务器响应添加 Content-Encoding: gzip
报头,同时压缩响应数据呢?

Commons-IO  【Java开源 Apache其它开源】

Commons IO是Jakarta
Commons项目的一个子项目。用来帮助进行IO功能开发.它包含三个主要的领域:Utility
classes-提供一些静态方法来完成公共任务.Filters-提供文件过滤器的各种实现.Streams-提供实用的Stream,reader与
writer实现.

清单 9. 预加载函数

CDT  【Java开源 Eclipse插件】

C/C++在Eclipse平台下的开发工具.它提供的功能包括:C/C++编辑器(一些基本的功能:语法高亮显示,代码编辑等),C/C++调试器,C/C++
Launcher,剖析器,内容提示,Makefile生成器等。

该程序的主体思想是:在响应流写回之前,对响应的字节数据进行 GZIP 压缩。

Winstone  【Java开源 Web服务器】

Winstone是一个Servlet容器,它的目的是提供Servlet功能但没有完全采用J2EE规范.如果有时你要想的只是一个简单的Servlet容器,Winstone是一个最好的解决方案.它支持servlet2.4与JSP2.0规范.

清单 1. BASE64 的 Java 代码

All-In-One Eclipse  【Java开源 Eclipse插件】

All-In-One Eclipse是一个安装包,All-In-One Eclipse可以一次性安装Eclipse
v3.1.1和NLPack1和其它插件(如:EMF,GEF,VE,TPTP,WTP 等). 
下载页面:

清单 6. 不压缩的响应

Simple Web Framework  【Java开源 Web框架】

Simple Web Framework
(SWF)是一个基于事件的web框架.它很适合于那些想要开发胖客户端Web应用程序但又不想转向JSF的Struts开发人员。SWF跟Struts
一样也是构建在Jakarta commons基础之上,但使用一个不同的request
processor。SWF事件模型支持基于XmlHttpRequest的事件提交。

图 1. BASE64 显示图像

jenia4faces  【Java开源 其它开源项目】

jenia4faces 是一个HTML JSF组件包.这个包主要由以下组件组成:Chart-
动态Chart生成。DataTools-DataTable扩展工具。 Dynamic- dhtml text
effects。Popup-在html生成弹出式菜单。 Template-简单模板管理器。

清单 4. 自定义 Filter 压缩 GZIP

XWiki  【Java开源 Wiki引擎】

XWiki是一个强大的Java开源的Wiki引擎。它支持一些受欢迎的特性如:
* 内容管理(浏览/编辑/预览/保存),
* 支持附件,
* 版本控制,
* 全文本搜索,
* 权限管理
* 使用Hibernate进行数据存储,
* RSS输出与显示外部的RSS feeds,
* 多语言支持,
* 提供XML/RPC的API,
* WYSIWYG HTML编辑器,
* 导出为PDF
* Groovy脚本支持等等….。

澳门新葡8455最新网站 2

本次我们主要从图像BASE64 编码、GZIP压缩、懒加载与预加载以及
OneAPM
Browser Insight 的定位分析功能四个方面介绍前端优化方法

Webcockpit澳门新葡8455最新网站,  【Java开源 其它开源项目】

Webcockpit是一个web应用程序生成器。它能够生成包含图形(使用JFreeChart
和Cewolf)与HTML表格的完整JSP
Web应用程序。图表与表格的内容来自SQL查询。Webcockpit从一个XML配置文件生成JSP页面。

现在大多数前端性能优化工具往往注重的是某个时间段内的页面平均响应时间,这就造成可能因为某个用户偶然性的网络卡顿而延长整个时间段内的页面加载时间。

ActiveCluster  【Java开源 其它开源项目】

ActiveCluster
是用于编写基于集群的应用程序(监视集群中的可用节点并同这些节点通信)的框架。ActiveCluster由一个API和一个缺省实现组成。

预加载原理是在用户查看一张图片时,就将下一张图片先下载到本地,而当用户真正访问下一张图片时,由于本地缓存的原因,无需从服务器端下载,从而达到提高用户体验的目的。为了实现预加载,我们可以实现如下的一个函数。

ICM  【Java开源 内容管理系统(CMS)】

ICM(Instant Content Management )是一个开源的Web内容管理系统.
最终用户可以编辑自己的主页以所见即所得的方式.而web设计者有更高级的管理选项并可使用各种标准模板语言来组合一个站点.

图 2.Browser Insight 定位分析

Jencks  【Java开源 其它开源项目】

Jencks
是一个轻量级的JCA容器。它可以轻松部署到Spring中以提供消息驱动的POJOs.此外Jencks通过使用类似于JMS,JAX-RPC,JBI
与JCA
CCI的API来提供对inbound与outbound消息的支持,同时还提供一个基于XA的JDBC连接池机制。

清单 8. Nginx 的 GZIP 配置

JFreeChart  【Java开源 报表制作】

JFreeChart它主要是用来制作各种各样的图表,这些图表包括:饼图、柱状图(普通柱状图以及堆栈柱状图)、线图、区域图、分布图、混合图、甘特图以及一些仪表盘等等。

澳门新葡8455最新网站 3

为了减少传输的数据,压缩是一个不错的选择,而 HTTP 协议支持 GZIP
的压缩格式,服务器响应的报头包含 Content-Encoding:
gzip,它告诉浏览器,这个响应的返回数据,已经压缩成 GZIP
格式,浏览器获得数据后要进行解压缩操作。这在一定程度可以减少服务器传输的数据,提高系统性能。

EcSplorer  【Java开源 Eclipse插件】

EcSplorer(Eclipse Simplified Explorer)是一个类似于 Windows
Explorer的Eclipse插件,它可以帮助你在不退出Eclipse的环境下浏览本地文件系统。

预加载和懒加载,是一种改善用户体验的策略,它实际上并不能提高程序性能,但是却可以明显改善用户体验或减轻服务器压力。

Tapestry  【Java开源 Web框架】

Tapestry
是一个开源的基于servlet的应用程序框架,它使用组件对象模型来创建动态的,交互的web应用。一个组件就是任意一个带有jwcid属性的html
标记。其中jwc的意思是Java Web
Component。Tapestry使得java代码与html完全分离,利用这个框架开发大型应用变得轻而易举。并且开发的应用很容易维护和升级。
Tapestry支持本地化,其错误报告也很详细。Tapestry主要利用javabean和xml技术进行开发。【Spindle:Tapestry辅助开发Eclipse插件】.

澳门新葡8455最新网站 4

 HTTP/1.1 200 OK 
 Server: Apache-Coyote/1.1 
 ETag: W/"5060-1242444154000"
 Last-Modified: Sat, 16 May 2009 03:22:34 GMT 
 Content-Type: text/html 
 Content-Length: 5060
 Date: Mon, 18 May 2009 12:29:49 GMT

Compiere ERP  【Java开源 ERP与客户关系管理】


一高价值的商业应用程序,易于安装、易于实施、易于使用。只需要短短几个小时,您就可以使用申购-采购-发票-付款、报价-订单-发票-收款、产品与定
价、资产管理、客户关系、供应商关系、员工关系、经营业绩分析等强大功能了!功能未减,实施时间缩减到
4
小时。最重要的是:这一高价值的商业应用程序是免费的!可以自行安装和实施这套系统(如果您略懂
Oracle 和 Java 技术)。
中文站点:

澳门新葡8455最新网站 5

四.GZIP 压缩

Roller Weblogger   【Java开源 博客(Blog)】

这 个weblogging
设计得比较精巧,源代码是很好的学习资料。它支持weblogging应有的特性如:评论功能,所见即所得HTML编辑,TrackBack,提供页面模
板,RSS syndication,blogroll管理和提供一个XML-RPC 接口。

澳门新葡8455最新网站 6

可以使用 在线的工具—“Base64 Online”,这个工具可以上传图片将图片转换为
BASE64 字符串。当然,如果读者有兴趣,完全可以自己实现一个 BASE64
编码工具,比如使用 Java 开发,它的代码就如清单 1 所示。

Heritrix  【Java开源 Web爬虫】

Heritrix是一个开源,可扩展的web爬虫项目。Heritrix设计成严格按照robots.txt文件的排除指示和META
robots标签。

可以看到,压缩后的数据比压缩前数据小了很多。压缩后的响应报头包含
Content-Encoding: gzip。

Corinis CCM  【Java开源 内容管理系统(CMS)】

Corinis
CCM是一个基于Java/XML的开源内容管理系统.它结合了一个专业内容管理系统所应具备的功能如:WYSIWIG编辑,基于角色的QA等.整个系统采用模块设计使得系统变得易于扩展与重复利用,它包含的模块有论坛,投票和相册等.

compression="on" 打开压缩功能

Elsie  【Java开源 Wiki引擎】

Elsie
是一个用Java开发的Wiki引擎。它支持大多数流行wiki所应具备的特性包括:简单的wiki
markup语法,内容管理(查看, 编辑,附件等…),
版本控制,访问控制列表和用户/组管理,可使用布局模板和CSS来控制外观,一个用于创建公共文档的文档模板,支持I18N和多种语言,搜索等.
Elsie实现一个基于IoC的wiki内核并提供一组定义清晰,独立于servlet的wiki API
以便于使整个Wiki易于扩展和可定制。
澳门新葡8455最新网站 7

作为一个网站的前端运维人员或者优化人员,大多数情况下并不一定要注重每一位用户的访问情况,只要大部分用户访问网站的时候处于一个满意的程度就可以了。

Eclipse  【Java开源 开发工具】

Eclipse平台是IBM向开发源码社区捐赠的开发框架,它之所以出名并不是因为IBM宣称投入开发的资金总数
—4千万美元,而是因为如此巨大的投入所带来的成果:一个成熟的、精心设计的以及可扩展的体系结构。

澳门新葡8455最新网站 8

三.Browser Insight 定位分析

SwiXAT  【Java开源 XML用户界面工具包】

SwiXAT是一个基于Swing的XUL框架用于快速和简化GUI
Java应用程序开发.它实现了一个真正的MVC框架,其中利用XML来定义表现层(SwiXml作为XUL引擎),而BeanShell脚本语言用做控制器,并利用JXPath作为view与model之间的绑定机制. 
澳门新葡8455最新网站 9

由于图片数据包含在了 BASE64
字符串中,因此无需向服务器请求图像数据,结果显示如下图所示。

JsOrb  【Java开源 AJAX开发】

JsOrb
是一组技术的集合设计用来简化下一代Web应用程序的开发。它能够让浏览器端的web页面很容易地访问服务端的商业逻辑与POJOs。JsOrb能够根据
POJOs和要作为商业逻辑接口代理的需求来生成JavaScript
Classes代码。因此JavaScript类与POJOs有相同的方法与商业逻辑并且JavaScript代码看起来与Java很相似。
澳门新葡8455最新网站 10

我们为 Connector 添加了如下几个属性,他们意义分别是:

JWP  【Java开源 其它开源项目】

Java Web
Parts为所有Web应用程序开发者提供了一些可以重复使用和几乎相互独立的Java组件。你可以把这个项目想象成类似于Jakarta
Commons项目。JWP包括以下这些组件:AjaxTags一个标签库可以为一个页面轻松地添加AJAX
功能而几乎不用改变现存的JSP代码。DependencyFilter:这个一个简单易用并且是基于declarative(声明)模式的灵活IoC组
件。此外它还包括一些过滤器(比如:
CompressionFilter,SessionLimiterFilter,
RequestRecorderFilter,AppAvailabilityFilter,
ParameterMungerFilter等),各种用来处理Request,
Response与Session的工具类与其它其它一些标签库。

二.图像的 BASE64 编码

Quartz  【Java开源 日程安排(Job Schedulers)】

Quartz 是OpenSymphony开源组织在Job
scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,
甚至是好几万个Jobs这样复杂的日程序表。Jobs可以做成标准的Java组件或
EJBs。Quartz的最新版本为Quartz 1.5.0。

澳门新葡8455最新网站 11

而懒加载则是在用户需要的时候再加载。当一个网页中可能同时有上百张图片,而大部分情况下,用户只看其中的一部分,如果同时显示上百张,则浪费了大量带宽资源,因此可以当用户往下拉动滚动条时,才去请求下载被查看的图像,这个原理与
word 的显示策略非常类似。

EclipseWork  【Java开源 Eclipse插件】

EclipseWork 是一个用于开发WebWork的一个插件.它有很多向导用于创建WebWork
Action和利用Hibernate与Prevayler来为应用程序添加增删改查(CRUD)功能.EclipseWork还能生成
JSP,Velocity和Freemarker代码.EclipseWork还是一个可扩展的插件你可以编写自己的Eclipse向导而不需要了解
Eclipse插件API,你所要做地只是编辑XML和用于生成代码的Velocity模板.EclipseWork将会解析XML并打开这个自定义的向
导.在它主页上还提供许多Flash教程。

 <Connector  port ="80"  maxHttpHeaderSize ="8192" 
 maxThreads ="150"  minSpareThreads ="25"  maxSpareThreads ="75" 
 enableLookups ="false"  redirectPort ="8443"  acceptCount ="100" 
 connectionTimeout ="20000"  disableUploadTimeout ="true"  URIEncoding ="utf-8"   
 compression="on" 
 compressionMinSize="2048" 
 noCompressionUserAgents="gozilla, traviata" 
 compressableMimeType="text/html,text/xml" />

SSHTools  【Java开源 网络客户端】

SSHTools是一组Java SSH应用程序。包括:Java SSH API, SSH Terminal, SSH
secured VNC客户端, SFTP客户端和SSH
Daemon。ESftp是根据此项目开发的一个Eclipse插件主要用来在Eclipse开发平台与Sftp服务器之间传输文件。

清单 3. TOMCAT 配置清单

EJOE  【Java开源 网络服务器】

EJOE
是一个轻量级C/S(client/server)组件用于发送与接收Java对象通过使用外挂式的序列化(serializing)机制.EJOE提供
三种功能:1.一个多线程,高性能的网络IO服务器和一个相应的客户端组件。2.序列化所有通过客户端发送的输入对象和由你商业逻辑提供的返回对象。3.
提供一个简单,清晰,唯一的接口来把一个对象请求代理集成到你的应用程序中。

同时 Content-Length 包含了返回数据的大小。GZIP
压缩是一个重要的功能,前面提到的是对单一服务器的压缩优化,在高并发的情况,多个
Tomcat
服务器之前,需要采用反向代理的技术,提高并发度,而目前比较火的反向代理是
Nginx(这在后续的文章会进行详细的介绍)。

Celtix  【Java开源 企业应用集成(EAI)】

Celtix提供了一个运行期Java企业服务总线和一组可扩展的API.通过使用一个基于标准的,面向服务的体系来简化商业与技术组件的构建,集成和灵活重复使用。
澳门新葡8455最新网站 12

 // 监视对 gzipCategory 文件夹的请求
 @WebFilter(urlPatterns = { "/gzipCategory/*" }) 
 public class GZIPFilter implements Filter { 

 @Override 
 public void doFilter(ServletRequest request, ServletResponse response, 
 FilterChain chain) throws IOException, ServletException { 
 String parameter = request.getParameter("gzip"); 
 // 判断是否包含了 Accept-Encoding 请求头部
 HttpServletRequest s = (HttpServletRequest)request; 
 String header = s.getHeader("Accept-Encoding"); 
 //"1".equals(parameter) 只是为了控制,如果传入 gzip=1,才执行压缩,目的是测试用
 if ("1".equals(parameter) && header != null && header.toLowerCase().contains("gzip")) { 
 HttpServletResponse resp = (HttpServletResponse) response; 
 final ByteArrayOutputStream buffer = new ByteArrayOutputStream(); 

 HttpServletResponseWrapper hsrw = new HttpServletResponseWrapper( 
 resp) { 

 @Override 
 public PrintWriter getWriter() throws IOException { 
 return new PrintWriter(new OutputStreamWriter(buffer, 
 getCharacterEncoding())); 
 } 

 @Override 
 public ServletOutputStream getOutputStream() throws IOException { 
 return new ServletOutputStream() { 

 @Override 
 public void write(int b) throws IOException { 
 buffer.write(b); 
 } 
 }; 
 } 

 }; 

 chain.doFilter(request, hsrw); 
 byte[] gzipData = gzip(buffer.toByteArray()); 
 resp.addHeader("Content-Encoding", "gzip"); 
 resp.setContentLength(gzipData.length); 
 ServletOutputStream output = response.getOutputStream(); 
 output.write(gzipData); 
 output.flush(); 
 } else { 
 chain.doFilter(request, response); 
 } 
 } 
 // 用 GZIP 压缩字节数组
 private byte[] gzip(byte[] data) { 
 ByteArrayOutputStream byteOutput = new ByteArrayOutputStream(10240); 
 GZIPOutputStream output = null; 
 try { 
 output = new GZIPOutputStream(byteOutput); 
 output.write(data); 
 } catch (IOException e) { 
 } finally { 
 try { 
 output.close(); 
 } catch (IOException e) { 
 } 
 } 
 return byteOutput.toByteArray(); 
 } 
……
 }

OpenCms  【Java开源 内容管理系统(CMS)】

OpenCms
是一个J2EE的产品,它是用Java写成的。它和Tomcat捆绑在一起。但是也能够使用ATG
Dynamo、WebLogic和WebSphere。OpenCms支持多种RDBMS来保存内容,包括Oracle、SQL
Server、Sybase和mySQL。新版本提供了一个新的模板引擎,JSP支持,一种新的连接管理系统,提高了稳定性。

澳门新葡8455最新网站 13

小结

Eclipse 3.1.1 translations  【Java开源 Eclipse插件】

Eclipse 3.1.1和其它Eclipse工具( Visual Editor (VE) , UML2,GEF,EMF / XSD
,WTP等)发布各种语言支持包。其中包括支持中文的NLpack1包。
详细可查看以下网址:
.

下载地址:
Windows
98/ME/2000/XP
NLpack1_FeatureOverlay-eclipse-SDK-3.1.1.zip  
NLpack1-eclipse-SDK-3.1.1a-win32.zip  

Linux
(x86/GTK 2)
NLpack1_FeatureOverlay-eclipse-SDK-3.1.1.zip  
NLpack1-eclipse-SDK-3.1.1a-gtk.zip  

 function  preload(callback) {  
 var imageObj = new Image(); 
 images = new Array(); 
 images[0]="pre_image1.jpg"; 
 images[1]=" pre_image2.jpg"; 
 images[2]=" pre_image3.jpg"; 
 for(var i=0; i<=2; i++) { 
   imageObj.src=images[i]; 
  if (imageObj.complete) { // 如果图片已经存在于浏览器缓存,直接调用回调函数
      callback.call(imageObj); 
   } else { 
 imageObj.onload = function () {// 图片下载完毕时异步调用 callback 函数
        callback.call(imageObj);// 将回调函数的 this 替换为 Image 对象
    }; 
 } 
 } 
 } 

 function callback() 
 { 
  alert(this.src + “已经加载完毕 , 可以在这里继续预加载下一组图片”); 
 }

Hibernate  【Java开源 持久层框架】

Hibernate
是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命
意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Eclipse平台下的Hibernate辅助开发工具:【Hibernate
Synchronizer
】【MiddlegenIDE

澳门新葡8455最新网站 14

本文编码了一个图像,并且将编码获得的 BASE64 字符串,写到了 HTML
之中,如下清单 2 所示。

Role Playing Tools  【Java开源 Java游戏】


是一个为传统角色扮演游戏提供相关工具的开源项目。当前包括的工具有:MapTool:这是一个可在C/S架构上为多个玩家提供地图与地图数据共享的图形
工具。DiceTool:这是一个能够在角色扮演游戏中推测死亡表达式的工具,它还可通过JavaScripts扩展各种计算。TokenTool:方便
创建MapTool标记(tokens).
澳门新葡8455最新网站 15澳门新葡8455最新网站 16

在 JavaScript 中,它的基本原理是首先要有一个容器对象,容器里面是 img
元素集合。用隐藏或替换等方法,停止 img
的加载,也就是停止它去下载图像。然后历遍 img
元素,当元素在加载范围内,再进行加载(也就是显示或插入 img 标签)。

Bugzilla  【Java开源 Bug追踪系统】

Bugzilla是一个Bug追踪系统设计用来帮助你管理软件开发。

清单 7. 压缩后的响应

Turbine  【Java开源 Web框架】

Turbine
是基于Servlet的框架包,也是开放源代码Jakarta项目。目前还没有关于Turbine的大量文档。它类似于Struts,但是有一些主要区
别。突出的一点就是它并没有与JSP耦合。Turbine的特点是它提供了大量可重用的组件。此框架包中包含了大量组件,但是这些组件是离散的。它似乎应
该给出更多的组件库,但是由于它缺少文档,所以很难掌握完整的体系结构。

澳门新葡8455最新网站 17

前一段时间发现 OneAPM 的Browser
Insight
推出了定位分析功能,可以从响应时间分布来查看用户的整体响应分布,并可以针对不同时间分布内的用户确定影响其响应时间的因素。

opencsv  【Java开源 其它开源项目】

opencsv一个简单的CSV解析Java包。

 gzip  on; 
 gzip_min_length  1000; 
 gzip_buffers     4 8k; 
 gzip_types       text/plain application/x-javascript text/css text/html application/xml;

Continuum  【Java开源 系统构建】

Continuum可用于Java项目构建的持续集成,使用简单。它内置支持Maven 2,Maven
1, Ant和Shell Scripts.

有时候,我们无法配置
server.xml,比如如果我们只是租用了别人的空间,但是它并没有启用GZIP,那么我们就要使用程序启用
GZIP
功能。我们将需要压缩的文件,放到指定的文件夹,使用一个过滤器,过滤对这个文件夹里文件的请求。

JOnAS  【Java开源 EJB服务器】

JOnAS
是一个开放源代码的J2EE实现,在ObjectWeb协会中开发。整合了Tomcat或Jetty成为它的Web容器,以确保符合Servlet
2.3和JSP 1.2规范。JOnAS服务器依赖或实现以下的Java API:JCA、JDBC、JTA
、JMS、JMX、JNDI、JAAS、JavaMail 。

澳门新葡8455最新网站 18

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图