如何将Web服务器指向我的Web应用程序?

问题描述:

我准备好将我的web应用程序上传到在线服务器。我选择了我看到的第一个在YouTube上开放的Jelastic Cloud。如何将Web服务器指向我的Web应用程序?

我的web应用程序看起来像这样(更新:增加了GlassFish的-web.xml中,见下文)

enter image description here

我通常rightclicking index.jsp和运行将打开指数运行它。 jsp网页在我的网页浏览器中。

在Netbeans中,我去导出 - >导出为zip。然后我去了,并确保该文件是一个.zip文件。

我在Jelastic中创建一个环境。它默认设置为Java。我将Tomcat的设置更改为GlassFish 4.1,因为我使用netbeans的glassfish并在那里看到了该选项。

我通过单击“部署”将我的websitetest1.zip部署到环境中。

当它结束时,我点击在浏览器中打开。

一个浏览器页面打开,说:

HTTP Status 404 - Not Found 

type Status report 

messageNot Found 

descriptionThe requested resource is not available. 

GlassFish Server Open Source Edition 4.1 

当我在Jelastic日志查找Glassfish的,它说:

[2015-04-19T23:28:15.233+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.tools.deployment.common] [tid: _ThreadID=45 _ThreadName=admin-listener(5)] [timeMillis: 1429486095233] [levelValue: 800] [[ 
    visiting unvisited references]] 

[2015-04-19T23:28:15.245+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.tools.deployment.common] [tid: _ThreadID=45 _ThreadName=admin-listener(5)] [timeMillis: 1429486095245] [levelValue: 800] [[ 
    visiting unvisited references]] 

[2015-04-19T23:28:15.250+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.tools.deployment.common] [tid: _ThreadID=45 _ThreadName=admin-listener(5)] [timeMillis: 1429486095250] [levelValue: 800] [[ 
    visiting unvisited references]] 

[2015-04-19T23:28:15.365+0000] [glassfish 4.1] [INFO] [AS-WEB-GLUE-00172] [javax.enterprise.web] [tid: _ThreadID=45 _ThreadName=admin-listener(5)] [timeMillis: 1429486095365] [levelValue: 800] [[ 
    Loading application [ROOT] at [/]]] 

[2015-04-19T23:28:15.478+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.core] [tid: _ThreadID=45 _ThreadName=admin-listener(5)] [timeMillis: 1429486095478] [levelValue: 800] [[ 
    ROOT was successfully deployed in 429 milliseconds.]] 

[2015-04-19T23:28:30.034+0000] [glassfish 4.1] [WARNING] [] [javax.enterprise.system.container.web.com.sun.web.security] [tid: _ThreadID=28 _ThreadName=http-listener-1(2)] [timeMillis: 1429486110034] [levelValue: 900] [[ 
    Context path from ServletContext: differs from path from bundle: /]] 

[2015-04-19T23:28:42.047+0000] [glassfish 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=29 _ThreadName=http-listener-1(3)] [timeMillis: 1429486122047] [levelValue: 1000] [[ 
    PWC6117: File "null" not found]] 

我一派,人们都在说设置上下文路径,所以我右点击我的项目,进入运行设置并将上下文路径从/ g5更改为g5。这创建了一个glassfish-web.xml文件。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd"> 
<glassfish-web-app error-url=""> 
    <context-root>g5</context-root> 
    <class-loader delegate="true"/> 
    <jsp-config> 
    <property name="keepgenerated" value="true"> 
     <description>Keep a copy of the generated servlet class' java code.</description> 
    </property> 
    </jsp-config> 
</glassfish-web-app> 

我rezipped我的项目webTEST3并将其上传到Jelastic和点击部署。当我在浏览器中打开它同404的事情发生

[2015-04-19T23:56:59.344+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.tools.deployment.common] [tid: _ThreadID=43 _ThreadName=admin-listener(3)] [timeMillis: 1429487819344] [levelValue: 800] [[ 
    visiting unvisited references]] 

[2015-04-19T23:56:59.571+0000] [glassfish 4.1] [INFO] [AS-WEB-GLUE-00172] [javax.enterprise.web] [tid: _ThreadID=43 _ThreadName=admin-listener(3)] [timeMillis: 1429487819571] [levelValue: 800] [[ 
    Loading application [ROOT] at [/]]] 

[2015-04-19T23:56:59.597+0000] [glassfish 4.1] [INFO] [] [javax.enterprise.system.core] [tid: _ThreadID=43 _ThreadName=admin-listener(3)] [timeMillis: 1429487819597] [levelValue: 800] [[ 
    ROOT was successfully deployed in 430 milliseconds.]] 

[2015-04-19T23:57:07.392+0000] [glassfish 4.1] [WARNING] [] [javax.enterprise.system.container.web.com.sun.web.security] [tid: _ThreadID=30 _ThreadName=http-listener-1(4)] [timeMillis: 1429487827392] [levelValue: 900] [[ 
    Context path from ServletContext: differs from path from bundle: /]] 

[2015-04-19T23:57:15.132+0000] [glassfish 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=28 _ThreadName=http-listener-1(2)] [timeMillis: 1429487835132] [levelValue: 1000] [[ 
    PWC6117: File "null" not found]] 

[2015-04-19T23:58:26.911+0000] [glassfish 4.1] [SEVERE] [] [org.apache.jasper.servlet.JspServlet] [tid: _ThreadID=28 _ThreadName=http-listener-1(2)] [timeMillis: 1429487906911] [levelValue: 1000] [[ 
    PWC6117: File "null" not found]] 

我的应用程序的index.jsp位于webTEST3.zip \ G5的\ src \主\ web应用。但我猜Web服务器会知道在哪里可以找到,我不需要输入类似http://myshit/index.jsp的东西来实现它?或者http://myshit/g5

zip中没有任何.jar文件。

谢谢你的阅读。我想我很接近,我会继续谷歌搜索

我想打包我的项目,但我没有包选项无论如何。我怎样才能得到这个选项?这里是我目前安装的插件。我的项目是一个maven项目。

enter image description here

+0

我想我需要打包我的web应用程序,而不是导出为zip?谷歌表示,在“属性 - >构建”中应该有一个选项标签。我只有一个Compile选项卡 – user3474126

+0

我是否应该为Netbeans添加一个插件来为我提供更多构建选项,例如Package? – user3474126

+0

是的,你需要打包你的应用程序作为战争文件。是否有可能使用maven和pom.xml。右键单击pom.xml,“maven - > package”应该带点运气生成一个war文件。上传此文件。 – daniel

用户daniel给了我一个修复。 我的项目是一个maven项目,所以我可以右键点击我的pom文件 - >运行Maven - >目标,然后输入“包”作为目标,然后单击开始。这似乎给了我一个SNAPSHOT.jar的路径。我上传了这个到我的网络服务器,部署它,它工作。

+0

看来,当我创建一个标准的Java Web应用程序,我有属性构建到包下的选项。不过,无论我创建什么类型的项目,我的名为Java Web和EE的插件都设置为非活动状态,并且激活它的按钮呈灰色。 – user3474126