您的位置:首页 > 其它

J2EE7环境安装配置

2015-05-09 11:35 387 查看
下载

1. 下载目录:

http://www.oracle.com/technetwork/java/javaee/downloads/index.html

2. 选择Java EE7 SDK按钮,即可进入下载页面。

3. 选择AcceptLicense Agreement(接受许可协议)

4. 选择可以在Windows下运行的版本 java_ee_sdk-7-windows.exe 95M

安装

下一步 --> 典型安装 --> 程序会自动选择GlassFish Server的安装目录和JDK的安装目录 --> 下一步… overall Status: Complete 表示安装完成

配置

1. 将C:\glassfish4\glassfish\bin添加到用户变量中的PATH。

PATH=C:\glassfish4\glassfish\bin





2. 将C:\glassfish4\glassfish\lib\javaee.jar添加到CLASSPATH。

CLASSPATH=C:\glassfish4\glassfish\lib\javaee.jar





3. 将C:\glassfish4添加到新建用户变量中.

J2EE_HOME=C:\glassfish4





至此Java EE环境安装,配置就算完成。

JavaEE 7技术一览

JavaEE 体系结构非常膨大,从javaEE 5到现在的javaEE 7,新特性层出不穷。如果把一些偏门技术算进去,如一些基于JVM平台的Grails、Scala,主流SSH框架,谷歌的GWT,BPM工作流的 JBPM、Activiti,Vaadin,OSGI,Apache组织一大堆协议组件和库,各种开源模版技术,各种搜索引擎,各种规则引擎等等,没有你想不到的,只有你不知道的。尽管如此,JavaEE足以解决企业开发的所有问题。

JavaEE 7提供了一个完整、全面、集成的堆栈来帮助你构建企业和Web应用程序。

JavaEE容器

主要就是JSF(JavaServer Faces)和EJB(Enterprise Java Bean)两大部分,JSF依赖于EJB,并且是重量级的,JSF使用了一大堆组件控制页面,跟Struts2的标签差不多;EJB目前做得不错,相比 Spring,EJB完全不需要作任何配置,内部包含JPA规范,可以和Hibernate无缝接入,但是学习曲线依然很大,并且对服务器有要求,用 tomcat做服务器还需要和JBoss搭配,新手学习可以使用Glassfish。





WEB容器

这部分内容比较多,JavaEE 7新添加的为下图棕黄色的部分,即WebSocket、Concurrency Utilities、Batch、JSON-P,新添加部分主要是为HTML5提供更好的伸缩性,这些Spring都有,不知是否是借鉴Spring的部分功能。技术虽然很多,其实都有JSR白皮书规约的,有些已经有最终定稿,有些还处于草案和不断修改阶段(其实也没有最终定稿,而是处于维护阶段)。





下面说说一些常见的概念术语:

JWS:即Java Web Service,指与webservice相关的JavaEE技术部分,webservice是一种基于XML的独立的、跨平台的、互操作的应用程序,XML又包含XSD、DTD、XPath等相关技术,这个撇开不说。webservice平台元素主要有SOAP(简易对象访问协议)、UDDI(通用描述、发现及整理)、WSDL(WS描述语言)。

JAX:即Java Xml,类似地JAXB(Java Xml Binding)

目前JWS主要有:

JAX-WS 全称JavaTM API forXML-Based Web Services 又叫JAX-RPC(远程调用),顾名思义就是基于Web Services

JAX-RS 全称JavaTM API forRESTful Web Services 即使用REST风格

JAXB

JAXR

SAAJ

STAX

网上说关于JAX-WS与JAX-RS有这么说的:两者是不同风格的SOA架构。前者以动词为中心,指定的是每次执行函数。而后者以名词为中心,每次执行的时候指的是资源。

感觉这个说法比较靠谱,JAX-WS是面向消息的,每次请求的时候指定了请求的方法。JAX-RS是面向资源的。后则将网络上的东西当做一种资源,每次请求都是对该资源进行操作,比如对资源的增删查改。

