JSP在Openshift中导入java类

时间:2015-03-17 20:19:56

标签: java jsp openshift jsp-tags

我在Eclipse中创建了一个java web项目,它运行得很好(使用jsp,servlet和java类)。现在我正试着让它活着。我决定在Openshift上托管它,它提供了自己的文件结构。我已经尝试过复制我的文件了,它大部分都有效。

问题是我的导入标签似乎不起作用,它找不到我的类(例如databaseInteractor,它从我的数据库中提取信息才能显示)。这可能是路径问题,但我不确定。

这就是我在Eclipse中所做的工作:

<%@ page import ="java.util.ArrayList" %>
<%@ page import ="databaseInteractor.DatabaseInteractor" %>
<%@ page import ="databeseInteractor.House" %>

在Eclipse中,我在databaseInteractor包中有我的类House.java和DatabaseInteractor.java。但是在OpenShift中,我不明白什么是相同的包。

我尝试了各种迭代的路径和错误:

  1. 只能导入一种类型。 MyClasses.DatabaseInteractor解析为一个包 \(其中MyClasses是我在OpenShift中创建的文件夹)

  2. 无法将DatabaseInteractor解析为类型

  3. 正如您在下面所看到的,我已将DatabseInteractor复制到各处以进行调试。您建议我在导入标签中尝试一下吗?

    This is what my file structure looks like

1 个答案:

答案 0 :(得分:0)

好的,在更多地看了你的问题之后,还有很多问题在继续。 OpenShift上的软件包的工作方式与其他任何地方的Java软件包完全相同。如果你的项目在本地工作,我很惊讶,它必须是由于一些Eclipse魔法与类路径。

1。)所有.java文件都应该在你的src / main / java目录中,这样它们就会被编译成类等(假设这是一个基于maven的项目结构,看起来就是这样)。

2.。)包中的任何java类都应该是与包命名相同的文件夹的INSIDE,例如,databaseInteractor.DatabaseInteractor应位于/src/main/java/databaseInteractor/DatabaseInteractor.java位置,相同与包中一部分的任何其他类。

3。)<%@ page import ="databeseInteractor.House" %>,数据库拼写错误,可能会导致一些问题。

4。)此外,很难在那里告诉你,但你的web.xml文件应该在WEB-INF文件夹里面,但不在那个“package”文件夹里面。 我建议您研究如何在Java中使用包,并花一些时间研究使用Maven结构的Java Web项目。