「这是我参与2022首次更文挑战的第27天,活动详情查看:2022首次更文挑战」。
2.请求的处理过程
1)执行servlet的service()
protected void service(HttpServletRequest request, HttpServletResponse response)
protected void doService(HttpServletRequest request, HttpServletResponse response)
DispatcherServlet.doDispatch(request, response){
调用MyController的.doSome()方法
}
doDispatch:springmvc中DispatcherServlet的核心方法, 所有的请求都在这个方法中完成的。
没有加入注解驱动标签时的状态
org.springframework.http.converter.ByteArrayHttpMessageConverter org.springframework.http.converter.StringHttpMessageConverter org.springframework.http.converter.xml.SourceHttpMessageConverter org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter
加入注解驱动标签时的状态
org.springframework.http.converter.ByteArrayHttpMessageConverter org.springframework.http.converter.StringHttpMessageConverter org.springframework.http.converter.ResourceHttpMessageConverter org.springframework.http.converter.ResourceRegionHttpMessageConverter org.springframework.http.converter.xml.SourceHttpMessageConverter org.springframework.http.converter.support.AllEncompassingFormHttpMessageConverter org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter org.springframework.http.converter.json.MappingJackson2HttpMessageConverter
=====================================================================
发起的请求是由哪些服务器程序处理的。
http://localhost:8080/ch05_url_pattern/index.jsp :tomcat(jsp会转为servlet) http://localhost:8080/ch05_url_pattern/js/jquery-3.4.1.js : tomcat http://localhost:8080/ch05_url_pattern/images/p1.jpg : tomcat http://localhost:8080/ch05_url_pattern/html/test.html: tomcat http://localhost:8080/ch05_url_pattern/some.do : DispatcherServlet(springmvc框架处理的)
tomcat本身能处理静态资源的访问, 像html, 图片, js文件都是静态资源
tomcat的web.xml文件有一个servlet 名称是 default , 在服务器启动时创建的。
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>/</url-pattern> 表示静态资源和未映射的请求都这个default处理
</servlet-mapping>
default这个servlet作用:
The default servlet for all web applications, that serves static
resources. It processes all requests that are not mapped to other
servlets with servlet mappings (defined either here or in your own
web.xml file).
1.处理静态资源
2.处理未映射到其它servlet的请求。
===================================================================
在jsp , html中使用的地址, 都是在前端页面中的地址,都是相对地址
地址分类:
1.绝对地址 , 带有协议名称的是绝对地址, www.baidu.com , ftp://202.122.23.1
2.相对地址, 没有协议开头的, 例如 user/some.do , /user/some.do
相对地址不能独立使用,必须有一个参考地址。 通过参考地址+相对地址本身才能指定资源。
张三同学, 1班有张三, 2班也有张三