当前位置:首页 > 代码 > 正文

glassfish源代码下载的简单介绍

admin 发布:2022-12-19 21:28 145


本篇文章给大家谈谈glassfish源代码下载,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

关于glassfish CAS 证书。。。高手请赐教。。。。。

cas是个好东西,很灵活很好用,但是配置起来很麻烦,网上资料比较零碎。不弄个三五天根本不知道其中的原理,终于在多天的奋斗中配置成功,现在将配置的一些过程记录下来供大家参考。

cas官方网站

下载最新的服务端 CAS Server 3.3.3 Final

解压后将modules下面的cas-server-webapp-3.3.3.war部署到web服务器,作为单点登录的服务器。

登录的服务器下面很多配置文件,通过配置可以做一些扩展。

修改点1:验证方式使用我们自己的用户表验证

cas和当前已有的系统做集成的入口

1.修改deployerConfigContext.xml文件

添加数据源配置

XML/HTML代码

bean id="casDataSource" class="org.apache.commons.dbcp.BasicDataSource"

property name="driverClassName"

valuecom.mysql.jdbc.Driver/value

/property

property name="url"

valuejdbc:mysql://192.168.1.100/ires?useUnicode=truecharacterEncoding=UTF-8autoReconnect=true/value

/property

property name="username"

valueires/value

/property

property name="password"

valuei709394/value

/property

/bean

定义MD5的加密方式

XML/HTML代码

bean id="passwordEncoder"

class="org.jasig.cas.authentication.handler.DefaultPasswordEncoder" autowire="byName"

constructor-arg value="MD5"/

/bean

配置authenticationManager下面的authenticationHandlers属性

XML/HTML代码

bean class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler"

property name="dataSource" ref="casDataSource" /

property name="sql" value="select community_password from community_user_info where lower(community_user_info.community_user) = lower(?)" /

property name="passwordEncoder" ref="passwordEncoder"/

/bean

修改点2:获取用户信息保存,方便各个客户端可以统一得到用户信息

1.定义attributeRepository,通过jdbc查询用户的详细信息,可以把用户表或用户的所属组织机构或角色等查询出来。

XML/HTML代码

bean id="attributeRepository" class="org.jasig.services.persondir.support.jdbc.SingleRowJdbcPersonAttributeDao"

constructor-arg index="0" ref="casDataSource" /

constructor-arg index="1"

list

valueusername/value

valueusername/value

/list

/constructor-arg

constructor-arg index="2"

value

select * ,(SELECT orgn_organization.id from orgn_organization left join orgn_member on orgn_member.orgn_id = orgn_organization.id left join community_user_info on community_user_info.id = orgn_member.user_id where community_user_info.community_user = ?) as orgnId from community_user_info where community_user=?

/value

/constructor-arg

property name="columnsToAttributes"

map

entry key="id" value="id" /

entry key="community_user" value="userName" /

entry key="orgnId" value="orgnId" /

entry key="is_admin" value="isAdmin" /

/map

/property

/bean

2.配置authenticationManager中credentialsToPrincipalResolvers属性

XML/HTML代码

bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver"

property name="attributeRepository" ref="attributeRepository" /

/bean

注意:默认cas登录服务器没有把用户信息传到客户端中,所以要修改WEB-INF\view\jsp\protocol\2.0\casServiceValidationSuccess.jsp文件,增加

XML/HTML代码

c:if test="${fn:length(assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes) 0}"

cas:attributes

c:forEach var="attr" items="${assertion.chainedAuthentications[fn:length(assertion.chainedAuthentications)-1].principal.attributes}"

cas:${fn:escapeXml(attr.key)}${fn:escapeXml(attr.value)}/cas:${fn:escapeXml(attr.key)}

/c:forEach

/cas:attributes

/c:if

修改点3:用数据库来保存登录的会话

这样服务器在重新启动的时候不会丢失会话。

1.修改ticketRegistry.xml文件

将默认的ticketRegistry改成

XML/HTML代码

bean id="ticketRegistry" class="org.jasig.cas.ticket.registry.JpaTicketRegistry"

constructor-arg index="0" ref="entityManagerFactory" /

/bean

bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"

property name="dataSource" ref="dataSource"/

property name="jpaVendorAdapter"

bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"

property name="generateDdl" value="true"/

