天天看點

Javaweb中jsp調用java類的方法及報錯:javax.servlet.ServletException: java.lang.NoClassDefFoundErrorJavaweb調用Java類jsp檔案調用Java類時報錯

編寫Javaweb程式時,在Java Resource中建立了幾個java類,并通過jsp檔案調用類中的方法。

文章目錄

  • Javaweb調用Java類
  • jsp檔案調用Java類時報錯

Javaweb調用Java類

在Java Resource→src中建立package,包中建立java類,與普通的Java Application同樣的操作。建立完後檔案目錄結構如下:

Javaweb中jsp調用java類的方法及報錯:javax.servlet.ServletException: java.lang.NoClassDefFoundErrorJavaweb調用Java類jsp檔案調用Java類時報錯

jsp檔案中,Java代碼需要寫在<% %>中。

首先引入java包:

<%@ page import="servlet.*" %>

接下來調用包内的類:

<% //這裡寫java代碼 Exe_Reasoning exe=new Exe_Reasoning(); String outs=exe.Reasoning();//這裡是查詢的結果 %>

即可調用建立的java類的方法。

jsp檔案調用Java類時報錯

按照上述方法調用java類時,若類内有其他外部jar包的調用,可能會報錯:javax.servlet.ServletException: java.lang.NoClassDefFoundError。

這是沒有将jar包放在WebContent中造成的。我将依賴的jar包導入到了Java Resource→Referenced Library中,但實際上還要複制到WebContent→WEB INFO→lib中才能在jsp檔案中調用。

複制完成後路徑如下:

Javaweb中jsp調用java類的方法及報錯:javax.servlet.ServletException: java.lang.NoClassDefFoundErrorJavaweb調用Java類jsp檔案調用Java類時報錯

重新開機eclipse,等待jar包加載完畢。

運作成功。