关于springMvc action 无法进入的问题

来源:互联网 发布:淘宝一元抢购在哪里? 编辑:程序博客网 时间:2024/06/05 15:14

之前参照这个做了个例子


http://blog.csdn.net/gebitan505/article/details/44455235/

 然后action 进不去,调了一天。现在我把中间遇到的问题写一下。


第一次是没有mapping  思来想去,看了下classes 发现下边真没有,报错大概意思就是bean注入失败。

用的idea xml放在了代码下。正常应该放resources下,才会加进去。不过也有办法解决


1.不能把src 下的xml自动放进class

解决办法

<resources>  <resource>    <directory>src/main/java</directory>    <includes>      <include>com/jyweb/**/*.xml</include>    </includes>  </resource></resources>
2. Result Maps collection already contains value for 
xml自动生成的代码错误。重复了
问题又出来了,实例化bean时候id重复,报错是已经有了 Result Map,查看mapping 下的.xml,果然都给写两遍,删除一遍就可以了(工具自动生成竟然会错!)都可以了,启动成功,然后就是action 进不去,方法如下。
配置xml 关于拦截器
<servlet-mapping>    <servlet-name>SpringMVC</servlet-name>    <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->    <!--<url-pattern>/</url-pattern>-->    <url-pattern>*.do</url-pattern></servlet-mapping>
配置成 *.do
在请求是后加上 http://localhost:8080/web-1/admin/login.do 
才能进入action,也就是拦截器才起作用,上边的斜杠试了一天,好使过一次,但是就没办法
复现了,好使的那次记得是在mapping加了项目名称/web-1/admin
 1.不能把src 下的xml自动放进class
解决办法
<resources>  <resource>    <directory>src/main/java</directory>    <includes>      <include>com/jyweb/**/*.xml</include>    </includes>  </resource></resources>
2. Result Maps collection already contains value for 
xml自动生成的代码错误。重复了
配置xml 关于拦截器
<servlet-mapping>    <servlet-name>SpringMVC</servlet-name>    <!-- 此处可以可以配置成*.do,对应struts的后缀习惯 -->    <!--<url-pattern>/</url-pattern>-->    <url-pattern>*.do</url-pattern></servlet-mapping>
配置成 *.do
在请求是后加上 http://localhost:8080/web-1/admin/login.do 
才能进入action,也就是拦截器才起作用,上边的斜杠试了一天,好使过一次,但是就没办法
复现了,好使的那次记得是在mapping加了项目名称/web-1/admin
 
@Controller@RequestMapping("/admin")public class AdminAction {    @Resource    private AdminService userService;    @RequestMapping("/login")    public ModelAndView login(HttpServletRequest request){        System.out.print("11111111111111111111111100000000000000");        int userId = 1;        Logger logger = Logger.getLogger(AdminAction.class);        logger.info("进入请求");        Admin user = this.userService.getUserById(userId);        ModelAndView modelAndView = new ModelAndView();        modelAndView.addObject("user", user);        modelAndView.setViewName("admin/login");        return modelAndView;    }}



0 0