总的来说,我对 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/