程序应该不存在包重复问题,web.xml配置文件:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/mch/config/applicationContext.xml</param-value>
</context-param>
调试时,已经可以获取到所输入的用户名、密码.唯独users这个对象为空.不知是否因为没有实例化造成.
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:com/mch/config/applicationContext.xml</param-value>
</context-param>
调试时,已经可以获取到所输入的用户名、密码.唯独users这个对象为空.不知是否因为没有实例化造成.
解决方案 »
- java.lang.NullPointerException
- mysql 中如何自动获取当前时间?
- 一个需要用户登陆的系统,如果用户不按"退出"按钮,而直接关闭该浏览器的话,请问如何断开session?使得下一个使用该机器的人无权访问?
- 一个简单的问题
- 急需寻求朋友解决一个关于Java Mail API发送邮件的问题
- 求救:jsp使用javaBean的路径问题?
- SQL Server 2000 Driver for JDBC驱动程序如何设置???
- jsp用javabean时出现的问题,特急!!!! 还有连库问题!!!!
- 大家看这个可以解决吗?作一个有点象pb中下拉数据窗口的类!!!请指教!!!!
- Java+socket点对点客服聊天
- 菜鸟级,dao中取不到session
- tomcat 启动 spring单个定时任务 被调用11次
http://blog.csdn.net/zhdjbabygo/article/details/7730791
我看了一下这个配置步骤,里面没有提到users,所以我也不清楚你这个action 16行是不是users,还是一步步去找一下,看看users的值应该从那里来,为什么没有赋值进去。
import com.mch.action.bean.BeanAction;
import com.mch.service.UserService;public class LoginAction extends BeanAction { private static final long serialVersionUID = 7803370514585593518L;
private UserService users;
private String username;
private String userpass;
public String execute(){
try{
if(users.login(username, userpass))
return "success";
return "error";
}catch(Exception e){
e.printStackTrace();
return "error";
}
} public String getUsername() {
return username;
} public void setUsername(String username) {
this.username = username;
} public String getUserpass() {
return userpass;
} public void setUserpass(String userpass) {
this.userpass = userpass;
} public void setUsers(UserService users) {
this.users = users;
}
}
那关系大了,这个事例中的spring 配置文件确实配置,没有把service层和dao层配进去的,也就是UserService
根本没有实例化。
那关系大了,这个事例中的spring 配置文件确实配置,没有把service层和dao层配进去的,也就是UserService
根本没有实例化。
嗯,我也怀疑是这个,但是实在不知道怎么配置,找了类似的例子根据解决方法配置,程序就不到execute方法里去,而且报另外一种异常.所以才来这里请教.
那关系大了,这个事例中的spring 配置文件确实配置,没有把service层和dao层配进去的,也就是UserService
根本没有实例化。
嗯,我也怀疑是这个,但是实在不知道怎么配置,找了类似的例子根据解决方法配置,程序就不到execute方法里去,而且报另外一种异常.所以才来这里请教.给你个方向,这个事例的配置都不用动,只是需要再添加一些配置,建议去看一下spring的依赖注入和spring的事务管理配置,基本上就缺这两部分配置,在spring配置文件中加这两方面的配置就应该可以了,可不是两行配置代码哈,只能帮到这里了,在说就该给你贴代码了,结贴给分慢慢去学习把。
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.你的UserService 实例名不是叫users么?怎么这边配成了userService,把错误贴出来
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.你的UserService 实例名不是叫users么?怎么这边配成了userService,把错误贴出来
我重新修改回来啦,免得你们看混了.哈哈
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.你的UserService 实例名不是叫users么?怎么这边配成了userService,把错误贴出来
错误如下:
java.lang.NullPointerException
at com.mch.action.LoginAction.execute(LoginAction.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:589)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:450)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:289)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:252)
at org.apache.struts2.interceptor.DeprecationInterceptor.intercept(DeprecationInterceptor.java:41)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:256)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:167)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:265)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:138)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:249)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:191)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:73)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:91)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:252)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:139)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:193)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:189)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:246)
at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:54)
at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:562)
at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77)
at org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter.doFilter(StrutsPrepareAndExecuteFilter.java:99)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:228)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:216)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:634)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:445)
at java.lang.Thread.run(Thread.java:619)
照你这么说,UserService只是个接口,而实现这个接口的是UserServiceImpl,那上面的id应该改成
<bean id="userServiceImpl" class="com.mch.service.impl.UserServiceImpl">
照你这么说,UserService只是个接口,而实现这个接口的是UserServiceImpl,那上面的id应该改成
<bean id="userServiceImpl" class="com.mch.service.impl.UserServiceImpl">汗…… 你这java基础也太……,这个就跟写代码一样,
UserService userService = new UserServiceImpl();
UserService userService2 = new UserServiceImplDemo();
这两个都可以,new的对象名称和后边的实现类有直接关系不?
但是我也试过你说的那种写了,一样的空指针
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="UserDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="UserService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao">
<ref bean="UserDao"/>
</property>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="UserService"/>
</property>
</bean>
</beans>
<property name="userService">
这里<property name="userService">叫做userService,那么你LoginAction也必须叫做userService,再有setUserService方法。
而<ref bean="UserService"/>的UserService就对应上<bean id="UserService" class="com.mch.service.impl.UserServiceImpl">里的id就好了。
建议你把名字取成一样,这也是一种代码习惯。别uService,又是users,出现多个名称自己容易出错,别人看你代码也不舒服~
再问一句:你服务启动spring没有报错的吧!这是前提。
运行都正常,就是输入用户名、密码点击登录时,对象为空...
运行都正常,就是输入用户名、密码点击登录时,对象为空...
是你理解的,我是提醒你要写成一样。你可以尝试在LoginAction中自己声明变量,即userService=new userServiceImpl();如果可以就是你spring配置的问题了额
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.
配置的是uService,程序中是users,所以注入不进去。
<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd"
default-autowire="byName" default-lazy-init="true"> <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.sqlserver.jdbc.SQLServerDriver"/>
<property name="url" value="jdbc:sqlserver://localhost:1434;database=shoppingDB"/>
<property name="username" value="sa"/>
<property name="password" value="123456"/>
</bean>
<bean id="MySessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource"/>
</property>
<property name="mappingResources">
<value>com/mch/config/user.hbm.xml</value>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
</props>
</property>
</bean>
<bean id="uDao" class="com.mch.dao.impl.UserDaoImpl">
<property name="sessionFactory" ref="MySessionFactory"/>
</bean>
<bean id="uService" class="com.mch.service.impl.UserServiceImpl">
<property name="userDao" ref="uDao"/>
</bean>
<bean id="LoginAction" class="com.mch.action.LoginAction">
<property name="userService">
<ref bean="uService"/>
</property>
</bean>
</beans>还是空指针异常,不知为何,spring始终没有给对象实例化.
配置的是uService,程序中是users,所以注入不进去。
呃...我把你给绕混了,现在我已经修改回来了.
LoginAction中的对象叫 userService,配置文件中也使用userService了,但是还是空指针。
运行都正常,就是输入用户名、密码点击登录时,对象为空...
是你理解的,我是提醒你要写成一样。你可以尝试在LoginAction中自己声明变量,即userService=new userServiceImpl();如果可以就是你spring配置的问题了额
还是无效...哎。