springmvc请求的处理流程
1)发起some.do
2) tomcat(web.xml–url-pattern知道*.do的请求给DispatcherServlet)
3)DispatcherServlet(根据springmvc.xml配置知道some.do—dosome()方法)
4)框架执行dosome()把得到的ModelAndView进行处理,转发到show.jsp

上面的过程简化的方式:
some.do–>DispatcherServlet–>MyController


实现步骤
1:新建web maven工程
2:加入依赖:
spring-webmvc依赖,间接把spring的依赖加入到项目
jsp,servlet依赖
3:重点:在web.xml中注册springmvc框架的核心对象DispatcherServlet
1)DispatcherServlet:中央调度器,是一个Servlet,它的父类继承httpServlet
2)DispatcherServlet页叫前端控制器(front controller)
3)DispatcherServlet负责接收用户提交的请求,调用其他的控制器对象,并把处理结果显示给用户
4:创建一个发起请求的页面 index.jsp
5:创建控制器类
1)在类上加入@controller注解,创建对象,并springmvc容器中
2)在类中的方法上加@RequestMapping注解
6:创建一个作为结果的jsp,显示请求的处理结果
7:创建springmvc的配置文件(与spring的配置文件一样)
1)声明组件扫描器,指定@Controller所在的包名
2)声明视图解析器,帮助处理视图

接收请求参数,使用处理器方法的形参
1)HttpServletRequest
2)HttpServletResponse
3)HttpSession
4)用户提交的数据

接收用户提交的数据
1:逐个接收
2:对象接收

注意:在提交请求参数的时候,get请求方式中文没有乱码
使用post请求方式时,中文乱码,需要使用过滤器处理乱码问题
过滤器可以自定义,也可以使用框架中提供的过滤器CharacterEncodingFilter
逐个接收请求参数
要求:处理器(控制器)方法的形参名与请求中参数名必须一致,同名的请求参数赋值给同名的形参
架构接收请求参数
1)使用request对象接收请求参数
String strName = request.getParameter(“name”)
String strAge = request.getParameter(“age”)
2) springmvc框架通过DispatcherServlet调用 Mycontroller的dosome()方法
调用方法时,按名称对应,把接收的参数赋给形参
dosome(strName,Integer.valueof(strAge))
框架会提供类型转换的功能,把String转换成int、long、float等类型
问:请求中参数名与处理器方法的形参名不一样怎么解决?
使用@RequestParam:
属性:1.value: 请求中的参数名称
2.required:boolean类型,默认为true
true表示请求中必须包含此参数
使用位置:
在处理器方法形参定义的前面