如何从 Eclipse 中的 JSP 项目中正确调用我的 Java 代码

Posted

技术标签:

【中文标题】如何从 Eclipse 中的 JSP 项目中正确调用我的 Java 代码【英文标题】:How to correctly call my Java code from a JSP project in Eclipse 【发布时间】:2014-04-10 21:35:14 【问题描述】:

我要做的只是从我的 .jsp 页面调用我的 Java 代码。我已经为 webapp 编写了一些 .jsp 页面,但是随着项目的发展,我想开始将一些代码放入 .java 类或 servlet 中。

为什么 Eclipse 不能“看到”我的 /src 或 /lib /web 或 /WebContent 或 /WebContent/src 或 /WebContent/WEB-INF/lib 或 /Webcontent/WEB-INF/src 中的所有内容?毕竟,它“看到我的 sql jdbc .jar 文件,我可以在它们位于 /WebContent/WEB-INF/src (而不是任何其他文件夹)中时立即使用它们。但我编写了包中的类,我的代码不是 .jar 文件的形式,所以 eclipse 没有处理它们。

【问题讨论】:

在你创建一个大项目之前,你也许应该用 eclipse 做一些关于 jsp 的教程 这必然与 eclipse 无关,除非你没有为你想要做的事情安装正确的 eclipse“版本”。 Eclipse JEE 是您创建 Web 项目所需要的。 另外,您要部署到哪个 Web 服务器?这会对它产生影响(apache、tomee+、weblogic、websphere 等) 您必须遵守某些规则。您不能只是将文件随机放置在任何地方。试试这个网站 www.javatpoint.com 它有很好的教程,会帮助你在 eclipse 上做 jsp 项目 【参考方案1】:

您需要安装 Java EE 版本的 Eclipse,并创建一个 Java Web 应用程序,这将允许您设置 web.xml。

我为设置 Web 项目而安装的 Eclipse JEE 是: http://eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/keplerr

您的 web.xml 将定义您的 Web servlet,它可以是扩展 servlet 实现的 JSP 或 Java 类。

这与您的 IDE (eclipse) 的关系不如 Java Web 应用程序。

您应该阅读 Oracle 为初学者提供的有关 Web 应用程序的文档,然后从那里开始设置 IDE:

http://docs.oracle.com/javaee/1.4/tutorial/doc/WebApp.html

根据用户反馈进行编辑

导入应该是类级别:

<%@ page import="fully.qualified.SomeClass" %> 

然后从你的 JSP 代码:

<%  
  SomeClass someClass = new SomeClass();  
  someClass.helloWorld();  
%>  

根据反馈修改 2

试试这个链接做使用页面包括:http://www.coderanch.com/t/286168/JSP/java/Calling-Java-classes-JSP-page

替代方法

    向您的 web.xml 添加一个新类,您希望将请求/表单数据发送到该类。因此,您的 JSP 将是 1 个 servlet,您的另一个 java 类将是您的另一个 servlet。

    在您的 JSP 上,创建一个包含新“TestProgram”servlet 操作的表单

【讨论】:

我正在使用 Java EE,并且已经创建了一个 Java Web 应用程序。我的网络应用程序已经工作(它登录到不同的数据库,重置密码或运行查询,然后在一个漂亮的表中返回结果)。现在我只是想向我的个人 java 代码添加调用。当我 我可以开始调用里面的类。为什么我不能像这样包含我的包并使用我的个人代码? 尝试导入特定的类,而不仅仅是.*。有关如何导入的示例,请参见此链接:***.com/questions/239147/…。例如 然后你就可以从你的 JSP 页面调用 YourClass.yourMethod() 了。 我根据我们的讨论更新了我的答案;如果它可以帮助您解决问题,请务必接受答案! jsp 文件中的第 22 行发生错误:/VitalPath.jsp Test_function 无法解析为类型 22:Test_function 测试= 新的 Test_function(); 23:test.printRequestInfo2(请求);但是在编辑器模式下它会解析,并且在“包资源管理器”视图中它会解析并将我带到“Test_function”中的方法调用 如果你能帮忙我绝对接受!!我已经准备好清理我的项目区域并从一个干净的工作空间重新开始【参考方案2】:

这个问题的答案与我的设置或导入语句无关。正确的答案是eclipse在运行项目时并没有明确它“看到”(或编译)什么代码。在我的 JSP 页面上,它显示为识别对我的 java 代码的调用。但是,当我运行该页面时,它仍在编译我的 Java 代码的旧版本,没有我的最新更改。我找到了保证在运行我的 .jsp 程序(调用 java)时编译最新版本的引用 java 代码的最佳方法是转到“Project->Build All”,然后转到“Servers” ,右键单击“发布”。如果发布不是一个选项,并且它认为它已经同步,那么您可能需要更改 .jsp 页面,保存它,然后“发布”将再次变为活动状态。

【讨论】:

以上是关于如何从 Eclipse 中的 JSP 项目中正确调用我的 Java 代码的主要内容,如果未能解决你的问题,请参考以下文章

如何让 Eclipse 正确格式化 JSP 代码?

用eclipse同步项目后,如何查看jsp编译后的servlet源码?

eclipse中的jsp文件无法在任何服务器上运行

Eclipse中如何调试jsp页面?

eclipse新建java项目的红色感叹号如何去除

eclipse如何导入guava项目???