Ⅰ java NetBeans高手请进!(GlassFish问题),急~~~
看提示好像是配置文件错误或缺失你可以重新安装一次GlassFish
Ⅱ 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 根目录在哪
你的GlassFish应该是在WINDOWS环境下安装的吧。根目录是指C、D、E这些盘符目录,举一个例子:下载下来的glassfish是一个jar包,例如glassfish-installer-v2ur1-b09d-windows-ml.jar,下载后放在某个目录下,例如D盘根目录下(就是双击打开我的电脑后再双击打开D盘,不进任何文件夹的那个地方),在设置好JAVA相关的环境变量后转到命令行状态,然后执行以下命令: java -Xmx256m -jar glassfish-installer-v2ur1-b09d-windows-ml.jar,此步骤进行jar文件解压缩操作,解压缩完毕后在当前目录下生成一个glassfish目录,例如D:\glassfish
Ⅳ 如何在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 代码
﹤propertyname="domain.name"value="domain1"/﹥域名
﹤propertyname="instance.name"value="server"/﹥
﹤propertyname="admin.user"value="admin"/﹥管理员用户名
﹤propertyname="admin.password"value="adminadmin"/﹥管理员密码
﹤propertyname="admin.port"value="4848"/﹥管理平台端口
﹤propertyname="instance.port"value="8080"/﹥实例端口,也就是通过这个端口来访问web应用
﹤propertyname="orb.port"value="3700"/﹥
﹤propertyname="imq.port"value="7676"/﹥
﹤propertyname="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
启动结束后,进入http://localhost:8080测试是否已经正确启动
asadmin stop-domain domain1 //停止服务器
三,部署web应用
有三种方式,可以直接将war或ear放在glassfish/domain/autodeploy目录下,glassfish启动后会自动部署。
第二是通过命令asadmin deploy部署应用, 另外 asadmin updeploy 卸载应用。通过asadmin deploy
--help 和 asadmin undeploy --help 获得更多帮助。
第三是通过我推荐的方式,通过glassfish管理控制台进入http://localhost:4848,默认用户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,Oracle,JAVA(J2EE)三者互相是什么关系
Glassfish是一个服务器容器。是用来发布你的web项目的。
Oracle是数据库
JAVA是一种开发语言,J2EE是JAVA企业级开发。
具体的关系 就是J2EE项目用要用数据库,J2EE的发布要用到Glassfish
Ⅵ 装了一个GlassFish v3的Java,用他的jdk配置eclipse的tomcat啊
java 虚拟机地址
Ⅶ 关于Glassfish 集群 设置问题
很多组织机构慢慢的在不同的服务器和地点部署SQL Server数据库——为各种应用和目的——开始考虑通过SQL Server集群的方式来合并。
将SQL Server实例和数据库合并到一个中心的地点可以减低成本,尤其是维护和软硬件许可证。此外,在合并之后,可以减低所需机器的数量,这些机器就可以用于备用。
当寻找一个备用,比如高可用性的环境,企业常常决定部署Microsoft的集群架构。我常常被问到小的集群(由较少的节点组成)SQL Server实例和作为中心解决方案的大的集群哪一种更好。在我们比较了这两个集群架构之后,我让你们自己做决定。
Ⅷ 使用netbeans6.9.1创建的java web应用程序,使用glassfish3服务器,出现中文乱码,英文正常。
你可以这样试试:
在你的脚本中加入
header('Content-Type: text/html; charset=UTF-8');
Ⅸ glassfish 经常弹出java.lang.IllegalStateException
现在用glassfish做应用服务器的太少了,建议改用tomcat吧。glassfish早就被淘汰弃用了。