java - 为动态 web 设置 eclipse neon EE

标签 java eclipse jsp tomcat servlets

我正在尝试让 eclipse neon EE 准备好制作 JSP/Servlet 动态 Web 项目,但它就是不配合我。

这是第 3 天,我阅读了很多手册并在线搜索并设法让它在一定程度上工作,但我现在很困惑,浪费了很多时间,但我什至还没有开始做这个项目!

我使用的是:

  • Tomcat v8.0。
  • jre jre1.8.0_101
  • 面向 Web 开发人员的 Eclipse Java EE IDE(Neon.1 版本 (4.6.1))

现在的主要问题是服务器无法识别 Servlet,它也不会接受来自 JSP 文件中的类调用。

IDE 显示在部署描述符中有一个 Servlet 和 Servlet 映射,但它仍然会给我一个 404 错误,我检查了 WEB-INF并且没有 web.xml 文件,所以我创建了它并手动设置了映射,但仍然无济于事。

 <servlet>
    <servlet-name>ShowText</servlet-name>
    <servlet-class>test.ShowText</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>ShowText</servlet-name>
    <url-pattern>.ShowText</url-pattern>
</servlet-mapping>

错误:

HTTP Status 404 - /sem6/Tomcat-8.0/webapps/sem6/.ShowText
type Status report

message /sem6/Tomcat-8.0/webapps/sem6/.ShowText

description The requested resource is not available.

--------------------------------------------------------------------------------

Apache Tomcat/8.0.37

至于类调用,当我在 IDE 中调用它时,它会识别它并自动完成它并且没有显示任何错误,但 JSP 页面显示错误:

An error occurred at line: 4 in the jsp file: /Tomcat-8.0/webapps/sem6/index.jsp
Constants cannot be resolved to a type
1: 
2: <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
3:     pageEncoding="ISO-8859-1" import="base.Constants" %>
4: <%! Constants c = new Constants();  %>
5: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6: <html>
7: <head>


An error occurred at line: 4 in the jsp file: /Tomcat-8.0/webapps/sem6/index.jsp
Constants cannot be resolved to a type
1: 
2: <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
3:     pageEncoding="ISO-8859-1" import="base.Constants" %>
4: <%! Constants c = new Constants();  %>
5: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
6: <html>
7: <head>


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)
note The full stack trace of the root cause is available in the Apache Tomcat/8.0.37 logs.

这里有什么问题?为什么要这样做?我根本无法让它工作!

是否有我可以遵循的简单配置步骤来轻松设置?

我想要服务器和 IDE 的完全集成,IDE 仍然在工作区的一个文件夹中创建服务器配置,这让我很困扰。但它只包含服务器配置

最佳答案

常量 从何而来?如果你想在 JSP 中使用任何 java 类,你需要在 jsp 中编写 import 语句。

请参阅下面的帖子 - How do you import classes in JSP?

正如错误所说

Constants cannot be resolved to a type

我非常确定您的 Constants.java 的完整类路径是错误的。

关于java - 为动态 web 设置 eclipse neon EE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39946635/

相关文章:

java - 如何将输出流转换为输入流?

mysql - "JSP First Connection cause second connection not running when it had ended"

java - 如何从 JSP 中的选择框中获取多个选定值?

java - 使用 Tomcat 的 Eclipse 中的 HTTP 状态 404 错误

java - 更新语句在 JSP 中不起作用

java - 用于 spring boot 应用程序的 hibernate 投影

java - 尝试将对象添加到 PriorityQueue 时出现 NullPointerException

java - 切换不持续

eclipse - 在eclipse中创建方法 stub 的快捷方式

eclipse - Perl 语法未突出显示