在 applicationContext.xml中 <context:component-scan base-package="com.xiaohao"> <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" /> </context:component-scan> 在loginAction中 @Autowired private UserService userService; public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { LoginForm loginForm = (LoginForm) form;// TODO Auto-generated method stub String username = loginForm.getUsernmae(); String password = loginForm.getPassword(); String val = userService.user_login(username, password); System.out.println(val); return null; } 然后 String val = userService.user_login(username, password);这一句空指针异常 UserService.java @Service(value="userService") public class UserServiceImp implements UserService{ @Autowired private UserDao userdao; public String user_login(String username, String password) { // TODO Auto-generated method stub System.out.println("======"+username); return userdao.user_login(username, password); } } UserDao @Repository(value = "UserDao") public class UserDaoImp implements UserDao{ public String user_login(String username, String password) { // TODO Auto-generated method stub if(username.equals("xiaohao")||password.equals("123")){ return "success"; } else return "failed"; } } 请问下错误原因。 |
|
10分 |
最近经常看到这种错..
楼主是发布到weblogic上的么? 如果不是,参照这个地址http://zhongzhihua.iteye.com/blog/613305 |
我看了下这个,貌似不出这个问题,我这3个条件都满足。 |
|
10分 |
|
|
|
你是部署在weblogic下面么?
如果是,你看看你web.xml的 classpath配置,把*号的去掉,weblogic不支持这个 |
|
String val = userService.user_login(username, password);这一句空指针异常那应该就是userService没有注入进去,就为空然后调用user_login方法就报空指针了;
在你的配置文件里面下面这个配置有问题,exclude-filter 表示不会去扫描Controller,所以你这里userService就注入不进去! <context:component-scan base-package=”com.xiaohao”> <context:exclude-filter type=”annotation” expression=”org.springframework.stereotype.Controller” /> </context:component-scan> |