SpringMVC执行流程
SpringMVC注解解析
@RequestMapping:
- 作用:用于建立URL与处理请求的方法之间的对应关系
- 位置:
(1)类上,请求URL的第一级访问目录,此处不写的话,就相当于应用的根目录
(2)方法上,请求URL的第二级访问目录,与类上的使用@RequestMapping标注的一级目录一起组成访问虚拟路径 - 属性:
(1)value:用于指定特定的URL,它和path属性的作用是一样的,如果只赋值value属性值,那么value可以省略
(2)method:用于指定请求的方式,比如指定了POST,那么通过GET就无法访问到该方法
(3)params:用于指定限制请求参数的条件,它支持简单的表达式,要去请求参数的key和value必须和配置的一样,比如params={"accountName"},表示请求参数必须有accountName,params={"money!100"}表示请求参数中money不能是100
如果此时JSP的路径写错了,会报404
可以看到找的文件路径就不对,因为此时访问的是相对于/user/quick这个资源的地址,那么将代码中的return 改为"/success.jsp"即可
SpringMVC组件扫描
SpringMVC配置视图解析器
从这个文件可以看到组件的全名称
在spring-mvc.xml文件中,可以配置相关的组件参数,比如配置ViewResolver的前缀和后缀,前缀即“redirect:”或者"forward:",后缀即".jsp"等,其实之前我们写return "success.jsp";
默认就是return "forward:success.jsp";
在spring-mvc.xml文件中进行相关配置
配置之后我们在代码中就不用写前缀和后缀了
但是该方式只能适用于默认也就是转发的方式
如果写成<property name="prefix" value="redirect:/jsps/"/>
会被认为路径是包含了一个叫redirect的目录。
总结