困扰了一整天的bug,求帮助,

我最近在用Maven做一个Javaweb项目,但是今天碰到了一个问题,我复制了报错信息百度搜索,上csdn,stackoverflow,等网站都没有找到解决的方法,我感觉是数据库的问题,但是我尝试过用JDBC来操作数据库,可以正常连接。

数据库账号密码我确认过没有错误,我是跟着视频学的,刚刚接触java不久,希望能够得到大神的帮助,感激不尽

全部报错信息如下:


java.lang.NullPointerException
    at java.util.Properties$LineReader.readLine(Properties.java:434)
    at java.util.Properties.load0(Properties.java:353)
    at java.util.Properties.load(Properties.java:341)
    at cn.itcast.travel.util.JDBCUtils.<clinit>(JDBCUtils.java:31)
    at cn.itcast.travel.dao.impl.UserDaoImpl.<init>(UserDaoImpl.java:10)
    at cn.itcast.travel.service.impl.UserServiceImpl.<init>(UserServiceImpl.java:9)
    at cn.itcast.travel.web.servlet.RegistUserServlet.doPost(RegistUserServlet.java:35)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
六月 21, 2019 10:40:52 下午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [cn.itcast.travel.web.servlet.RegistUserServlet] in context with path [/travel] threw exception
java.lang.IllegalArgumentException: Property 'dataSource' is required
    at org.springframework.jdbc.support.JdbcAccessor.afterPropertiesSet(JdbcAccessor.java:135)
    at org.springframework.jdbc.core.JdbcTemplate.<init>(JdbcTemplate.java:169)
    at cn.itcast.travel.dao.impl.UserDaoImpl.<init>(UserDaoImpl.java:10)
    at cn.itcast.travel.service.impl.UserServiceImpl.<init>(UserServiceImpl.java:9)
    at cn.itcast.travel.web.servlet.RegistUserServlet.doPost(RegistUserServlet.java:35)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

各位,我把项目上传到了百度云,里面的代码我都已经写好了,只要启动项目,在注册页面上填写注册信息,点击提交,控制台就会报错。数据库的代码就在项目的travel.sql文件中,

感兴趣有时间的可以帮忙看一下我代码究竟那里出错了,不感兴趣的可以忽略这段话,如果不是实在没有头绪,我也不会做伸手党,这已经是第二天了,今天在解决不了,就要跳过项目学框架了。谢谢各位啦

链接:https://pan.baidu.com/s/1KImj8iaxV9xy-cv5ri0LXg
提取码:fzwk
复制这段内容后打开百度网盘手机App,操作更方便哦

3个回答

dataSource应该没有配置,需要有类似这样的applicationContext.xml(不了解原理的可以先网上查询下相关资源)配置加载jdbc链接,配置可能类似如下,

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">       
        <property name="driverClassName" value="${jdbc.driver}" />
        <property name="url" value="${jdbc.url}" />
        <property name="username" value="${jdbc.username}" />
        <property name="password" value="${jdbc.password}" />
    </bean>
                  <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
    </bean>

        value是从配置文件获取的值,可以写死值比如,value="${jdbc.driver}" 可以改成value="com.mysql.jdbc.Driver",其他类似

weixin_42261992
weixin_42261992 你好,谢谢你的回答,出bug原因是因为我配置文件没有读取到,答案我贴上来了
10 个月之前 回复
hjs218
Json-Huang 回复weixin_42261992: 不是配置在pom.xml中,pom是配置依赖的jar包和版本,jdbc需要在类似这样applicationContext.xml文件中配置
10 个月之前 回复
weixin_42261992
weixin_42261992 我应该怎么样配置dataSource?
10 个月之前 回复
weixin_42261992
weixin_42261992 你好,我上网搜过了怎么样配置dSource,但是还是没有配置好,弱弱的问一句,我把你给我的代码,粘贴到pom.xml文件上为什么会出现错误了?,
10 个月之前 回复

只有报错改不了,前一个是说空指针异常,你前后端联调看下从前端传回的数据是不是空的,后一个说你数据源没有,dataSource是不是没有搞

weixin_42261992
weixin_42261992 你好,数据是有进入后台的,我服务器层servlet,还有dao层都打印过bean对象了,谢谢你的回答,bug原因我已经找到了
10 个月之前 回复
Demo_Null
Demo_Null 回复weixin_42261992: 提交了不代表数据进了后台
10 个月之前 回复
weixin_42261992
weixin_42261992 你好,我F12看过了,有表单数据提交的
10 个月之前 回复

bug都修复了,一个是配置文件没有读取到,找办法读取到配置文件就可以dataSource异常了,解决一个是我自己提交数据的时候,没有把日期写上,出现了数据库类型不匹配

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问