Glassfish安装、基本使用、在idea中配置Glassfish

Glassfish安装、基本使用、

一、glassfish简介

glassfish是一款web应用服务器,和tomcat一样,也是一款优秀的Servlet容器。

二、glassfish知识点

1、domain

domain是glassfish中,拥有独立端口的存放web应用的容器。

glassfish可以创建多个domain,每个domain存放于glassfish/domains目录中。

每个domain是可以部署多个web应用(通过不同的访问路径进行区分)

三、glassfish安装

1、下载

下载地址:http://download.oracle.com/glassfish/5.0/release/glassfish-5.0-web.zip

2、解压

解压到自己的安装目录

简单地说,glassfish安装就算完成。

四、domain创建

1、进行安装的glassfish根目录

2、创建domain

命令:bin/asadmin create-domain domain2

中间会要求输出用户名和密码。

结尾会输出类似,创建成功:

Domain domain2 created.
Domain domain2 admin port is 4848.
Domain domain2 admin user is “haha”.

注意:上面输出中的4848即是该domain的管理端口号

3、启动domain

命令:bin/asadmin start-domain domain2

4、查看domain

打开浏览器,输入http://127.0.0.1:4848,再输入用户名和密码,即可看见新建domain的管理页面。

5、注意

a)如果需要修改管理端口号或者web访问端口号,可以修改相应domain的conf目录(glassfish/domains/domain3/config)

下的domain.xml配置文件,修改点在这:

b)远程登录glassfish的domain管理页面时,会报错:Secure Admin must be enabled to access the DAS remotely

这时需要开启所有主机可访问许可:bin/asadmin enable-secure-admin

当然也可以指定特定主机或端口,如bin/asadmin --host 192.168.0.101 --port 4848 enable-secure-admin

五、web部署

web部署有两种方式,一是通过浏览器管理页面部署,二是通过命令行部署,三是直接将war放到指定domain下的autodeploy目录下自动部署。首先准备好要部署的war包。

1、通过浏览器管理页面部署

a)打开浏览器,输入http://127.0.0.1:4848,再输入之前设定的用户名和密码,进入到glassfish管理页面。

b)点击左侧的Applications,再在右侧点击选择文件,将本地的war包上传。

c)war包上传后,页面右侧下方出现该web的配置信息,这里可设置Context Root(即是该web的路径)值为/,其它信息可自行设置。设置完后,点OK进行保存。

至此,war便部署成功,点左侧的Applications,在右侧有redeploy(重新部署)等web控制选项,可根据需要进行操作。

2、命令行部署

部署命令:bin/asadmin deploy war包名.war

部署时也可指定访问路径和web名称,如: bin/asadmin deploy --contextroot / --name test-1 test.war

取消部署命令:bin/asadmin undeploy war包名

3、war包自动部署

直接将war放到指定domain下的autodeploy目录,重启domain即可。特别注意,此时context的路径即为war包的名称,

即是查看web要输入http://127.0.0.1:8080/war包名,这样才行。

至此,web部署完成,我们可以在浏览器输入http://127.0.0.1:8080,看到web部署的效果了。

六、常用命令

1、创建domain

bin/asadmin create-domain domain名称

2、查看domain列表

bin/asadmin list-domains

3、启动domain

bin/asadmin start-domain domain名称

4、停止domain

bin/asadmin stop-domain domain名称

5、删除domain

bin/asadmin delete-domain domain名称

6、重启domain

bin/asadmin restart-domain domain名称

7、部署war包

bin/asadmin deploy war包名.war

中间可加添加参数,如

a)指定访问路径: --contextroot 路径名

b)指定war新名称: --name 新war名称

c)强制重新部署(默认是不强制的,即值为false) : --force true

例如: bin/asadmin deploy --contextroot / --name test-1 --force true test.war

8、取消war包部署

bin/asadmin undeploy war包名

原文:https://blog.csdn.net/chinabestchina/article/details/78760395

在idea中配置Glassfish

准备工作

确定你正在使用的IDE是Intellij Ultimate版本。
安装jdk,版本为1.8或更高。
下载GlassFish Appcation Server,版本为3.0.1或者更高。
确定浏览器在你的电脑上是可用的。

在Intellij中配置GlassFish server

1 打开Settings/Preferences对话框(Windows或Linux 平台通过快捷ctrl+alt+s或者选择File|Settings,OS X选择Intellij IDEA|Preferences),并且点击Build,Execution,Deployment下的Applicaton Servers。
2 打开Application Servers页面,点击中间栏上部的“+”图标从列表中选择GlassFish Server。
在这里插入图片描述
3 在右边栏,GlassFish Home一栏指定GlassFish Server安装文件夹。手动输入路劲或者在点击“…”弹出的对话框中选择安装文件夹。Intellij IDEA检测application server的版本并且自动填充到Name一栏。其他的区域都是自动填充或者可选的,此时点击OK。
在这里插入图片描述