关于REST风格,在JAX-RS之前就已经出现,最早的出现的是Restlet、RestEasy框架,后来是Jersey,并且现在Oracle的 Glassfish使用的就是Jersey,相对来说Restlet功能齐全、组件膨大,页面和模版技术丰富,由于出现比较早,导致Restlet发展了自己的一套MVC技术,Jersey也是一套JAX-RS产品,内部提供了好几套容器和服务器,大致有grizzly2、JDK-http、 simple-http、Jetty这几种。Jersey的MVC和Spring MVC有点类似(如其说是类似,简直就是一模一样),只是只有Jsp和Freemarker两种视图技术。

CDI:即Contexts Dependency Injection,和Spring的IOC差不多的东西,就是可以在组件中通过注解注入上下文、请求和响应等。

JTA:即Java Transaction API,使用过Hibernate和EJB的应该知道,就是事务处理,JTA依赖于所处的容器,如果不是分布式开发的话,我们一般使用本地事务,即是数据库本身的事务处理。

JPA:即Java Persistence API,就是最常用的持久化技术,原本属于EJB中的部分,EJB3.0之后分离出来,作为一个独立的规范。作为一种ORM技术,JPA提供了基本的统一标准,现在JPA的草案处于维护阶段,对应的Hibernate框架的某些版本也处于Final版本。

JMS:即Java Message Service,和JDBC类似,提供了一个统一的API供其他厂商实现,主要用于客户机信息的交互,JMS主要有点到点和订阅/发布两种方式。

另外,像Java Mail、JSTL、JSP等这些再熟悉不过的就不说了。

下面列出一些常用的技术缩写:

EJB: Enterprise JavaBeans 企业JavaBean组件

IDL: Interface Definition Language 接口定义语言

J2EE CA:J2EE Connector Architecture J2EE 连接器架构

JAAS : The Java Authentication and Authorization Service java认证授权服务

JACC: Java Authorization Contract with the Container??Java容器授权合约

JATMI:Java Application-to-Transaction Monitor Interface?Java 应用-事务监控接口

JBI : Java Business Integration Java业务集成

JCA : J2EE Connector Architecture Java连接器架构

JCP : Java Community Process Java组织

JDBC : Java Database Connectivity

JDO :Java Data Objects

JDK:?Java Development Kit

JEMS : JBoss Enterprise Middleware Suite Jboss企业中间件

JMS : Java Messaging Service Java消息服务

JMX :Java Management extensions Java管理扩展

JNDI : Java Naming and Directory Interface Java命名与目录借口服务

JPDA: Java Platform Debugger Architecture??Java平台调试器架构

JRMP:Java Remote Message Protocol

JSP: Java Server Page

JSTL: Java Standard Tag Library Java 标准标签库

JTS: Java Transaction Service Java事务服务

JTA : Java Transaction API Java事务API

JVM : Java Virtual Machine Java虚拟机

MVC: Model-View-Control

NIC: Network Interface Card

O/R: Object-Relational

OTS: Object Transactional Services

PKI: Public Key Infrastructure

POJO: Plain Old Java Object

RMI: Remote Method Invocation 远程方法调用

RMI/IIOP:RMI protocol over IIOP

EJB分为三种:

Session Bean(会话BEAN)

Entity Bean(实体BEAN)

Message Driver Bean(消息驱动BEAN)

Session Bean分为两种:

Stateless Session Bean(无状态会话Bean)

Statefull Session Bean(有状态会话Bean)

Entity Bean分为两种:

CMP: Container Manager Persistence(容器管理持久性)

BMP: Bean Manager Persistence(Bean管理持久性)

其他缩写名词:

BPEL : Business Process Execution Language 业务流程执行语言

BPM : Business Process Management 业务流程管理

DAO : Database Access Object 数据库访问对象

DOM : Document Object Model 文档对象模型

DTD : Document Type Definition 文档类型定义

DTO : Data Transport Object 数据传输对象

ESB : EnterpriseService Bus 企业服务总线

POJO : Proterozoic Java Object Java原生对象

SAAJ: SOAP with Attachments API for JavaTM Java 的带附件的SOAP API

SAX : Simple API for XML Parsing XML解析处理简单API

