2008-12-17 60 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。

希望能幫助別人。