配置JDK

按ctrl+shift+alt+s或者选择主菜单中的File|Project Structure。
在Project Structure对话框中,选择Platform Settins下的SDKs。
在打开的SDKs上点击中间栏上部的“+”并且选择JDK。
在这里插入图片描述
在右边栏指定JDK安装文件夹。手动输入路劲或者点击“…”弹出对话框选择安装文件夹。Intellij IDEA检测JDK的版本并且自动填充到Name一栏。
在这里插入图片描述
所有必填项会被自动填充上,此时点击OK。

创建项目

1 在欢迎界面点击Create New Project,或者在主菜单中选择File|New|Project。打开New Project向导。
2 首先,Project Category and Options页面向导:第二,向导中的Project Name and Location页面,指定你新项目的名字。点击Finish并且等到直到Intellij创建好项目。
详细:
在左边栏选择Java Enterprise。
从Project SDK列表选择使用的JDK。
从Application Server下拉列表中选择GlassFish4.1.1。
从JavaEE Version下拉列表中选择JavaEE7。
在Additional Libraries and Frameworks区域选中Web Application和RESTful Web Service复选框。
在Additional Libraries and Frameworks列表下发选择Download选项。这个区域只有在你选择了Web之后才会显示。
点击Next。
在这里插入图片描述
第二,向导中的Project Name and Location页面,指定你新项目的名字。点击Finish并且等到直到Intellij创建好项目。
在这里插入图片描述

探索项目结构

当项目已经创建好,在Project视图下你可以看到类似这样的结构:

在这里插入图片描述

(略过目录结构介绍)

开发源码

我的Hello World程序将包含一个资源类HelloWorld.java和一个配置类MyApplication。这个程序的功能仅仅是输出一个文本Hello World。

在src文件夹创建HelloWorld.java类:

<span style="color:#000000"><code class="language-js"><span style="color:#0077aa">import</span> javax<span style="color:#999999">.</span>ws<span style="color:#999999">.</span>rs<span style="color:#999999">.</span><span style="color:#986801">GET</span><span style="color:#999999">;</span>

<span style="color:#0077aa">import</span> javax<span style="color:#999999">.</span>ws<span style="color:#999999">.</span>rs<span style="color:#999999">.</span>Path<span style="color:#999999">;</span>

<span style="color:#0077aa">import</span> javax<span style="color:#999999">.</span>ws<span style="color:#999999">.</span>rs<span style="color:#999999">.</span>Produces<span style="color:#999999">;</span>

 

<span style="color:#708090">// The Java class will be hosted at the URI path "/helloworld"</span>

@<span style="color:#dd4a68">Path</span><span style="color:#999999">(</span><span style="color:#50a14f">"/helloworld"</span><span style="color:#999999">)</span>

<span style="color:#0077aa">public</span> <span style="color:#0077aa">class</span> HelloWorld <span style="color:#999999">{</span>

    <span style="color:#708090">// The Java method will process HTTP GET requests</span>

    @<span style="color:#986801">GET</span>

    <span style="color:#708090">// The Java method will produce content identified by the MIME Media type "text/plain"</span>

    @<span style="color:#dd4a68">Produces</span><span style="color:#999999">(</span><span style="color:#50a14f">"text/plain"</span><span style="color:#999999">)</span>

    <span style="color:#0077aa">public</span> String <span style="color:#dd4a68">getClichedMessage</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>

        <span style="color:#708090">// Return some cliched textual content</span>

        <span style="color:#0077aa">return</span> <span style="color:#50a14f">"Hello World"</span><span style="color:#999999">;</span>

        <span style="color:#999999">}</span>

    <span style="color:#999999">}</span>
</code></span>
  •  

在src文件夹创建MyApplication.java类:

<span style="color:#000000"><code class="language-js"><span style="color:#0077aa">import</span> javax<span style="color:#999999">.</span>ws<span style="color:#999999">.</span>rs<span style="color:#999999">.</span>ApplicationPath<span style="color:#999999">;</span>

<span style="color:#0077aa">import</span> javax<span style="color:#999999">.</span>ws<span style="color:#999999">.</span>rs<span style="color:#999999">.</span>core<span style="color:#999999">.</span>Application<span style="color:#999999">;</span>

<span style="color:#0077aa">import</span> java<span style="color:#999999">.</span>util<span style="color:#999999">.</span>HashSet<span style="color:#999999">;</span>

<span style="color:#0077aa">import</span> java<span style="color:#999999">.</span>util<span style="color:#999999">.</span>Set<span style="color:#999999">;</span>



<span style="color:#708090">//Defines the base URI for all resource URIs.</span>

