springmvc框架的web.xml和springmvc.xml

  1.web.xml中的欢迎页:


    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
 

springmvc框架的web.xml和springmvc.xml_第1张图片

此图来源于:http://www.360doc.com/content/11/1203/14/3880760_169368917.shtml

1.1没有指定具体的访问路径

1.1.1当存在欢迎页时

显示时tomcat从第一个找起,如果找到了,就不往下找了,如果没找到,接着往下找。如果最终还是没有找到,报404错误。

1.1.2当不存在欢迎页时

tomcat先找WebContent路径下的index.html,如果找到了,就不往下找了,如果没找到,接着找index.jsp,如果最终还是没有找到,报404错误。

1.2当指定具体的访问路径

不管是否存在欢迎页,都直接会去路径下访问。比如访问如下路径(此时并为配置欢迎页)

http://localhost:8080/yuanlairuciBaseSSM/try/login.jsp

而在try/login.jsp中做了跳转

springmvc框架的web.xml和springmvc.xml_第2张图片

当然类上requestmapping中的值也可以是"/view",方法上的requestmapping中的值也可以是"/study/login.jsp",后缀 .jsp可以省略。

当未指定具体访问哪个页面,而是给定了WebContent下的一个目录,则会先找该目录下的index.html,如果找到了,就不往下找了,如果没找到,接着找index.jsp,如果最终还是没有找到,报404错误。

注意:WEB-INF目录下的文件是不能被直接访问的。(未在controller中做跳转)

http://localhost:8080/yuanlairuciBaseSSM/WebContent/WEB-INF/view/HelloWorld.jsp  直接访问此路径会报404错误。为什么呢?因为WEB-INF目录只对服务端开放,对客户端是关闭的。为了安全需要把一些jsp,html放在WEB-INF目录下。但是,怎么来访问这些页面呢?在controller中跳转到需要访问的WEB-INF中的目录下的文件即可。

2.定义url的拦截形式

2.1 /*:拦截所有的请求(包括视图解析后的jsp,即不能跳转了),不推荐使用

2.2 / :拦截除jsp以外的所有请求,推荐使用

2.3 *.do,*.action:拦截*.do,*.action的请求。

3.在springmvc.xml定义视图解析器

springmvc框架的web.xml和springmvc.xml_第3张图片

3.1扫描类上的controller注解

springmvc框架的web.xml和springmvc.xml_第4张图片

如果包路径出错或未配置此项,则不会将类交给spring管理。此时访问WebContent目录下的jsp可正常访问,访问WEB-INF目录(安全目录)下的jsp会谷歌会报错404(火狐没反应),因为无法根据url和requestmapping中的地址进行匹配,也就无法在controller中跳转至WEB-INF目录下的jsp,即无法访问。

3.2@requestMapping注解(既可作用于类上,也可作用于方法上)

类上:提供初步的请求映射信息。相对于web项目的根目录(WebContent即为web项目的根目录)

./:当前目录;../:上一级目录;../../:上上级目录
方法上: 提供进一步的细分映射信息,相对于类上的URL,若类上未标注@RequestMapping,则方法上标记的URL相对于web目录下的根目录

你可能感兴趣的:(springmvc)