springmvc访问不到controller_Springmvc

本文详细介绍了Spring MVC的请求处理流程,从DispatcherServlet的拦截开始,经过处理器映射器、处理器适配器到视图解析器,再到GET和POST请求的区别。此外,还探讨了Spring MVC的注解配置、与Struts2的区别以及参数回显的实现,包括Model对象的使用、RESTful风格开发和转发与重定向的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.流程理解:

1)用户发送请求,由DispatcherServlet拦截,需要在web.xml中配置DispatcherServlet拦截器,如图所示。

9f44f013c37d6a5d4260490306417019.png

2)拦截获取请求后,交给处理器映射器,由它来找到动作执行类Controller,并返回Controller对象。

e5855f117025c9426f03f6e806e30b9b.png

3)前端控制器获取对象后,把对象和请求执行的方法传给处理器适配器(SimpleControllerHandlerAdapter),执行Action并返回ModelAndView对象

9c99d2359c884715bc3b71311d540ac5.png

4) 把ModelAndView对象传给视图解析器ViewResolver,获取物理视图,传回给前端控制器。

5)控制器把视图传给用户。

2.spring mvc的三个处理器映射器:

1)BeanNameUrlHandlerMapping :通过bean的name属性来访问controller。

2)SimpleUrlHandlerMapping : 可以将请求进行集中配置访问controller。

3)ControllerClassNameHandlerMapping:通过bean的类名首字母小写来访问controller。

3.spring mvc 的两个处理器适配器:

1)SimpleControllerHandlerAdapter : springmvc默认的处理器适配器,在没配置的时候使用这个。用来处理继承了Controller接口的controller类

f3ce3219b0b84ef55d38ce272d4e42c4.png

2)HttpRequestHandlerAdapter:用来处理继承了HttpRequestHandler接口的controller类。

9689054d7b168efe0096db9b86a6e9cf.png

4. GET和POST请求的区别:一般情况下,ajax和html的form表单提交都是GET请求,其余的url请求都是GET请求。

5.springmvc 注解方式:

1)在配置文件中加入注解方式的适配器和映射器,同时添加<context:component-scan base-package=""></context: component-scan>加入spring的扫描功能。

2)在类上面加入 @controller 注解,表示这是一个控制器。在方法上加入@RequestMapping("name属性") 添加动作和动作名称。

7.struts2 和springmvc的区别:

  1. struts2底层基于过滤器,虽然过滤器底层也是Servlet。springmvc底层直接使用servlet。
  2. struts2基于属性进行封装,而springmvc基于方法进行封装,更细。
  3. struts2是多例子,而springmvc是单例,速度更快。

8.springmvc参数回显

1)springmvc通过model对象进行参数回显。

2) restfull风格开发:在web.xml中配置<url-pattern>/rest/*</url-pattern> 在requestmapping 的value属性里配置。在参数配置加入注释:@PathVariable

3)转发&重定向:Return:"foward: list.do" Return:"redirect: list.do"重定向改变url值,转发不改变url的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值