@<span style="color:#dd4a68">ApplicationPath</span><span style="color:#999999">(</span><span style="color:#50a14f">"/"</span><span style="color:#999999">)</span>

<span style="color:#708090">//The java class declares root resource and provider classes</span>

<span style="color:#0077aa">public</span> <span style="color:#0077aa">class</span> MyApplication <span style="color:#0077aa">extends</span> Application<span style="color:#999999">{</span>

   <span style="color:#708090">//The method returns a non-empty collection with classes, that must be included in the published JAX-RS application</span>

   @Override

   <span style="color:#0077aa">public</span> Set<span style="color:#a67f59"><</span>Class<span style="color:#a67f59"><</span><span style="color:#a67f59">?</span><span style="color:#a67f59">>></span> <span style="color:#dd4a68">getClasses</span><span style="color:#999999">(</span><span style="color:#999999">)</span> <span style="color:#999999">{</span>

       HashSet h <span style="color:#a67f59">=</span> <span style="color:#0077aa">new</span> HashSet<span style="color:#a67f59"><</span>Class<span style="color:#a67f59"><</span><span style="color:#a67f59">?</span><span style="color:#a67f59">>></span><span style="color:#999999">(</span><span style="color:#999999">)</span><span style="color:#999999">;</span>

       h<span style="color:#999999">.</span><span style="color:#dd4a68">add</span><span style="color:#999999">(</span> HelloWorld<span style="color:#999999">.</span><span style="color:#0077aa">class</span> <span style="color:#999999">)</span><span style="color:#999999">;</span>

       <span style="color:#0077aa">return</span> h<span style="color:#999999">;</span>

       <span style="color:#999999">}</span>

<span style="color:#999999">}</span>
</code></span>

检查生成的artifact配置

除了构建一个具体的RESTful项目结构以外,Intellij IDEA也为我们配置了artifact。

IntelliJ IDEA中的artifact可能意味着以下之一:

一个artifact配置即项目输出的规范。
根据这样的规格(配置)生成的实际输出。
让我们看一下这个配置

在主菜单按ctrl+shift+alt+s或者选择File|Project Structure打开Project Structure对话框。
在Proj Settings下选择Artifacts。可用的artifact配置显示在中间栏的“+”和“-”下面。当前只有一个配置rest_glassfish_hello_world:war exploded,它是一个解压缩的Web应用程序存档(WAR),一种准备部署到Web服务器上的目录结构。
Artifact设置显示在右边栏的对话框中:
在这里插入图片描述
ntelliJ IDEA已经填写了所有必填项,不需要我们进行更改,所以只需单击取消离开对话框。

探索并完成运行配置

在IntelliJ IDEA中,根据专用的run configuration启动任何应用程序。在项目创建期间,我们已经指定GlassFish Server作为运行应用程序的应用程序服务器。基于此选择和代码中的注释,IntelliJ IDEA创建了运行配置并填充了几乎所有必填项。

选择主菜单的Run|Edit Configuration或者点击Shif+Alt+F10并在弹出菜单中选择Edit Configuration。
在打开的Edit Configuration对话框中,展开GlassFish Server节点并且点击GlassFish4.1.1。 右边栏显示自动生成的运行配置的设置。
在这里插入图片描述
Application Server字段显示GlassFish4.1.1,它是在项目创建期间选择的GlassFish Server安装的。Name字段也显示GlassFish4.1.1,在指定应用服务器后IntelliJ IDEA已自动命名生成的配置。
在Open brower区域,After launch复选框已经被选中,所以具有应用程序输出的页面将自动打开。在下面的文本区,我们需要指定被打开页面的URL地址。在我们的例子中是http://localhost:8080/rest_glassfish_hello_world_war_exploded/helloworld。
为了rest_glassfish_hello_world:war exploded自动部署启动运行配置,该artifact必须被标记为部署。如果你已经成功完成项目创建步骤,该artifact会被标记为自动部署,否则Intellij IDEA显示警告No artifacts marked for deployment和一个Fix按钮。
在这里插入图片描述

当你点击Fix时,Intellij IDEA打开Deployment栏,其中rest_glassfish_hello_world:war exploded被添加到Deploy on the server starup列表中。
在这里插入图片描述
所有的其他字段会被自动填充上或是可选项,所以点击OK保存运行配置。
我犯的过错,在上面配置glassfish中没有配置domain,如下图,一定要配上
在这里插入图片描述

运行应用程序

点击工具栏上的,之后:

Intellij IDEA编译你的源码并且构建一个应用程序。
Run Tool Window打开。 IntelliJ IDEA启动服务器并在其上部署。
最后,你默认的web浏览器启动,然后你看到应用程序输出的Hello World。
在这里插入图片描述

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值