问题解决——SpringMVC

问题一:写了一段代码,被提示 Model object must not be null] with root cause

花了很长时间调试都没能解决,最坑的是加入了System.out.println(“”)来调试,调试内容都显示不出来,然后就用log4j来调试,还是没有结果,万般无奈,直接改跳转,结果呵呵了,还是没反应。后来找到原因,是因为文件已经被我改名字了,访问的是TomCat下的WebApp中的编译好的程序。

这里有两点需要提醒一下,和我一样作为新手的大家

  1. 一定要把Servers的工具栏放到工作台上,不要直接点最上面的Run Servers,因为第一可能看不出来有些项目已经被移除,其次可能会把所有的MyEclipse中所有Web项目都编译了一遍,很费时
  2. 不需要的项目,可以右击选择——close project,需要的时候再打开,会节省些内存
  3. jsp如果调试一直没有结果,而你觉得逻辑也是正确的,就可以用project——clean清理一下,很有用,表示被缓存坑了很多回。Ctrl+F5也可重新访问
    @RequestMapping(value="/{name}",method=RequestMethod.GET,produces = "text/html;charset=UTF-8")
    public String show(@PathVariable String name,Model model){
        //model.addAttribute(users.get(name));
        model.addAttribute("user",users.get(name));
        return "user/show" ;
    }

之所以会出现Model object 提示的错误,是因为model.addAttribute(..),中的对象为空
通常要在这个类中声明

users是一个Map

IDao dao = new DaoImp();
    private Map<String,User> users = dao.list();

这样才能通过key找到value

问题二:org.springframework.beans.factory.BeanCreationException:
Error creating bean with name ‘org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping’: Initialization of bean failed; nested exception is java.lang.IllegalStateException: Cannot map handler ‘…Controller’ to URL path [/..]: There is already handler of type [class com.sdemo.controller.Login] mapped.

我遇到这种情况的原因是,存在两个 @RequestMapping(value = “/getprivrole”),两个映射的值系统,springMVC就不知道要加载哪一个类。给其中一个换另一个名字就可以解决问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值