其他知识点
- 如下配置的DispatchServlet会处理除jsp以外的所有请求(包括静态资源请求)
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
- 静态资源原本是由默认的DefaultServlet处理,但配置了DispatchServlet的
url-pattern
为/
后就失效了,因为DefaultServlet的url-pattern
也是/
,此时浏览器发送的请求会优先被DispatchServlet进行处理,但是DispatchServlet无法处理静态资源,若配置了<mvc:default-servlet-handler/>
,此时浏览器发送的所有请求都会被DefaultServlet处理,若配置了<mvc:default-servlet-handler/>
和<mvc:annotation-driven/>
,浏览器发送的请求会先被DispatchServlet处理,无法处理时再交给DefaultServlet处理
<!--配置默认的servlet处理静态资源-->
<mvc:default-servlet-handler/>
<!--开启mvc的注解驱动-->
<mvc:annotation-driven/>
1
2
3
4
2
3
4
- get请求没有请求体
- 基于maven的java web项目如果打包方式为jar包,则在编译打包的时候会有两个输出文件夹,target文件夹存放着类文件,out文件夹存放webapp中的文件,如果打包方式为war包,那么所有的文件都会在target文件夹下(个人理解),所以之后web项目的打包方式最好是war包
- SpringMVC的IOC容器是在DispatchServlet初始化的时候创建的
- SpringMVC创建出来的容器是Spring创建出来的容器的子容器
- JavaWeb三大组件:监听器Listener、过滤器Filter、Servlet程序,按顺序执行
编辑 (opens new window)
上次更新: 2024/05/30, 07:49:34