Javabean相关的JSP文件运行时出现ClassNotFoundException的解决方法

程序报错:

org.apache.jasper.JasperException: java.lang.ClassNotFoundException: org.apache.jsp.xxx.jsp

尝试了如下方法:

1、在tomcat/lib中加了4个jar包

 Impl:   taglibs-standard-impl-1.2.5.jar                    JSTL实现类库
 Spec:   taglibs-standard-spec-1.2.5.jar                  JSTL标准接口
 EL:     taglibs-standard-jstlel-1.2.5.jar                   JSTL1.0标签-EL相关
 Compat: taglibs-standard-compat-1.2.5.jar           兼容版本

失败了。。

2、在Java Build Path中改Default output folder

继续失败。。

3、检查相关包是否重复

答案是并没有重复

4、改tomcat配置

Server Locations中选择Use workspace metadata

依然没用

最后!!!

发现WEB-INF中没有classes文件夹,说明Java文件未编译成功,需要手动编译并且手动创建classes文件夹,classes与lib同级。(地址为Java文件所在文件夹)(show为package)

编译后自动出现class文件,再将其复制

D:\JavaCourse\eclipse2020-workspace\WORK5\text\WEB-INF\classes

成功解决√

程序目录:

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java Web应用中,通常使用JavaBean来封装数据,然后将数据传递到JSP页面中显示。下面是一个简单的示例,演示如何将音乐数据传递到JSP页面中。 1. 创建Music类,用于封装音乐数据。 ```java public class Music { private int id; private String name; private String path; private String type; public Music(int id, String name, String path, String type) { this.id = id; this.name = name; this.path = path; this.type = type; } // getter和setter方法省略 } ``` 2. 在Servlet中查询音乐数据,封装为Music对象,然后将Music对象存入HttpServletRequest中。 ```java public class MusicServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 定义数据库连接信息 String driver = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql://localhost:3306/test?useSSL=false"; String user = "root"; String password = "password"; // 定义SQL查询语句 String sql = "SELECT id, name, path, type FROM music"; // 声明数据库连接和结果集 Connection conn = null; ResultSet rs = null; try { // 加载数据库驱动程序 Class.forName(driver); // 建立数据库连接 conn = DriverManager.getConnection(url, user, password); // 创建Statement对象,执行SQL查询语句 Statement stmt = conn.createStatement(); rs = stmt.executeQuery(sql); // 创建List对象,保存Music数据 List<Music> musicList = new ArrayList<Music>(); // 遍历结果集,封装Music对象,并添加到List中 while (rs.next()) { int id = rs.getInt("id"); String name = rs.getString("name"); String path = rs.getString("path"); String type = rs.getString("type"); Music music = new Music(id, name, path, type); musicList.add(music); } // 将Music数据存入HttpServletRequest中 request.setAttribute("musicList", musicList); // 转发到JSP页面 RequestDispatcher dispatcher = request.getRequestDispatcher("/music.jsp"); dispatcher.forward(request, response); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } finally { // 关闭数据库连接和结果集 try { if (rs != null) { rs.close(); } if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } } } ``` 3. 在JSP页面中使用JSTL标签库和EL表达式,从HttpServletRequest中获取Music数据,并将其展示在页面上。 ```jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>音乐列表</title> </head> <body> <h1>音乐列表</h1> <table> <tr> <th>ID</th> <th>名称</th> <th>类型</th> <th>操作</th> </tr> <c:forEach items="${musicList}" var="music"> <tr> <td>${music.id}</td> <td>${music.name}</td> <td>${music.type}</td> <td><a href="${music.path}" target="_blank">播放</a></td> </tr> </c:forEach> </table> </body> </html> ``` 该示例代码演示了如何使用JavaBean将音乐数据传递到JSP页面中,并将其展示在页面上。您可以根据您的实际需求,将其改造成一个完整的音乐播放器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值