0

有人可以指导我使用 Tomcat 在 JSP 中加载类或包的过程吗?

我认为这可能只是 Tomcat 设置问题:我的 JSP 文件运行良好,无需导入或使用 dbpool 或 dbpooljar。我已经尝试了许多其他人类似问题的建议,但没有任何运气。任何帮助将不胜感激!

我的类/包放在 web-inf/classes 中(以及其他地方)

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

我的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
4

3 回答 3

1

您已输入

[%@ 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 括号“<”和“>”——我在这里保留它们是为了能够使用粗体字体。

于 2008-12-17T12:50:56.650 回答
0

我不了解 Windows,但在 linux 中有一个文件(/usr/share/tomcat5/conf/jkconfig.manifest),您可以编辑它以将特定的 jar 添加到正在运行的 tomcat 实例中。

于 2008-12-26T19:33:44.003 回答
0

我知道这个问题很老,但我想我还是会给出答案。

Tomcat现在的工作方式,至少在你的WEB-INF目录下应该有两个文件夹,一个叫classes,一个叫lib。据我了解,.class 文件位于 WEB-INF/classes 中,.jar 文件位于 WEB-INF/lib 中。此外,如果您要将 .class 文件声明为包中,则它需要位于适当的目录中;在您的情况下,这意味着它应该位于 WEB-INF/classes/dbpooljar/DBPool.class。

希望对某人有所帮助。

于 2011-06-21T17:05:03.503 回答