2008-12-17 38 views
0

有人可以请我介绍在Tomcat中使用JSP加载类或包的过程吗?无法使用Apache Tomcat将简单的类/包导入简单的JSP页面

我想这可能只是一个Tomcat设置问题:S我的JSP文件运行良好,无需导入或使用dbpool或dbpooljar。我已经尝试了很多建议给其他民族类似的问题,没有任何运气。任何帮助将被认为是!

我的类/包放置在WEB-INF /类(在其他地方)

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 

回答

1

你输入

[%@页面进口= “的java.sql。*,java.util.List中,java.util.ArrayList中,了DBPool” %]

package dbpooljar; 
public class DBPool { ... 

为此,它应该是

[%@页面进口= “的java.sql。*,java.util.List中,java.util.ArrayList中,dbpooljar.DBPool” %]

加你的java文件应位于名为WEB-INF /班/ dbpooljar目录或者如果你坚持打包一个jar文件,将jar文件放在WEB-INF/lib中。当然,斜角括号“[”和“]”应该是适当的xml括号“<”和“>” - 为了能够使用粗体字体,我在这里保存了它们。

0

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

0

我知道这个问题很老,但我想我会给我的答案无论如何。

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

希望能帮助别人。