一。
SpringMVC 确定目标方法POJO类型入参的过程:
1.确定一个key:若目标方法的POJO类型参数没有使用@ModelAttribute修饰,则key为POJO类名第一个字母小写
若使用了该标签,则key为 @ModelAttribute 注解的value属性值。
2.若implicitModel中查找key对应对象,若存在,则作为入参传入
3.若implicitModel中不存在key对应对象,则检查当前Handler是否用了@SessionAttribute注解,
若使用了,且在注解的value属性值中包含key,则会从Httpsession中获取key对应的value值,若存在直接放入参数,不存在抛异常
4.如果Handler没有标识@SessionAttribute注解或者value中不存在对应key,则会通过反射创建POJO类型参数,传入目标方法参数
5.SpringMVC会把key和value保存到implicitModel中,进而会保存到request中。
二。
直接在连接中相应某页面,不想经过handler的时候,在springmvc.xml中使用 mvc:view-controller 标签,如下
<!-- 配置直接转发的页面 :不经过任何handler,直接到某页面-->
<mvc:view-controller path="/success" view-name="success"/>
这样直接在页面输入 http://localhost:8080/springmvc-1/success 即可进入,配置在视图解析器下的/WEB-INF/views/success.jsp。
注意:如此书写后,经过handler后的请求无法再解析到success页面。
解决方法:配置 mvc:annotation-driven标签,
<mvc:view-controller path="/success" view-name="success"/>
<mvc:annotation-driven></mvc:annotation-driven>