SAML: Security Assertions markup Language

SGML : Standard Generalized Markup Language SAML(Security Assertion Markup Language ):安全断言标记语言

SLA: Service Level Agreement服务级别协议

SNMP: Simple Network Management Protocol:简单网络管理协议

SOA : Service Oriented Architecture

SOAP: Simple Object Access Protocol

SPENGO:Simple and Protected GSS-API Negotiation Mechanism 简单和受保护的GSS-API协商机制

SPI: * *Service Provider Interface ):服务提供模块接口

SSL: Secure Socket Layer):安全套接字层

SSO: Single Sign-on):单点登录

SSPI: Security Service Provider Interface):安全服务提供模块接口

StAX: Streaming API for XML):XML 的流化API

UDDI: Universal Description,Discovery,and Integration

VO : Value Object 值对象

WFMS: workflow management system

WSDL: Web Service Description Language

WSEE: *Web Services Enterprise Edition

WSRP: *OASIS Web Service for Remote Portlets

XA: * *Extended Architecture 扩展架构

XACML: XML Access Control Markup Language ):XML 访问控制标记语言

XSLT: XML Stylesheet Language for Transformations

说明

严格来说,Java EE还有EJB容器和客户端容器。其中,EJB容器没有Servlet,客户端容器(Application Client Container)没有Servlet和持久化。

Glassfish上部署web应用

一、说在前面

在现有的Java web开发中,关于应用服务器,大家最熟知的开源的有:Tomcat、Jboss、Resin,目前看来这三个开源应用服务器用的相当广泛,主要原因以我来看有下面几点:

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

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

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

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

今天我重点要给大家介绍一款由大名鼎鼎的Sun公司推出的Glassfilsh的Java EE服务器,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等,关于Glassfish的其他一些优点,大家可以访问起官方网站

Java EE GlassFish4 安装使用

【命令行方式】:

步骤一: 安装JDK7及配置,略

步骤二:下载Glassfish4,地址:https://glassfish.java.net/download.html#

步骤三: 解压glassfish-4.0.zip到指定安装目录

步骤四: 开始命令行启动, cd到glassfish4/bin/目录,然后asadmin start-domain

步骤五:登录console进行查看及配置,地址:http://localhost:4848

【Eclipse方式】:

步骤一: 安装JDK7及配置,略

步骤二:下载Glassfish4,地址:https://glassfish.java.net/download.html#

步骤三: 解压glassfish-4.0.zip到指定安装目录

步骤四: 搞个高大上的eclipse,例如:

Eclipse Java EE IDE for Web Developers.

Version: Kepler Service Release 2

Build id: 20140224-0627

步骤五: 安装glassfish插件,window->show view-> servers,然后右键,new->server->download additional server adapters(右上角)个,接着选择安装即可。

步骤六: 配置glassfish,如下

注意:

1,Domain directory指定glassfish目录

2,用户名admin,密码为空

步骤七: 点击start按钮

步骤八:登录console进行查看及配置,地址:http://localhost:4848

PS:eclipse一个JDK7的配置

1.Glassfish4.0下载地址:https://glassfish.java.net/download.html#gfoseTab

2.将下载的glassfish-4.0.zip传输到服务器/home/[usrname]/opt目录下,使用命令传输:

scp glassfish-4.0.zip cmmcc@ [usrname][1-5]: /home/[usrname]/opt

3.创建文件夹:/home/[usrname]/opt/glassfish4,使用命令:

sudo mkdir glassfish4 /home/[usrname]/opt/

4.将.zip文件解压到/home/[usrname]/opt/glassfish4文件夹下,使用命令:

unzip glassfish-4.0.zip /home/[usrname]/opt/glassfish4

5.添加glassfish用户:

sudo useradd --system glassfish -d /home/[usrname]/opt/glassfish4

6.设置目录权限:

sudo chgrp -R [usrname] /home/[usrname]/opt/glassfish4/

sudo chown -R glassfish /home/[usrname]/opt/glassfish4/

7.设置脚本执行权限:

sudo chmod -R +x /home/[usrname]/opt/glassfish4/bin

