初次接触springmvc,在使用过程中对前端控制器有点迷茫,现在记录下来。

  1. 前端控制器本质上是一个servlet,遵循servlet规则
    servlet规则如下:
  • servlet只针对WEB-INF/ 文件下的内容进行处理,不处理与WEB-INF/ 同级的目录
  • 也就是说WEB-INF/ 才属于servlet
  • servlet的拦截顺序如下
<servlet-mapping>
		<servlet-name>crm</servlet-name>
		<url-pattern>*.action</url-pattern>
</servlet-mapping>

①首先如果访问url不存在对应<url-pattern>映射时候,返回404
②如果配置了<url-pattern>/</url-pattern>,则称为缺省servlet;访问url不存在时候,跳转到该url下
③配置路径分为3种:(顺序如下,只匹配最近的一种)
精确匹配<url-pattern>/abc</url-pattern>
最长路径匹配<url-pattern>/abc/*</url-pattern>
扩展名匹配<url-pattern>*.do</url-pattern>

2.而/WebContent下的文件,也就是WEB-INF/之外的文件,前端控制器不进行处理,也就是可以直接访问。
一般index.jsp、静态文件,都存在这。