java - Tomcat:JSP 无法识别我的类文件

标签 java jsp tomcat

总的来说,我对 tomcat 和 JSP 很陌生,我也搜索了无数其他问题,这些问题似乎有完全相同的问题,但没有一个能解决我的问题。

服务器结构包含(除了其他内容,如 css 文件和其他 html 资源)一个 jsp 文件和一个 java 类:

.../webapps/[appname]/test.jsp
.../webapps/[appname]/WEB-INF/classes/beans/Bean.class

jsp文件包含:

<%@ page language="java" contentType="text/html; charset=UTF-8" 
pageEncoding="UTF-8"%>
<%@ page import = "beans.Bean" %>
<html>
    <head>
        <link href="css.css" rel="stylesheet" type="text/css">
        <title>title</title>
        <meta charset="utf-8">
    </head>
    <body>
        <%= new String((new beans.Bean()).foo())%>
    </body>
</html>

Java 类的源文件如下所示:

package beans;

public class Bean {

    public String foo() {
        return "Success";
    }
}

现在我(重新)启动 tomcat 服务器并使用我的浏览器访问 jsp 文件并收到以下错误消息:

Unable to compile class for JSP: An error occurred at line: 14 in the generated java file Only a type can be imported. beans.Bean resolves to a package

还有:

An error occurred at line: 10 in the jsp file: /tilt.jsp beans.Bean cannot be resolved to a type

像这样更改导入:

<%@ page import = "beans.*" %>

然后在重试前重启tomcat, 我可以删除第一个错误,但我的类的类型仍然无法识别。 我需要做什么才能使这个简单的项目正常运行?

我相信我正在使用 tomcat7.something 类文件是用 java jre 7 编译的。

最佳答案

好吧,这简直蠢得令人尴尬。 我在我的问题中发布的设置就像它一样工作得很好。 我不小心跳过了创建 beans/Bean 应该所在的类文件夹。 (换句话说,我要求人们找到一个本来没有的错误。我只是犯了一个微不足道的错误。)

本质上我有以下设置:

.../webapps/[appname]/WEB-INF/beans/Bean.class

而不是这个:

.../webapps/[appname]/WEB-INF/classes/beans/Bean.class

感谢 Yazan、Elyas 和所有试图帮助我的人!

关于java - Tomcat:JSP 无法识别我的类文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36054529/

相关文章:

Java Web 应用程序 - Servlet 问题

java - 从 tomcat 取消部署 war 时图像丢失

java - 如何使用 Selenium WebDriver 和 java 从下拉列表中选择一个项目?

javascript - 如何关闭带有链接或按钮等的html页面?

java - db4o Defragment 删除数据库中的所有对象

java - 获取 HttpSession|来自简单 java 类而不是 servlet 类的请求

Java Ajax 显示进度

java - 将用于 SSL 使用的 PFX 通配符安装到 Tomcat 中

java - 如何包装字符串

java - SQL Server 2008 上的分页