Hi I’m trying to compile a simple jsp file with tomcat but I kept having this error message
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 (at 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; }
}
As far as I can tell, I am having this problem because my tomcat cannot locate the class file, so I have placed my class files at
- build/classes/pageNumber (where pageNumber is my package name)
- WEB-INF/classes/pageNumber
- tomcat\work\Catalina\localhost_\org\apache\jsp\pageNumber
but none of it worked out. Any help?
Edit: After I change my import declaration from
<%@ page import="pageNumber.*, java.util.*, java.io.*" %>
to
<%@ page import="java.util.List, pageNumber.Member" %>
It actually gave me a new type of error:
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>