我尝试在 spring 中进行登录和一些数据库操作(插入、删除)并帮助 jsp。我对 spring 完全陌生。我收到以下错误,如 bean 创建异常。我已将 dvd 定义为 web 中的 servlet 名称。 xml。所以我的 dvd_servlet.xml 文件如下
<beans.................>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
<property name="prefix" value="/"/>
<property name="suffix" value=".jsp"/>
</bean>
<bean id="dataSource" destroy-method="close" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/DVD"/>
<property name="username" value="root"/>
<property name="password" value="root"/>
</bean>
<bean name="DvdController" class="DvdController" >
<property name="dataSource" ref="dataSource"/>
</bean>
<bean name="LoginController" class="LoginController" >
<property name="dataSource" ref="dataSource"/>
</bean>
<bean name="AccountCreationController" class="AccountCreationController" >
<property name="dataSource" ref="dataSource"/>
</bean>
</beans>
我的 LoginController 就像
public class LoginController implements Controller {
int check;
private DataSource dataSource;
public void setDataSource(DataSource dataSource) {
this.dataSource=dataSource;
}
public DataSource getDataSource() {
return dataSource;
}
JdbcTemplate jdbcTemplate=new JdbcTemplate(dataSource);
@RequestMapping(value="/Login",method=RequestMethod.POST)
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) {
String userName = request.getParameter("userName");
String password=request.getParameter("password");
try {
String selectQuery=("SELECT * FROM USERDETAILS WHERE NAME='"+userName+"'AND PASSWORD='"+password+"'");
check=jdbcTemplate.update(selectQuery,new Object[]{});
System.out.println(check);
if(check!=0) {
response.sendRedirect("DvdController");
}
}
catch(IOException e) {
e.printStackTrace();
}
return new ModelAndView("failure");
}
我的错误如下:
org.springframework.beans.factory.BeanCreationException:在 ServletContext 资源 [/WEB-INF/dvd-servlet.xml] 中定义名称为“LoginController”的 bean 创建错误:bean 的实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 bean 类 [LoginController]:构造函数抛出异常;嵌套异常是 java.lang.IllegalArgumentException:需要属性 'dataSource' org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(support:AbstractAutowireCapableBeanFactory.java):965) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。 createBeanInstance(support:AbstractAutowireCapableBeanFactory.java):911) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory。
根本原因
org.springframework.beans.BeanInstantiationException:无法实例化bean类[LoginController]:构造函数抛出异常;嵌套异常是 java.lang.IllegalArgumentException: Property 'dataSource' is required org.springframework.beans.BeanUtils.instantiateClass(beans:BeanUtils.java):141) org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(support: SimpleInstantiationStrategy.java):74) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(support:AbstractAutowireCapableBeanFactory.java):958) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(support:AbstractAutowireCapableBeanFactory.java) :911) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(支持:
根本原因
java.lang.IllegalArgumentException:需要属性“dataSource” org.springframework.jdbc.support.JdbcAccessor.afterPropertiesSet(support:JdbcAccessor.java):134) org.springframework.jdbc.core.JdbcTemplate.(core:JdbcTemplate.java) :164) LoginController.(LoginController.java:29) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27 ) java.lang.reflect.Constructor.newInstance(Constructor.java:513) org.springframework.beans.BeanUtils.instantiateClass(beans:BeanUtils.java):126) org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(支持:SimpleInstantiationStrategy.java):74) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(support:AbstractAutowireCapableBeanFactory.java):958) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(support:AbstractAutowireCapableBeanFactory.java):911) org. springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(support:AbstractAutowireCapableBeanFactory.java):485) org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(support:AbstractAutowireCapableBeanFactory.java):456) org.springframework.beans。 factory.support.AbstractBeanFactory$1.getObject(support:AbstractBeanFactory.java):291) org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(support:DefaultSingletonBeanRegistry.java):222) org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(support:AbstractBeanFactory.java):288) org.springframework.beans.factory.support.AbstractBeanFactory.getBean(support:AbstractBeanFactory.java):190) org. springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(support:DefaultListableBeanFactory.java):580) org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:895) org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:425) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:442) org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:458) org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:339)
请帮我清除这个!!!