天天看点

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包加载完毕。

运行成功。