视图解析器ViewResolver 在spring.xml里面设置ViewResolver作用是可以简化逻辑视图的名称 没简化之前 简化之后 在spring-mvc.xml里面设置视图控制器的作用,如果你想访问根目录的话就会进入index.jsp里面,如果你想访问/tuling,就会进入main.jsp里面,path是写到地址栏里的 main.jsp里面的内容 main.jsp访问服务器演示 index.jsp里面的内容 index.jsp访问服务器演示 用servletapi的方式获取属性 在main.jsp中获取type数据 用model的方式获取属性 用modelmap的方式获取属性 使用map的方式获取属性 使用ModelAndView的方式获取属性方法里第一句是要传数据到那个jsp文件里传入的方法是通过构造函数的方式,mv.setViewName()是通过方法的方式设置要传入的jsp文件里,addObject是设置属性的名字和数据 通过servlet api的方式获取session的数据 通过自动注入的方式获取servlet api 选在外面声明HttpSession session 在加入@Atuowired注解再在方法中用就行 2.通过springmvc提供的注解方式去读写session 用@SessionAttributes()的方式把在model里的数据写入到注解里面 如注解里写入type,它回去model方法里面找type的属性如下下图然后设置到session里面 @SessionAttribute用在参数上面的,读取session的。如果session域中有个type属性的值,就会输出在控制台上如先访问上图的model在访问下图就或有model的值 如果session里面没有设置值还不想报错,可以设置required=false就会输出对应属性的空值 用@MdelArrtibute的方式获取session 先在用@ModelAttribute里面设置model属性的值 springmvc有个特性就是会将model里面的值和下面方法用user类的值合并,如果在客服端改了username的值不改别的话还会保留其他数据的值 如果就只有这一个方法的话springmvc还是会把user的值传到request里面的 @ModelAttribute使用场景和用法 线程安全问题 通过参数绑定的方式 通过自动注入的方式@AutoWired 通过@ModelAttribute的方式 同时进行请求一个请求a一个请求b会出现错误在@ModelAttribute注解 解决办法可以把变量设置到方法中也可以设置锁 转发和重定向在spring的写法 转发 我们配了视图解析器需要遵循这个原则 想不遵循视图解析器,如下图在前面写入forward 重定向,不能访问WEB-INF文件里面的内容只有转发能访问