当前位置: 首页 > 知识库问答 >
问题:

JasperException:无法为JSP编译类:

文心思
2023-03-14

嗨,我正试图用tomcat编译一个简单的jsp文件,但我一直收到这个错误消息

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 13 in the jsp file: /WebContent/test.jsp
Member cannot be resolved to a type
10: <body>
11: <%  
12:     //MyBatisDao myDao = new MyBatisDao();
13:     List<Member> list; // = myDao.func("test");
14:     //out.println("Result list= " + list);
15: %>
16: </body>

test.jsp(在Webcontent上)

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="pageNumber.*, java.util.*, java.io.*" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html> 
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%  
    List<Member> list;
%>
</body>
</html> 

member.java

package pageNumber;
public class Member {
 private String id;
 private String pw;
 private int point;
 private int lvl;

 public Member() {}
 public Member(String id, String pw, int point, int lvl) {
  this.id = id;
  this.pw = pw;
  this.point = point;
  this.lvl = lvl;
 }

 public String getId() { return id; }
 public void setId(String id) { this.id = id; }
 public String getPw() { return pw; }
 public void setPw(String pw) { this.pw = pw; }
 public int getPoint() { return point; }
 public void setPoint(int point) { this.point = point; }     
 public int getLvl() { return lvl; }
 public void setLvl(int lvl) { this.lvl = lvl; }
 public String toString() {
  return "ID= " + id + ", PW= " + pw + ", POINT= " + point + ", LVL= " + lvl;
 }

}

据我所知,我有这个问题是因为我的tomcat找不到类文件,所以我把类文件放在

  • 生成/类/pageNumber(其中pageNumber是我的包名)
  • WEB-INF/类/PageNumber
  • Tomcat\work\catalina\localhost_\org\apache\jsp\pageNumber

但都没有成功。有人帮忙吗?

编辑:在我将导入声明更改为

<%@ page import="pageNumber.*, java.util.*, java.io.*" %>

<%@ page import="java.util.List, pageNumber.Member" %>

它实际上给了我一种新类型的错误:

org.apache.jasper.JasperException: Unable to compile class for JSP: 

An error occurred at line: 15 in the generated java file
Only a type can be imported. pageNumber.Member resolves to a package

An error occurred at line: 12 in the jsp file: /WebContent/test.jsp
Member cannot be resolved to a type
9: </head>
10: <body>
11: <%  
12:     List<Member> list; // = myDao.func("test");
13: %>
14: </body>
15: </html> 

共有2个答案

袁单鹗
2023-03-14

造成该问题的原因是您需要在JSP中导入PageNumber.Member类。确保还包括其他包和类,如java.util.list

<%@ page import="pageNumber.*, java.util.*" %>

不过,在JSP中使用Scriptlet会有一个主要问题。参考如何避免JSP文件中的Java代码?并开始练习EL和JSTL,更多地关注MVC解决方案。

赫连实
2023-03-14

这可能是罐子冲突造成的。删除servlet/web-inf/目录中的servlet-api.jar,%tomcat home%/lib已经有了这个lib。

 类似资料:
  • 问题内容: 我是使用库的新手,但是我需要能够向忘记密码的用户发送电子邮件。我正在尝试使用JavaMail和Apache Commons Email来实现这一点。但是,我认为我一定是错误地导入了库。 当我尝试发送电子邮件时,收到以下消息: 编码: 堆栈跟踪: 我已经尝试了几件事: 将包含所有.java文件的org.apache.commons.mail文件夹复制到我的netbeans项目的源文件中,

  • 我使用的是最新的TomCat版本,我最近安装了Eclipse Java EE版本,所以它也是最新的版本。顺便说一句,我有最新版本的Java SE(JDK)。 这是我的课: 这是我真正简单的jsp代码: 我得到了这个错误: 类型异常报告 消息无法为JSP编译类: 说明服务器遇到意外情况,无法完成请求。 异常org.apache.jasper.jasperException:无法为JSP编译类: 在生

  • 我是Spring MVC的新手,我试图创建一个简单的Hello World程序,但当我运行该程序时,它显示出以下错误: StackTrace:]根本原因为org.apache.jasper.JasperException:无法为JSP编译类: 在生成的java文件[d:\workspace\springtest1.metadata.plugins\org.eclipse.wst.server.co

  • HTTP状态500-类型异常报告消息描述服务器遇到内部错误(),导致它无法完成此请求。exception org.apache.jasper.JasperException:无法为JSP编译类:在生成的java文件的第1行出现错误,无法解析类型java.util.map$entry。它从必需的.类文件stacktrace:org.Apache.jasper.compiler.defaulterro

  • 我正在为初学者做一个关于Udemy、JSP、Servlet和JDBC的课程:构建一个数据库应用程序,并在我的Tomcat9.0.27、XAMPP和Eclipse中遇到这个问题。我不确定错误是什么或在什么地方,我已经做了一个定制包,它被指示: Java包+Java类文件 JSP文件 类型异常报告 在jsp文件[/fun-test.jsp]中的行[7]处发生错误:无法解析FunUtils 4:5:6:

  • **你好,朋友们。当我尝试访问jsp页面时遇到了一个问题。 我的jsp导入一些JAR Tomcat调试显示:** 路径为[/test]的上下文中servlet[jsp]的servlet.service()引发异常[无法为jsp编译类: 在生成的Java文件[/users/jincan/documents/workspace/.metadata/.plugins/org.eclipse.wst.se