- 一、SpringMVC获取请求参数
- 通过ServletAPI获取(不用)
- 通过控制器方法的形参获取
- 通过@RequestParam获取
- 通过@RequestHeader获取
- 通过@cookievalue获取
- 通过POJO获取
- 通过CharacterEncodingFilter处理乱码问题
- 二、域对象共享数据
- 使用ServletAPI向request域对象共享数据(用得少)
- 使用ModelAndView向request域对象共享数据
- 使用Model向request域对象共享数据
- 使用map向request域对象共享数据
- 使用ModelMap向request域对象共享数据
- Model、ModelMap、Map的关系
- 向session域共享数据
- 向application域共享数据
- 三、搭建springMVC的框架
- 创建module
- 创建webapp目录
- 创建控制器
- 创建springMVC的配置文件
- 创建页面
- 创建控制器方法
- 配置Tomcat
html:
请求控制器:
只要保证当前控制器方法的形参与请求参数名保持一致,就可以自动赋值。
控制器:
或者
结果:
required:true:必须要传指定名字的参数;false:有的话则传,没有的话则null。
defaultValue用的多。
控制器:
控制器:
控制器:
解决get请求的乱码:在Tomcat配置文件server.xml中添加URIEncoding=“UTF-8”
解决post请求的乱码:DispatcherServlet获取请求在前,所以在请求控制器里设置编码就不起作用。
在Tomcat中,最早初始化监听器,然后是过滤器,最后是servlet。监听器只执行一次,所以设置编码放在过滤器中。
在web.xml中注册过滤器,并设置编码:
pageContext
request
session
application/servletContext
在html页面中,只有th:对应的属性才能被thymeleaf解析,所以${}只能写到属性中。
html如果访问的是request域中的键,直接写键名;
如果访问的是session域中的键,用session.键名;
如果访问的是servletContext的键,用application.键名。
html页面:
html页面:
html页面:
maven
在pom.xml中添加springMVC、servletAPI、thymeleaf依赖
添加web.xml:src/main/webapp/WEB-INF/web.xml
配置CharacterEncodingFilter编码过滤器
配置DispatcherServlet前端控制器,自定义位置和名称,初始化时间提前到服务器启动时
在java目录下创建
给控制器添加注解
在resources目录下创建
开启扫描组件
配置视图解析器
在WEB-INF下面创建templates目录
创建html页面
在控制器中创建控制器方法,并添加@RequestMapping注解
配置Tomcat点击“+” —> Artifact



