我对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文件并获取以下错误消息:
无法为JSP编译类:在第14行中发生错误 生成的java文件只能导入一个类型。 beans.Bean结算 到一个包
以及:
jsp文件中的第10行:/tilt.jsp beans.Bean发生错误 无法解析为类型
通过这样更改导入:
<%@ page import = "beans.*" %>
然后在重试之前重新启动tomcat, 我可以删除第一个错误,但我的类的类型仍然无法识别。 为了使这个简单的项目有效,我需要做些什么?
我相信我正在使用tomcat7.something 并且使用java jre 7编译类文件。
答案 0 :(得分:0)
好吧,这几乎是非常愚蠢的。 我在我的问题中发布的设置完全没问题。 我不小心跳过创建bean / Bean应该是的类文件夹。 (换句话说,我让人们发现一个错误,一开始就没有。我只是做了一件小事。)
在必要时我有以下设置:
.../webapps/[appname]/WEB-INF/beans/Bean.class
而不是:
.../webapps/[appname]/WEB-INF/classes/beans/Bean.class
感谢Yazan,Elyas和其他所有试图帮助我的人!