sudo chmod -R +x /home/[usrname]/opt/glassfish4/glassfish/bin

8.在glassfish用户下启动服务

sudo su glassfish

cd /home/[usrname]/opt/glassfish4/bin

./asadmin start-domain domain1

9.修改默认用户admin的密码

在bin目录下找到asadmin文件,启动后依次执行:

./asadmin

asadmin>change-admin-password

提示输入用户名: 直接按Enter(不要输入,否则会报错)

提示密码: 直接按Enter

输入新密码:[usrname]glassfish

确认密码:[usrname]glassfish

回车后即提示修改成功

10.开启远程访问权限并退出glassfish用户

asadmin >enable-secure-admin

asadmin >exit

11.关闭服务并重启服务

./asadmin stop-domain

./asadmin start-domain domain1

12.添加命令自启动

sudo vi /etc/rc.local

/home/[usrname]/opt/glassfish4/bin/asadmin start-domain domain1

13.重新启动系统,检查安装结果:
http://[机器IP]:4848/
GlassFish 是一款强悍的J2EE 应用服务器,支持完整的 J2EE 标准,而且开源免费,如果服务器配置不是特别低,若4G以上内存我推荐使用GlassFish,系统配置低,且仅使用JSP/JavaBean/Servlet的得话,还是用Tomcat要好些(占内存恐怕只有 GlassFish 的 1/10)。

GlassFish 有 Open Source GlassFish 和 Oracle GlassFish 两个版本,Open Source GlassFish 全开源,可任意使用, Oracle GlassFish 则需要遵守OTN 许可协议,可获得全功能无限期测试,拥有许可证才能用于生产,两款相似度超过99%,Oracle GlassFish 有一些性能调优的设置,但这些设置在 Open Source GlassFish 中可参考手册直接修改配置文件,也可以达相同的目的。

Open Source GlassFish 可由 http://glassfish.java.net/ 进行下载,下载的是安装版的话,基本上以下内容您可以略过,但如果您下载的是ZIP版在UNIX或者Windows下,操作基本一样,不过在安装之前先配置Java环境,本文不讨论。

Windows 下,解压 ZIP 包到X:\glassfish3下,Unix/FreeBSD解压至 /usr/local/glassfish3 目录下,Windows进入GlassFish的bin目录运行asadmin,FreeBSD下运行./asadmin,进入GlassFish控制台,Windows 和 FreeBSD 的 asadmin 的进入只是形式的不同,本质没区别。

Windows 下,domain 作为“服务”以后,可以使用 Windows Services Manager 控制该服务, 也可以使用 Windows Services Wrapper:

相应得命令如下:

启动命令: domain1\bin\domain1Service.exe start

停止命令: domain1\bin\domain1Service.exe stop

重新启动命令: domain1\bin\domain1Service.exe restart

卸载命令: domain1\bin\domain1Service.exe uninstall

安装命令: domain1\bin\domain1Service.exe install

状态命令: domain1\bin\domain1Service.exe status


GlassFish4.0默认JSP编译版本问题

?感觉很奇怪,我用的JDK是1.8版本,GlassFish4.0也是支持JavaEE7的,理所应当起码支持JDK1.7的吧。怎么会出来1.5版本不支持的错误。仔细检查Maven依赖配置,也没发现问题。仔细看了一下Log,问题出在JSP编译的时候,莫非GlassFIsh用老的JDK版本编译的JSP?!网上搜了一下,GlassFish4.0果然用了JDK1.5编译了JSP。修改方法如下:

打开domain-dir/config目录下的default_web.xml文件,找到:

?servlet-name>jsp标签,添加以下配置:
?init-param>

?param-name>compilerSourceVM

?param-value>1.8

?/init-param>

?init-param>

?param-name>compilerTargetVM

?param-value>1.8

?/init-param>


重启GlassFish服务器,问题没有了。

然后又在Tomcat8.0上试了一下,也有相同的问题,只不过Tomcat8.0比GlassFish前进了点,默认用的是JDK1.6版本。修改方法和上面一样,只是web.xml所在目录不同。Tomcat的目录在conf下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: