学习javaweb遇到的一个异常

HTTP状态 500 - 内部服务器错误


类型 异常报告

消息 Servlet执行抛出一个异常

描述 服务器遇到一个意外的情况,阻止它完成请求。

例外情况

jakarta.servlet.ServletException: Servlet执行抛出一个异常
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

根本原因。

java.lang.ExceptionInInitializerError
	servlets.AddServlet.doPost(AddServlet.java:35)
	jakarta.servlet.http.HttpServlet.service(HttpServlet.java:694)
	jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

根本原因。

java.lang.NullPointerException: inStream parameter is null
	java.base/java.util.Objects.requireNonNull(Objects.java:233)
	java.base/java.util.Properties.load(Properties.java:407)
	utils.JDBCUtils.<clinit>(JDBCUtils.java:30)
	servlets.AddServlet.doPost(AddServlet.java:35)
	jakarta.servlet.http.HttpServlet.service(HttpServlet.java:694)
	jakarta.servlet.http.HttpServlet.service(HttpServlet.java:777)
	org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

):注意 主要问题的全部 stack 信息可以在 server logs 里查看

 

这个异常是我想要用页面form表单来填写tomcat服务器的数据库时出现的,当时学到这里,用了课程的代码,结果却没有成功。

看异常原因是 inStream parameter is null,也就是创建druid连接时,没有成功读取到druid.propreties配置文件。所以是创建Connection对象失败,想了一下,我学的JDBC课程和JAVAWEb课程的老师不一样,所以我赶紧看了一下web课程的JDBC怎么写的,果然,他是直接把相关配置写进类里面了,没有用properties读取。

所以我重新在类里面写了一个getConn方法,将各种配置直接写进类里面。

重新运行还是不行,依然提示同样的异常。

后面我仔细思考了一下,发现是自己将之前的getConnectionDruid方法声明为static的,所以我虽然只是用了getConn方法,没有涉及到输入流,但是由于静态方法是随着类的加载而加载,因此当我调用getConn方法时,就会加载类,从而运行静态方法,一样会出现异常。

后面将相关的静态方法删除即可。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
基于javaweb的学生成绩管理系统项目源码和基于javaweb的人力资源管理系统源码可以作为参考,帮助你了解如何使用javaweb开发一个管理系统。这些源码提供了一些基本的功能和架构,你可以根据自己的需求进行修改和扩展。 以下是一个简单的示例,展示了如何使用javaweb开发一个学生成绩管理系统: 1. 创建数据库表格 首先,你需要创建一个数据库表格来存储学生的成绩信息。可以使用MySQL或其他关系型数据库来创建表格。 2. 创建JavaBean类 创建一个JavaBean类来表示学生的成绩信息。该类应该包含学生的姓名、学号、科目和成绩等属性,并提供相应的getter和setter方法。 3. 创建DAO类 创建一个DAO(数据访问对象)类来处理与数据库的交互。该类应该包含插入、更新、删除和查询等方法,用于对学生成绩信息进行操作。 4. 创建Servlet类 创建一个Servlet类来处理用户的请求。该类应该包含处理用户输入的表单数据,并调用DAO类来进行相应的数据库操作。 5. 创建JSP页面 创建一个JSP页面来展示学生成绩信息。该页面应该包含一个表格,用于显示学生的姓名、学号、科目和成绩等信息。 6. 配置web.xml文件 在web.xml文件中配置Servlet和JSP页面的映射关系,以便能够正确地处理用户的请求。 通过以上步骤,你可以实现一个简单的学生成绩管理系统。当用户访问系统时,他们可以输入学生的成绩信息,并将其存储到数据库中。然后,他们可以查看和编辑学生的成绩信息。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值