Невозможно импортировать простой класс / пакет на простую страницу JSP с помощью Apache Tomcat - PullRequest
0 голосов
/ 17 декабря 2008

Может кто-нибудь, пожалуйста, проведите меня через процесс загрузки класса или пакета в JSP с помощью Tomcat?

Я думаю, это может быть просто проблема установки Tomcat: S мой JSP-файл работает нормально без импорта или использования dbpool или dbpooljar Я перепробовал много предложений другим людям по подобным вопросам без какой-либо удачи. Любая помощь будет оценена!

Мой класс / пакет помещен в веб-инфу / классы (среди других мест)

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

Мои команды компиляции

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

My 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>

И, наконец, моя ужасная ошибка (среди прочего, когда я пробовал разные вещи)

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

Ответы [ 3 ]

1 голос
/ 17 декабря 2008

Вы ввели

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

но

package dbpooljar;
public class DBPool { ...

Для этого должно быть

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

плюс ваш java-файл должен находиться в каталоге с именем WEB-INF / classes / dbpooljar или, если вы настаиваете на упаковке файла jar, поместите файл jar в WEB-INF / lib

Конечно, угловые скобки "[" и "]" должны быть правильными скобками xml "<" и ">" - я сохранил их здесь, чтобы можно было использовать жирный шрифт.

0 голосов
/ 21 июня 2011

Я знаю, что этот вопрос старый, но я думаю, что все равно дам свой ответ.

Способ работы Tomcat теперь, по крайней мере, в вашем каталоге WEB-INF должно быть две папки: одна называется классами, а другая - lib. Насколько я понимаю, файлы .class идут в WEB-INF / classes, а файлы .jar - в WEB-INF / lib. Кроме того, если вы собираетесь объявить свой файл .class в пакете, он должен находиться в соответствующем каталоге; в вашем случае это означает, что он должен находиться по адресу WEB-INF / classes / dbpooljar / DBPool.class.

Надеюсь, это кому-нибудь поможет.

0 голосов
/ 26 декабря 2008

Я не знаю о Windows, но в Linux есть файл (/usr/share/tomcat5/conf/jkconfig.manifest), который вы можете редактировать, чтобы добавить конкретные jar-файлы в работающий экземпляр tomcat.

...