【问题标题】:Java Class will not import to .jsp fileJava 类不会导入到 .jsp 文件
【发布时间】:2017-04-10 10:27:51
【问题描述】:

我正在尝试使用我创建的名为 ParseForm 的 java 类和我创建的 jsp 文件,但是当我使用 <%@ page import="myPackage.ParseForm" %> 导入它时,eclipse 用红色下划线并给出消息“无法解析导入 myPackage” .

我的项目名称是ARForm,ParseForm类的路径是/ARForm/src/main/webapp/WEB-INF/classes/myPackage/ParseForm.java。我正在使用 tomcat v8 在 eclipse 中的服务器上运行。一切运行顺利,我能够导入标准的 java 类,例如 java.io,但现在我尝试导入自己的类,它不会编译。

我已经阅读了很多论坛,网站上与我有相同问题的每个人都能够通过将那里的类移到 WEB-INF 和/或创建一个包来解决它,但是当我做这些事情时,我会继续得到同样的错误。

如果我遗漏了任何有助于解决此问题的重要信息,请告诉我;这是我第一次接触 jsp 和 web 开发,我之前唯一的经历是我去年在高中学习了 AP 计算机科学。提前谢谢!

这是错误堆栈跟踪:

Stacktrace:
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:198)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:361)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:336)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:323)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:585)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:363)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:396)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:340)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

【问题讨论】:

    标签: java eclipse jsp tomcat import


    【解决方案1】:

    Eclipse 给你错误,因为它找不到你正在导入的类。在一个 Maven webapp 项目中,结构如下:

    ARForm |-- 源 |-- 主要 |-- 爪哇 |-- 我的包裹 |-- ParseForm.java |-- 资源 |-- 网络应用 |-- 网络信息 |-- web.xml |-- 索引.jsp

    您所有的 Java 代码都应该放在 java 文件夹下。要从 Eclipse 运行,您需要在 Eclipse Servers 选项卡中设置 Tomcat。然后您可以通过右键单击 Run As -> Run on Server

    来运行您的项目

    【讨论】:

    • 所以我进行了更改,它不再用红色下划线,但是当我提交表单说它无法导入时给出错误 500,因为 myPackage.ParseForm 是一个包,而不是一个对象。我想也许重建它会修复它,但是以“干净验证”为目标运行“Maven Build ...”表示它无法构建,因为它找不到 web.xml,即使 web.xml 在 Eclipse 中显示。重建失败后,也无法在tomcat中运行:(
    • 更新:所以我仔细看了看我的 pom.xml,它说 ARForm/target/m2e-wtp/web-resources/META-INF/MANIFEST.MF 它不能找到/不存在
    • 所以显然问题是我的 webapp 文件夹在 src 中,而不是 main。现在我可以使用 maven 构建,但在 tomcat 上运行时发送表单后仍然收到错误 500。
    • scr/main/java 等是 maven 构建我们项目目录的方式。 java源码的根目录应该是java目录,而webapp在web应用的根目录。
    • @DaneWilliams 您是否设法显示带有 import 语句的 jsp?
    猜你喜欢
    • 2017-04-29
    • 2012-02-15
    • 2011-11-24
    • 2011-02-26
    • 2015-05-20
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    相关资源
    最近更新 更多