关于annotation这个配置的问题

关于annotation这个配置的问题

http://img1.sycdn.imooc.com//climg/5ce9031f000141aa03320047.jpghttp://img1.sycdn.imooc.com//climg/5ce903140001f30908490251.jpg

老师回答的意思是包扫描下的类不用再写@CONTROLLER这种注解了吗?

还有就是第二句话 <mvc:default-servlet-handler/>这个跟再WEB.XML中DEFAULT有什么区别?配置了有什么用吗?

正在回答

登陆购买课程后可参与讨论,去登陆

4回答

同学是说

<mvc:default-servlet-handler/>  

http://img1.sycdn.imooc.com//climg/5cebc980000155df04660158.jpg

这两个配置吗?

这两个是相互配合的呦。

在springmvc.xml中配置<mvc:default-servlet-handler />后,会在Spring MVC上下文中定义一个org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler,它会像一个检查员,对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,才由DispatcherServlet继续处理。

一般Web应用服务器默认的Servlet名称是"default",因此DefaultServletHttpRequestHandler可以找到它。如果你所有的Web应用服务器的默认Servlet名称不是"default",则需要通过default-servlet-name属性显示指定:

<mvc:default-servlet-handler default-servlet-name="所使用的Web服务器默认使用的Servlet名称" />

这里我们配置的是Servlet名称是"default",可以通过<mvc:default-servlet-handler />的配置

转由Web应用服务器默认的Servlet处理,如果你配置的静态资源的Servlet名称不是"default",则还有通过<mvc:default-servlet-handler default-servlet-name="对应的Servlet名称" /> 配置。

所以它们不是重复的,而是互相配合的哟。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

提问者 qq_慕神9093329 2019-05-27 18:08:32

http://img1.sycdn.imooc.com//climg/5cebb6eb000133a003940051.jpg

http://img1.sycdn.imooc.com//climg/5cebb6f90001ae5704620153.jpg

我的意思是这两个不都是把静态资源使用默认servlet来转发吗?  为什么两个都配置?配置一个不行吗?

好帮手慕珊 2019-05-26 10:20:15

    你好!<mvc:annotation-driven/>还是要加上的,如果去掉的话访问http://localhost:8080/to_login这个地址会出现404错误,说明 @RequestMapping("/to_login")是不起作用的。

    SpringMVC通过<mvc:default-servlet-handler/>的设置将静态资源交给名为default的Servlet进行处理,然后在default的Servlet中对具体的静态资源进行配置。

    如果我的回答解决了你的疑惑,请采纳!祝学习愉快!


好帮手慕阿满 2019-05-25 18:59:51

同学你好,<mvc:annotation-driven/>这个配置,扫描对应包下的类,如果类中有Spring注解,才会将其注册为Spring的bean,所以@Controller这种注解不可以省略。

<mvc:default-servlet-handler/>是对进入DispatcherServlet的URL进行筛查,如果发现是静态资源的请求,就将该请求转由Web应用服务器默认的Servlet处理,如果不是静态资源的请求,由DispatcherServlet继续处理。另外问一下同学web.xml中的DEFAULT是指那里呢,建议同学详细描述一下。

如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~

  • 提问者 qq_慕神9093329 #1
    就是默认的web.xml里面servlet-mapping里写default之后url不是也写上了静态后缀吗?那不是跟这个意义重复了吗? 还有就是我不写ann这句注解也不会报错啊 我看前面的课程就没写
    2019-05-25 23:45:36
  • 提问者 qq_慕神9093329 #2
    下一个视频内容里讲到了
    2019-05-25 23:46:19
  • 提问者 qq_慕神9093329 #3
    那么两个default不是意义相同吗
    2019-05-25 23:48:17
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星

相似问题

登录后可查看更多问答,登录/注册

SSM主流框架入门与综合项目实战2018版
  • 参与学习           人
  • 提交作业       205    份
  • 解答问题       4317    个

Java中非常实用的SSM整合开发内容,从Spring开始,到MyBaits的进阶内容,再到SpringMVC的应用,最后是SSM整合开发案例,逐步深入,助你成长为一名Java工程师!

了解课程
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师