J2EE7环境安装配置


下载

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

 J2EE7环境安装配置

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

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

 J2EE7环境安装配置

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

J2EE_HOME=C:\glassfish4

 J2EE7环境安装配置

至此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。

 J2EE7环境安装配置

WEB容器

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

 

 J2EE7环境安装配置

 

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

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下。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值