property name="showSql" value="true" /

/bean

/property

property name="jpaProperties"

props

prop key="hibernate.dialect"org.hibernate.dialect.MySQLDialect/prop

prop key="hibernate.hbm2ddl.auto"update/prop

/props

/property

/bean

bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager"

p:entityManagerFactory-ref="entityManagerFactory" /

tx:annotation-driven transaction-manager="transactionManager"/

bean

id="dataSource"

class="org.apache.commons.dbcp.BasicDataSource"

p:driverClassName="com.mysql.jdbc.Driver"

p:url="jdbc:mysql://192.168.1.100:3306/cas?useUnicode=truecharacterEncoding=UTF-8autoReconnect=true"

p:password="709394"

p:username="itravel" /

配置完之后还需要一些jar的支持,根据提示那些包缺少到网上找。

修改点4:配置remenber me的功能,可以让客户端永久保存session

1.修改deployerConfigContext.xml文件

authenticationManager增加authenticationMetaDataPopulators属性

XML/HTML代码

property name="authenticationMetaDataPopulators"

list

bean class="org.jasig.cas.authentication.principal.RememberMeAuthenticationMetaDataPopulator" /

/list

/property

2.修改cas-servlet.xml

修改authenticationViaFormAction配置变成

XML/HTML代码

bean id="authenticationViaFormAction" class="org.jasig.cas.web.flow.AuthenticationViaFormAction"

p:centralAuthenticationService-ref="centralAuthenticationService"

p:formObjectClass="org.jasig.cas.authentication.principal.RememberMeUsernamePasswordCredentials"

p:formObjectName="credentials"

p:validator-ref="UsernamePasswordCredentialsValidator"

p:warnCookieGenerator-ref="warnCookieGenerator" /

增加UsernamePasswordCredentialsValidator

XML/HTML代码

bean id="UsernamePasswordCredentialsValidator" class="org.jasig.cas.validation.UsernamePasswordCredentialsValidator" /

修改ticketExpirationPolicies.xml,grantingTicketExpirationPolicy配置如下,注意时间要加大,不然session很容易过期,达不到remember me的效果。

XML/HTML代码

bean id="grantingTicketExpirationPolicy" class="org.jasig.cas.ticket.support.RememberMeDelegatingExpirationPolicy"

property name="sessionExpirationPolicy"

bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy"

constructor-arg index="0" value="2592000000" /

/bean

/property

property name="rememberMeExpirationPolicy"

bean class="org.jasig.cas.ticket.support.TimeoutExpirationPolicy"

constructor-arg index="0" value="2592000000" /

/bean

/property

/bean

修改点5:取消https验证

在网络安全性较好,对系统安全没有那么高的情况下可以取消https验证,使系统更加容易部署。

1.修改ticketGrantingTicketCookieGenerator.xml

XML/HTML代码

bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"

p:cookieSecure="false"

p:cookieMaxAge="-1"

p:cookieName="CASTGC"

p:cookiePath="/cas" /

p:cookieSecure改成false,客户端web.xml中单独服务器的链接改成http

使用https协议的配置

1.证书生成和导入

下面是一个生成证书和导入证书的bat脚本,如果web应用和单独登录服务器部署在同一台机可以一起执行

C++代码

@echo off

if "%JAVA_HOME%" == "" goto error

@echo on

@echo off

cls

rem please set the env JAVA_HOME before run this bat file

rem delete alia tomcat if it is existed

keytool -delete -alias tomcatsso -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

keytool -delete -alias tomcatsso -storepass changeit

REM (注释: 清除系统中可能存在的名字为tomcatsso 的同名证书)

rem list all alias in the cacerts

keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

REM (注释: 列出系统证书仓库中存在证书名称列表)

rem generator a key

keytool -genkey -keyalg RSA -alias tomcatsso -dname "cn=localhost" -storepass changeit

REM (注释:指定使用RSA算法,生成别名为tomcatsso的证书,存贮口令为changeit,证书的DN为"cn=linly" ,这个DN必须同当前主机完整名称一致哦,切记!!!)

rem export the key

keytool -export -alias tomcatsso -file "%java_home%/jre/lib/security/tomcatsso.crt" -storepass changeit

REM (注释: 从keystore中导出别名为tomcatsso的证书,生成文件tomcatsso.crt)

rem import into trust cacerts

keytool -import -alias tomcatsso -file "%java_home%/jre/lib/security/tomcatsso.crt" -keystore "%java_home%/jre/lib/security/cacerts" -storepass changeit

REM (注释:将tomcatsso.crt导入jre的可信任证书仓库。注意,安装JDK是有两个jre目录,一个在jdk底下,一个是独立的jre,这里的目录必须同Tomcat使用的jre目录一致,否则后面Tomcat的HTTPS通讯就找不到证书了)

rem list all alias in the cacerts

keytool -list -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

pause

:error

echo 请先设置JAVA_HOME环境变量

:end

3.将.keystore文件拷贝到tomcat的conf目录下面,注意.keystore会在证书生成的时候生成到系统的用户文件夹中,如windows会生产到C:\Documents and Settings\[yourusername]\下面

2.配置tomcat,把https协议的8443端口打开,指定证书的位置。

XML/HTML代码

Connector port="8443" maxHttpHeaderSize="8192"

maxThreads="150" minSpareThreads="25" maxSpareThreads="75"

enableLookups="false" disableUploadTimeout="true"

acceptCount="100" scheme="https" secure="true"

clientAuth="false" sslProtocol="TLS"

keystoreFile="conf/.keystore" keystorePass="changeit" truststoreFile="C:\Program Files\Java\jdk1.5.0_07\jre\lib\security\cacerts"/

客户端配置

cas官方网站上面的客户端下载地址比较隐秘,没有完全公开,具体地址为

下载最新的cas-client-3.1.6-release.zip

1.解压后把modules下面的包放到我们的web应用中

2.配置web.xml,注意encodingFilter要提前配置,不然会出现数据插入数据库的时候有乱码。

serverName是我们web应用的地址和端口

XML/HTML代码

context-param

param-nameserverName/param-name

param-value192.168.1.145:81/param-value

/context-param

filter

filter-nameencodingFilter/filter-name

filter-class

org.springframework.web.filter.CharacterEncodingFilter

/filter-class

init-param

param-nameencoding/param-name

param-valueUTF-8/param-value

/init-param

init-param

param-nameforceEncoding/param-name

param-valuetrue/param-value

/init-param

/filter

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.htm/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.ftl/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.xhtml/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.html/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.shtml/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.jsp/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.do/url-pattern

/filter-mapping

filter-mapping

filter-nameencodingFilter/filter-name

url-pattern*.vm/url-pattern

/filter-mapping

filter

filter-nameCAS Single Sign Out Filter/filter-name

filter-class

org.jasig.cas.client.session.SingleSignOutFilter

/filter-class

/filter

filter-mapping

filter-nameCAS Single Sign Out Filter/filter-name

url-pattern/*/url-pattern

/filter-mapping

listener

listener-class

org.jasig.cas.client.session.SingleSignOutHttpSessionListener

/listener-class

/listener

filter

filter-nameCAS Authentication Filter/filter-name

filter-class

org.jasig.cas.client.authentication.AuthenticationFilter

/filter-class

init-param

param-namecasServerLoginUrl/param-name

param-value;/param-value

/init-param

/filter

filter

filter-nameCAS Validation Filter/filter-name

filter-class

org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter

/filter-class

init-param

param-namecasServerUrlPrefix/param-name

param-value;/param-value

/init-param

/filter

filter

filter-nameCAS HttpServletRequest Wrapper Filter/filter-name

filter-class

org.jasig.cas.client.util.HttpServletRequestWrapperFilter

/filter-class

/filter

filter

filter-nameCAS Assertion Thread Local Filter/filter-name

filter-class

org.jasig.cas.client.util.AssertionThreadLocalFilter

/filter-class

/filter

filter-mapping

filter-nameCAS Authentication Filter/filter-name

url-pattern/*/url-pattern

/filter-mapping

filter-mapping

filter-nameCAS Validation Filter/filter-name

url-pattern/*/url-pattern

/filter-mapping

filter-mapping

filter-nameCAS HttpServletRequest Wrapper Filter/filter-name

url-pattern/*/url-pattern

/filter-mapping

filter-mapping

filter-nameCAS Assertion Thread Local Filter/filter-name

