0

Webサーバーにjspファイルがあると、例外が発生します。次のように表示されます。

    type Exception report

    message 

    description The server encountered an internal error () that prevented it from fulfilling this request.

    exception 

    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. edu.byu.isys413.data.Customer resolves to a package

    An error occurred at line: 124 in the jsp file: /account.jsp
    Customer cannot be resolved to a type
    121:                                         <tr valign=top>
    122:                                             <td height=19></td>
    123:                                             <% if (session.getAttribute("customer") != null) {
    124:                                                     Customer c = (Customer) session.getAttribute("customer");%>
    125:                                             <td align="center"><%="Welcome " +      c.getFirstName() + "!"%></td>
    126:                                             <% }%>
    127:                                             <td height=19></td>


    An error occurred at line: 124 in the jsp file: /account.jsp
    Customer cannot be resolved to a type
    121:                                         <tr valign=top>
    122:                                             <td height=19></td>
    123:                                             <% if (session.getAttribute("customer") != null) {
    124:                                                     Customer c = (Customer) session.getAttribute("customer");%>
    125:                                             <td align="center"><%="Welcome " + c.getFirstName() + "!"%></td>
    126:                                             <% }%>
    127:                                             <td height=19></td>


    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:356)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:334)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:321)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328)
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)

そして、jspページは次のようになります

     <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01             Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
         <%@ page import="edu.Customer" %>
 <% if (session.getAttribute("customer") != null) {
                                                Customer c = (Customer)    session.getAttribute("customer");%>
 <td align="center"><%="Welcome " + c.getFirstName() + "!"%></td>
                                        <% }%>

多くの人が同じ問題をここに投稿していることは知っていますが、Customer.javaが/WEB-INF/classes/edu/Customer.javaの下にあることは確かです。それで、ここに他の構成の問題がありますか?Tomcatに接続するIISを使用しています。ファイルに問題なくアクセスできますが、JSPをコンパイルできません。前もって感謝します。

4

1 に答える 1

0

Customer.javaが/WEB-INF/classes/edu/Customer.javaの下にあることは確かです。

生のJavaソースファイルではなく、コンパイルされたクラスファイルが必要です。したがって、が必要です/WEB-INF/classes/edu/Customer.class

を使用javacして、Javaソースファイルをクラスファイルにコンパイルできます。または、Javaプロジェクトを手動で構築/コンパイルし、「クラスパス」という現象を十分に理解している場合は、Eclipse、IntelliJ、NetbeansなどのIDEの使用を検討してください。その後、IDEがすべてを自動的に実行します。

于 2012-04-06T02:49:38.167 に答える