2011-10-18 11 views
-1

のためのクラスをコンパイルすることができません。私は次のエラーを取得しています:HTTPステータス500:org.apache.jasper.JasperExceptionが:JSP

«HTTPステータス500を-Theサーバーからそれを防ぐ内部エラーを()に遭遇次のように示されているように、この要求を満たす»。なぜこのクラスが解決できないのか分かりません。誰でも私がエラーを修正するのを助けることができますか?ちょうどそれがコンパイルするために取得するザッツ

<%@ page import="java.util.List,java.util.ArrayList,java.util.Iterator"%>

:ありがとう:

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

An error occurred at line: 41 in the jsp file: /supprimer.jsp 
List cannot be resolved to a type 
38:     </TR> 
39:     <% 
40:      
41:      List <String> list = new ArrayList<String>(com.prog.GestionLivres.LivresDisponibles()); 
42:    
43:      int id = 0; 
44:      String box = null; 


An error occurred at line: 41 in the jsp file: /supprimer.jsp 
ArrayList cannot be resolved to a type 
38:     </TR> 
39:     <% 
40:      
41:      List <String> list = new ArrayList<String>(com.prog.GestionLivres.LivresDisponibles()); 
42:    
43:      int id = 0; 
44:      String box = null; 


An error occurred at line: 45 in the jsp file: /supprimer.jsp 
Iterator cannot be resolved to a type 
42:    
43:      int id = 0; 
44:      String box = null; 
45:      Iterator<String> it = list.iterator(); 
46:      
47:      while (it.hasNext()) 
48:      { 


Stacktrace: 
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102) 
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331) 
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:378) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:353) 
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:340) 
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:644) 
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:358) 
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:389) 
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333) 
    javax.servlet.http.HttpServlet.service(HttpServlet.java:722) 


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.21 logs. 


<%@page import="com.prog.GestionLivres"%> 
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%-- <%@ page errorPage="erreur.jsp" %> --%> 

<%@ page import="java.sql.*" %> 
<%@ page import="java.io.*" %> 
<%@ page import="java.util.Enumeration" %> 

<HTML> 
    <HEAD> 
     <title>Supprimer</title> 
     <link rel="stylesheet" href="style.css" type="text/css"> 
    </HEAD> 
    <BODY> 
     <% 
      Enumeration names = request.getParameterNames(); 
      while (names.hasMoreElements()) 
      { 
       String name = (String) names.nextElement(); 
       StringBuffer sb = new StringBuffer(name); 
       sb.deleteCharAt(0); 
       com.prog.GestionLivres.Supprimer(sb.toString()); 
      }   
     %> 
     <BR> 
     <DIV class="navigator"> 
     <A href="ajouter.jsp">Ajouter</a> 
     <A id="currenttab" href="supprimer.jsp">Supprimer</A> 
     </DIV> 
     <BR> <BR> <BR> 
     <FORM action="supprimer.jsp" method="post"> 
      <TABLE> 
       <TR> 
        <TH>Auteur</TH> 
        <TH>Titre</TH> 
        <TH>Année</TH> 
        <TH>Remarques</TH> 
       </TR> 
       <% 

        List <String> list = new ArrayList<String>(com.prog.GestionLivres.LivresDisponibles()); 

        int id = 0; 
        String box = null; 
        Iterator<String> it = list.iterator(); 

        while (it.hasNext()) 
        { 
         id = Integer.parseInt(it.next()); 
         out.print("<TR>"); 
         for (int i = 0; i < 4; i++) 
         { 
          out.print("<TD>"); 
          out.print(it.next()); 
          out.print("</TD>"); 
         } 
         out.print("<TD>"); 
         box = "<INPUT name=r" + id + " type=’checkbox’>"; 
         out.print(box); 
         out.print("</TD>"); 
         out.print("</TR>"); 
        } 
       %> 
      </TABLE> 
      <BR> 
      <INPUT type="submit" value="Supprimer"> 
     </FORM> 
    </BODY> 
</HTML> 


package com.prog; 

import java.sql.*; 
import java.util.ArrayList; 
import java.util.List; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

public class GestionLivres 
{ 
    static final String url = "jdbc:mysql://localhost:3306/bibliotheques"; 

    public static void Insert(String auteur, String titre, int annee, String remarques) 
    { 
     try 
     { 
      String insert = "INSERT INTO livres(auteur, titre, annee, remarques)" + "VALUES (?, ?, ?, ?)"; 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection(url, "root", ""); 
      PreparedStatement ps = conn.prepareStatement(insert); 
      ps.setString(1, auteur); 
      ps.setString(2, titre); 
      ps.setInt(3, annee); 
      ps.setString(4, remarques); 
      ps.executeUpdate(); 
      conn.close(); 
     } 

     catch (Exception ex) 
     { 
      Logger.getLogger(GestionLivres.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

    public static List<String> LivresDisponibles() 
    { 
     List <String> list = new ArrayList<String>(); 
      try 
      { 
       Class.forName("com.mysql.jdbc.Driver"); 
       Connection conn = DriverManager.getConnection(url, "root", ""); 
       Statement stmt = conn.createStatement(); 
       ResultSet result = stmt.executeQuery("SELECT * FROM livres"); 
        while(result.next()) 
        { 
         list.add(result.getString("id")); 
         list.add(result.getString("auteur")); 
         list.add(result.getString("titre")); 
         //list.add(result.getInt("annee")); 
         list.add(result.getString("remarques")); 
        } 
       conn.close(); 
      } 

     catch (Exception ex) 
     { 
      Logger.getLogger(GestionLivres.class.getName()).log(Level.SEVERE, null, ex); 
     } 

     return list; 
    } 

    public static void Supprimer(String id) 
    { 
     try 
     { 
      String supprimerEnregistrement = "DELETE from livres WHERE id = ?"; 
      Class.forName("com.mysql.jdbc.Driver"); 
      Connection conn = DriverManager.getConnection(url, "root", ""); 
      PreparedStatement ps = conn.prepareStatement(supprimerEnregistrement); 
      ps.setString(1, id); 
      ps.executeUpdate(); 
      conn.close(); 
     } 

     catch (Exception ex) 
     { 
      Logger.getLogger(GestionLivres.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 
} 

答えて

1

あなたはのように、java.util.Listおよび他のクラスのは、あなたのJSPに文句をインポートする必要があります。 IMOではこのデザインは推奨されていません。すべてのロジックがコントローラに含まれている必要があります。単純なBean(POJO)のみをレンダリングのためにビューレイヤに送信してください。

+1

私は同意します。スクリプトレットレットはとても悪いです... –

関連する問題