2008-12-17 7 views
0

Est-ce que quelqu'un peut me guider dans le processus de chargement d'une classe ou d'un package dans JSP avec Tomcat?Impossible d'importer une classe/un package simple dans une page JSP simple à l'aide d'Apache Tomcat

Je pense qu'il pourrait s'agir simplement d'un problème d'installation de Tomcat: S mon fichier JSP fonctionne correctement sans importer ou utiliser dbpool ou dbpooljar. J'ai essayé beaucoup de suggestions à d'autres peuples des questions semblables sans n'importe quelle chance. Toute aide serait appréciée!

Ma classe/package placé dans web-INF/classes (entre autres)

package dbpooljar; 
public class DBPool 
{ 
    public DBPool() 
    { 
    System.out.println("dbpool evidence!"); 
    } 
} 

Mes commandes compilation

javac "C:\website\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\classes\dbpool.java" 
jar cf "C:\website\apache-tomcat-6.0.18\webapps\ROOT\WEB-INF\classes\dbpooljar.jar" DBPool.java 

Mon index.jsp

<%@ page import="java.sql.*,java.util.List,java.util.ArrayList,DBPool" %> 

<html> 
    <body> 
    Getting Length of a String 
    <% 
     String s1 = "Length of a String!"; 
     out.println("\"" + s1 + "\"" + " is of " + s1.length() + " characters "); 
     DBPool test=new DBPool(); 
    %> 
    </body> 
</html> 

Et enfin mon erreur horrible (entre autres quand j'ai essayé différent choses)

An error occurred at line: 9 in the generated java file 
The import DBPool cannot be resolved 

Répondre

1

Vous avez tapés

[% @ Page import = "java.sql. *, java.util.List, java.util.ArrayList, DBPool" %]

mais

package dbpooljar; 
public class DBPool { ... 

cet effet, il devrait être

[% @ Page import = "Java.sql. *, Java.util.List, java.util.ArrayList, dbpooljar.DBPool" %]

plus votre fichier java doit se trouver dans un répertoire nommé WEB-INF/classes/dbpooljar ou si vous insistez pour empaqueter un fichier jar, placez le fichier jar dans WEB-INF/lib

Bien sûr, les parenthèses inclinées "[" et "]" doivent être des parenthèses xml appropriées "<" et ">" - Je les ai conservés ici pour pouvoir utiliser des caractères gras.

0

Je ne connais pas les fenêtres, mais sous Linux, il existe un fichier (/usr/share/tomcat5/conf/jkconfig.manifest) que vous pouvez modifier pour ajouter des fichiers jar spécifiques à l'instance tomcat en cours d'exécution.

0

Je sais que cette question est ancienne, mais je me dis que je donnerai ma réponse de toute façon.

La façon dont Tomcat fonctionne maintenant, au moins, il devrait y avoir deux dossiers dans votre répertoire WEB-INF, un appelé classes et un appelé lib. D'après ce que je comprends, les fichiers .class vont dans WEB-INF/classes, et les fichiers .jar vont dans WEB-INF/lib. De plus, si vous voulez déclarer votre fichier .class dans un paquet, il doit être dans un répertoire approprié; dans votre cas, cela signifie qu'il doit être situé sur WEB-INF/classes/dbpooljar/DBPool.class.

Espérons que cela aide quelqu'un.

Questions connexes