2010-11-03 48 views
2

我得到一個異常在Tomcat中寫明以下內容:JSP進口類實現不解析類型

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

An error occurred at line: 6 in the generated java file 
Only a type can be imported. business.User resolves to a package 

An error occurred at line: 12 in the jsp file: /join_email_list.jsp 
User cannot be resolved to a type 
9:  <body> 
10:   <%@ page import="business.User" %> 
11:   <% 
12:    User user = (User) request.getAttribute("user"); 
13:    String message = (String) request.getAttribute("message"); 
14: 
15:    if (user == null) 


An error occurred at line: 12 in the jsp file: /join_email_list.jsp 
User cannot be resolved to a type 
9:  <body> 
10:   <%@ page import="business.User" %> 
11:   <% 
12:    User user = (User) request.getAttribute("user"); 
13:    String message = (String) request.getAttribute("message"); 
14: 
15:    if (user == null) 


An error occurred at line: 17 in the jsp file: /join_email_list.jsp 
User cannot be resolved to a type 
14: 
15:    if (user == null) 
16:    { 
17:     user = new User(); 
18:    } 
19:    if (message == null) 
20:    { 


Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:92) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:330) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:439) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:349) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:327) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:314) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 

有幾件事情要指出:

第一:

An error occurred at line: 6 in the generated java file 
Only a type can be imported. business.User resolves to a package 

這是不準確用戶是業務包中的一個類。

User user = (User) request.getAttribute("user"); 

用戶顯然是一個類型,在NetBeans CTRL +空間帶來了所有的類的屬性和方法。

下面是用戶等級:

package business; 

public class User 
{ 
    private String firstName; 
    private String lastName; 
    private String emailAddress; 

    public User() 
    { 
     firstName = ""; 
     lastName = ""; 
     emailAddress = ""; 
    } 

    public User(String first, String last, String email) 
    { 
     firstName = first; 
     lastName = last; 
     emailAddress = email; 
    } 

    public void setFirstName(String f) 
    { 
     firstName = f; 
    } 

    public String getFirstName() 
    { 
     return firstName; 
    } 

    public void setLastName(String l) 
    { 
     lastName = l; 
    } 

    public String getLastName() 
    { 
     return lastName; 
    } 

    public void setEmailAddress(String e) 
    { 
     emailAddress = e; 
    } 

    public String getEmailAddress() 
    { 
     return emailAddress; 
    } 
} 

我怎樣才能解決這個問題?看起來好像有什麼不對。謝謝。

+0

顯示用戶類別 – Bozho 2010-11-03 06:11:23

+0

現在它已經到了,謝謝:) – TheWolf 2010-11-03 06:13:56

+0

你是否有機會在一個包'business.User.Something'包中有一個類 – Bozho 2010-11-03 06:32:52

回答

2

這種JSP錯誤的是一種誤導。這實際上是一個NoClassDefFoundError

換句話說,/WEB-INF/classes/business/User.class丟失。

2

嘗試清理項目(重建),看起來好像你有一個不同的.class文件比你想象的。

另一個機會是服務器已經弄髒或過時的編譯文件,也清理服務器,並重新部署。

或者也許這個班級在Netbeans的另一個項目中。本指南可以幫助您與其他tipical相關問題:

http://www.lady4j.com/webClient.jsp?q=classnotfoundexception