非常冷门,难用,不好理解,不建议使用。

这个标签可以干什么?如果不想让handler处理某个页面,这个标签可以直接跳过handler。

一、使用方法

在视图解析器的配置文件加上mvc的namespace,然后如下:

如果直接访问/helloworld,就会跳过handler,访问到index页面。

二、问题来了,这样直接配置会出现问题,就是其他非直接访问的页面访问不了!

比如我的index输入username提交到下一个页面,本来是可以成功跳转的,加了这段标签之后就会404。

这时候需要加上这一段:

这样就能正常工作了,不但能直接访问index.jsp,其他也能正常访问。

三、为什么会出这样的错误?

谷歌一下:

<mvc:annotation-driven/>相当于注册了DefaultAnnotationHandlerMapping和AnnotationMethodHandlerAdapter两个bean,配置一些messageconverter。即解决了@Controller注解的使用前提配置。

其他几个常用的:

<context:annotation-config/>是对包进行扫描,实现注释驱动Bean定义,同时将bean自动注入容器中使用。即解决了@Controller标识的类的bean的注入和使用。

<context:component-scan/>标签是告诉Spring 来扫描指定包下的类,并注册被@Component,@Controller,@Service,@Repository等注解标记的组件。

而<mvc:annotation-scan/>是告知Spring,我们启用注解驱动。然后Spring会自动为我们注册上面说到的几个Bean到工厂中,来处理我们的请求。

四、总结

感觉还是不太理解…到后面再详细研究吧…

发表评论

电子邮件地址不会被公开。 必填项已用*标注