org.springframework.web.util.NestedServletException: Request processing failed; nested exception is

本文介绍了一个Spring MVC项目中出现的空指针异常问题及其解决方案。异常发生在使用jdbcTemplate执行存储过程时,原因是配置文件位置不当导致依赖注入失败。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在执行jdbcTemplate.execute(procedure,newCallableStatementCallback() 的时候报空指针异常如下:

 

description Theserver encountered an internal error () that prevented it from fulfilling thisrequest.
exception
org.springframework.web.util.NestedServletException:Request processing failed; nested exception is java.lang.NullPointerException
    org.springframework.web.servlet.FrameworkServlet.finalizeProcessing(FrameworkServlet.java:947)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:893)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:792)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
root cause
java.lang.NullPointerException
    com.spw.dao.impl.UserDaoImpl.checkUser(UserDaoImpl.java:60)
    com.spw.service.impl.UserServiceImpl.rigister(UserServiceImpl.java:27)
    com.spw.controller.UserloginController.loginOn(UserloginController.java:31)
    sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:597)
org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)
org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)
    org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:950)
    org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:859)
    org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:883)
    org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:792)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


 

是由于在配置数据库这一块

<!-- 配置数据源 -->
    <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
        <!-- 指定连接数据库的驱动 -->
        <property name="driverClassName">
            <value>oracle.jdbc.driver.OracleDriver</value>
        </property>
        <!-- 指定连接数据库的url -->
        <property name="url" value="jdbc:oracle:thin:localhost"></property>
        <!-- 指定连接数据库的用户名 -->
        <property name="username" value="scott"></property>
        <!-- 指定连接数据库的密码 -->
        <property name="password" value="199063"></property>
    </bean>
   
   
    <!-- 将dataSource 对象注入到jdbcTemplate中-->
    <bean id = "jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
        <!-- 构造注入 -->
        <property name="dataSource" ref="dataSource"></property>
    </bean>
    <!-- 将jdbcTemplate注入到userService中 -->
    <bean id="UserDao" class="com.spw.dao.impl.UserDaoImpl"> 
        <property name="jdbcTemplate" ref="jdbcTemplate"></property>
    </bean>


我是配置在applicationContext.xml下面的而不是我在xml自定义的springMVC-servlet.xml

  

<!-- 制定springBean的配置文件所在的目录。默认配置在WEB-INF目录下-->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/springMVC-servlet.xml</param-value>
  </context-param>

所以找不到jdbcTemplate对象,因而报了空指针的异常,将上面配置数据库这一块的代码移到自定义的springMVC-servlet.xml下面即可!!!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值