url-pattern/*/url-pattern

/filter-mapping

3.导入证书,如果不用https的话,这步可以跳过,把tomcatsso.crt证书拷贝到c盘下面,在jdk的bin目录下面运行下面的语句。

JavaScript代码

rem (注释: 清除系统中可能存在的名字为tomcatsso 的同名证书)

keytool -delete -alias tomcatsso -keystore "%JAVA_HOME%/jre/lib/security/cacerts" -storepass changeit

keytool -delete -alias tomcatsso -storepass changeit

rem 在客户端的 JVM 里导入信任的 SERVER 的证书 ( 根据情况有可能需要管理员权限 )

keytool -import -alias tomcatsso -file "c:/tomcatsso.crt" -keystore "%java_home%/jre/lib/security/cacerts" -storepass changeit

客户端获取登录用户名和用户信息实例

Java代码

HttpServletRequest request = ServletActionContext.getRequest();

AttributePrincipal principal = (AttributePrincipal)request.getUserPrincipal();

String username = principal.getName();

Long orgnId = Long.parseLong(principal.getAttributes().get("orgnId").toString());

如何在Glassfish上部署web应用

一,开发工具的选择

Java

EE,或者是JSF应用开发,Netbeans和Glassfish是最好的搭配选择,前者对于后者有非常好的支持。但要注意netbeans的版

本,5.5是不支持glassfish v2的。而netbeans6还很不稳定,所以现阶段最好的版本是netbeans5.5.1。

关于Netbeans下开发Java EE应用,官方有文档介绍:Java EE 应用程序相关教程,这里主要介绍一下生产环境中web应用在glassfish下的部署和配置

二,下载安装Glassfish V2

1)下载Glassfish v2并解压缩。下载完毕後,执行以下命令:

java -Xmx256m -jar glassfish_filename.jar

点击接受弹出的协议后(这里sun比较无聊啊,所有软件都是,明明一个普通压缩包,非压成jar让你看一下协议才行),glassfish会解压到一个名为glassfish的目录里。

2) 修改端口

glassfish是通过ant来安装的,安装脚本在setup.xml下,在里面可以修改一些配置,比如端口等等。在setup.xml中主要有以下设置:

xml 代码

﹤property name="domain.name" value="domain1"/﹥域名

﹤property name="instance.name" value="server"/﹥

﹤property name="admin.user" value="admin"/﹥ 管理员用户名 

﹤property name="admin.password" value="adminadmin"/﹥ 管理员密码 

﹤property name="admin.port" value="4848"/﹥ 管理平台端口 

﹤property name="instance.port" value="8080"/﹥ 实例端口,也就是通过这个端口来访问web应用 

﹤property name="orb.port" value="3700"/﹥

﹤property name="imq.port" value="7676"/﹥

﹤property name="https.port" value="8181"/﹥ https端口

根据需要修改以上设置,执行:ant -f setup.xml,如果系统没有安装ant,在glassfish\lib\ant下有一个ant1.6版。安装结束后,进入glassfish/bin下,在控制台执行下面命令启动glassfish:

asadmin start-domain domain1 // domain1是上面设置的domain.name,系统默认domain1

启动结束后,进入测试是否已经正确启动

asadmin stop-domain domain1  //停止服务器

三,部署web应用

有三种方式,可以直接将war或ear放在glassfish/domain/autodeploy目录下,glassfish启动后会自动部署。

第二是通过命令asadmin deploy部署应用, 另外 asadmin updeploy 卸载应用。通过asadmin deploy

--help 和 asadmin undeploy --help 获得更多帮助。

第三是通过我推荐的方式,通过glassfish管理控制台进入,默认用户admin,密码adminadmin。打开後看到如下界面:

进入左侧菜单, Applications - Web

Applications,在列表中可以看到已经部署的应用,如要部署新应用,点击deploy按钮,选择本地的war,设定好context

path,点击OK,无论部署成功或失败,都会看到相应的信息提示

注:通过这种方式,可以进行远程部署,只要打开目标服务器上的管理控制台,选择一个本地的war,就可以快速的部署到远程服务器上,非常方便,这也是推荐的原因。对于EJB应用,在Enterprise Applications下部署,方法同上

四,配置jdbc数据源

对于Java EE应用,经常需要事先设定数据源,否则部署时会报javax.naming.NameNotFoundException

配置方法是进入Resources - JDBC,会看到JDBC Resources和Connection pools

先设定Connection

pools,以MySql为例,点击New,命名为MySqlPools,ResourceType选择

javax.sql.ConnectionPoolDataSource,Database

vendor肯定选择mysql,然后点击next进入下一页面。最主要的是设定Additional

Properties,也就是jdbc连接配置,设定好url, user,

password,其他的保持默认值,也可以根据需要自己添加属性。设定好连接池后,接着设定JDBC

Resources,新建一个JDBC,名称要和你的web应用里的持久化单元采用的数据源的名称一致。

然后再次部署web应用,就会正常运行了。

如何将GlassFish作为Windows服务运行

如果您要为 Glassfish 创建 Windows服务,则该说明中给出了可从命令提示符运行的一个相当大的命令。如果Glassfish 安装路径包含空格,例如 C:\ProgramFiles\Sun\GlassfishV2 uff0c那么查找正确方法对转义字符进行转义就变得复杂而不是快速了。 GlassfishSvc.jar Ryan de Laplante 提供了一个简单的命令行工具,通过它可以轻而易举地创建 Windows服务。下载GlassfishSvc.jar(源代码),并将其复制到 Glassfish 安装路径(例如C:\ProgramFiles\Sun\GlassfishV2 uff09,然后从命令行运行以下命令: C:\Program Files\Sun\GlassfishV2java -jar GlassfishSvc.jar-iglassfishsvc v1.0 (Aug 19 2007) Service name :GlassfishAppServerGlassfish installation path :C:\ProgramFiles\Sun\GlassfishV2Glassfish domain : domain1 Glassfishadminusername : admin Installing service... Done.-i 参数将使用默认选项安装服务。命令行参数的完整列表如下: glassfishsvc v1.0 (Aug 19 2007)DETION:Installs and uninstallsaWindows service for GlassfishUSAGE:java -jar GlassfishSvc.jar[-i-u] [OPTIONS]-i Installs a Windows service forGlassfish.-uUninstalls a Windows service for Glassfish.-n name Namefor theWindows service. Use double quotes around namesthat containspaces.Defaults to GlassfishAppServer.-d path Directory whereGlassfish isinstalled. Use doublequotes around paths with spaces,and escapeback slashes.Defaults to current directory.-m domain Nameof theGlassfish domain to start and stop. Defaults todomain1.-auserGlassfish admin user name. Defaults to admin.-p pwd Glassfishadminpassword. A password.txt file will be createdin theGlassfishinstall directory containing the password inplain text,and theWindows service will be configured to readfrom it. This isusuallynot necessary. If no password is passedin, the password.txtfilewill not be created.EXAMPLES:java -jar GlassfishSvc.jar -ijava-jarGlassfishSvc.jar -i -p adminadminjava -jar GlassfishSvc.jar -i-nMyServiceName -d "C:\\Program Files\\Sun\\Glassfish" -m myDomain-aadmin5 -p secretpwdjava -jar GlassfishSvc.jar -ujava-jarGlassfishSvc.jar -u -n MyServiceNameAUTHOR:Ryan de Laplante﹤ryanat ijws dot com 群集配置文件 如果您安装了 Glassfish 群集配置文件,则Glassfish会在服务启动时询问管理员密码。要避免询问此问题,请在安装服务时使用 -p 选项。在 Glassfish根目录中将创建password.txt文件,其中包含纯文本形式的密码。Windows服务将配置为使用此文件,以便它可以在无人参与的情况下启动。您应该确保在此文件创建后对其配置相应的NTFS安全性,以便未授权用户对它没有读取或写入访问权限。

J2EE当前持久层设计常见问题

J2EE当前持久层设计常见问题

当前J2EE项目中,面临的一个共同问题就是如果控制事务的并发访问,虽然有些持久层框架已经为我们做了很多工作,但是理解原理,对于我们开发来说还是很有用处的。下面我为大家整理了J2EE当前持久层设计的常见问题,一起来看看吧:

事务并发访问控制策略

当前J2EE项目中,面临的一个共同问题就是如果控制事务的并发访问,虽然有些持久层框架已经为我们做了很多工作,但是理解原理,对于我们开发来说还是很有用处的。

事务并发访问主要可以分为两类,分别是同一个系统事务和跨事务访问的并发访问控制,其中同一个系统事务可以采取乐观锁以及悲观锁策略,而跨多个系统事务时则需要乐观离线锁和悲观离线锁。在讨论这四种并发访问控制策略之前,先需要明确一下数据库事务隔离级别的问题,ANSI标准规定了四个数据库事务隔离级别,它们分别是:

读取未提交(Read Uncommitted)

这是最低的事务隔离级别,读事务不会阻塞读事务和写事务,写事务也不会阻塞读事务,但是会阻塞写事务。这样造成的一个结果就是当一个写事务没有提交的时候,读事务照样可以读取,那么造成了脏读的现象。

读取已提交(Read Committed)

采用此种隔离界别的.时候,写事务就会阻塞读事务和写事务,但是读事务不会阻塞读事务和写事务,这样因为写事务会阻塞读取事务,那么从而读取事务就不能读到脏数据,但是因为读事务不会阻塞其它的事务,这样还是会造成不可重复读的问题。

可重复读(Repeatable Read)

采用此种隔离级别,读事务会阻塞写事务,但是读事务不会阻塞读事务,但是写事务会阻塞写事务和读事务。因为读事务阻塞了写事务,这样以来就不会造成不可重复读的问题,但是这样还是不能避免幻影读问题。

序列化(serializable)

此种隔离级别是最严格的隔离级别,如果设置成这个级别,那么就不会出现以上所有的问题(脏读,不可重复读,幻影读)。但是这样以来会极大的影响到我们系统的性能,因此我们应该避免设置成为这种隔离级别,相反的,我们应该采用较低的隔离界别,然后再采用并发控制策略来进行事务的并发访问控制)。

延伸阅读:Java EE容器组成:

Web容器:包括Jsp与Servlet组件,可使用EJB中的组件完成复杂的商务逻辑;

EJB容器:包含组件EJB, EJB规范定义了一个开发和部署分布式商业逻辑的框架;

Applet容器 包含组件Applet,即可使用J2SE开发Applet;

Application Client容器:包含组件Application Client。

现在流行的Java EE容器有很多:Tomcat、JBoss、Resin、Glassfish等等。下面对这四种Java EE容器进行了一番简单的比对。

1. Tomcat

Tomcat是Apache鼎力支持的Java Web应用服务器,由于它优秀的稳定性以及丰富的文档资料,广泛的使用人群,从而在开源领域受到最广泛的青睐。

2. Jboss

Jboss作为Java EE应用服务器,它不但是Servlet容器,而且是EJB容器,从而受到企业级开发人员的欢迎,从而弥补了Tomcat只是一个Servlet容器的缺憾。

3. Resin

Resin也仅仅是一个Servlet容器,然而由于它优秀的运行速度,使得它在轻量级Java Web领域备受喜爱,特别是在互联网Web服务领域,众多知名公司都采用其作为他们的Java Web应用服务器,譬如163、ku6等。

在商用应用服务器里主要有:Weblogic、Websphere,其中Weblogic我也使用过很长一段时间,当时也只用其当Servlet容器,然而就在同等条件下,在性能及易用性等方面,要比Tomcat优秀很多。

4.glassfish

glassfish是Sun公司推出的Java EE服务器(Java EE容器),一个比较活跃的开源社区,不断的通过社区的反馈来提高其的可用性,经过glassfish v1 glassfish v2 到今天的glassfish v3 ,它已经走向成熟。Glassfish是一个免费、开放源代码的应用服务,它实现了Java EE 5,Java EE 5 平台包括了以下最新技术:EJB 3.0、JSF 1.2、Servlet 2.5、

JSP 2.1、JAX-WS 2.0、JAXB 2.0、 Java Persistence 1.0、Common Annonations 1.0、StAX 1.0等。

支持集群,通过内存中会话状态复制,增强了部署体系结构的可用性与可伸缩性,它对集群有着很好的支持,可以简单到通过添加机器,就可轻松的提高网站的带负载能力,在解析能力方面,它对html的吞吐能力与apache服务器不分上下,就是tomcat所不能比的,支持目录部署,热部署,解决了tomcat对热部署能力的缺陷。

在版本方面做的更加人性化,有开发时用的简化版,专门用于部署web项目的版本,还要完全符合j2ee标准的版本。

;

关于glassfish源代码下载和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/25061.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载