栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

项目第二天

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

项目第二天

第二天(—2022/2/7—) 编写Service层
@Service
public class UserService {
    @Autowired
    UserMapper userMapper;

    
    public List doLogin(User user){
        return userMapper.selectByAccount(user);
    }
}
编写Controller层
@Controller
@SessionAttributes(value = {"hasUser"},types = {User.class})
public class UserController {
    @Autowired
    UserService userService;

    
    @RequestMapping(value = "/login",method = RequestMethod.POST)
    public String doLogin(User user, Model model){
        List users = userService.doLogin(user);
        if (!users.isEmpty() && users.size()<2){
            for (User user1 : users) {
                System.out.println(user1);
                if (user1.getUserPassword().equals(user.getUserPassword())){
                    model.addAttribute("hasUser","true");
                    return "index";
                }
            }
        }
        return "fail";
    }
    @RequestMapping(value = "toLogin")
    public String toLoginPage(Model model){
        model.addAttribute("hasUser","false");
        return "login";
    }
}

问题:ioc找不到Controller,因为没有service可以注入
进行测试

  @Test
    public void  test02(){
        ApplicationContext ioc = new ClassPathXmlApplicationContext("applicationContext.xml");

        UserMapper mapper = ioc.getBean(UserMapper.class);

        User user1 = new User(null,"",123456,"123456","男","");
        List users = mapper.selectByAccount(user1);

        for (User user : users) {
            System.out.println(user.toString());
        }

        UserService bean = ioc.getBean(UserService.class);
        System.out.println(bean);
        UserController bean1 = ioc.getBean(UserController.class);

        System.out.println(bean1);
    }

发现service已经注册到容器中,而controller没有注册
检查配置文件,applicationContext文件扫描了除controller以外所有包,springmvc-servlet.xml只扫描了controller包,而且两个配置文件都加载了
修改:将applicationContext.xml包扫描改为全部,发现测试可以输出controller,进行项目部署
问题:依旧报controller没有的错
解决:在web.xml文件的启动ioc容器下方加入

 
        org.springframework.web.context.ContextLoaderListener
    

不配置ContextLoaderListener的话,spring默认去这个目录加载/WEB-INF/applicationContext.xml,这也可能是导致之前没有注册controller的错,因为我们的controller是写在springmvc-servlet.xml中的,没加载springmvc-servlet.xml当然没有了,一个下午吃了一个教训。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/731767.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号