教你快速上手Servlet(四)
教你快速上手Servlet(四)
一、Web.xml配置
<!-- 配置一个servlet -->
<!-- servlet的配置 -->
<servlet>
<!-- servlet的内部名称,自定义。尽量有意义 -->
<servlet-name>Servlet</servlet-name>
<!-- servlet的类全名: 包名+简单类名 -->
<servlet-class>kun.kun.servlet.Servlet</servlet-class>
</servlet>
<!-- servlet的映射配置 -->
<servlet-mapping>
<!-- servlet的内部名称,一定要和上面的内部名称保持一致!! -->
<servlet-name>Servlet</servlet-name>
<!-- servlet的映射路径(访问servlet的名称) -->
<url-pattern>/kun</url-pattern>
</servlet-mapping>
二、tomcat启动流程
1、简介
tomcat服务器启动时,首先加载webapps中的每个web应用的web.xml配置文件
2、参数
(1)http://: http协议
(2)localhost: 到本地的hosts文件中查找是否存在该域名对应的IP地址
(3)8080: 找到tomcat服务器的对应端口号
(4)/kun 在tomcat的webapps目录下找 kun的目录
(5)/kun 资源名称
3、流程
(1)在kun的web.xml中查找是否有匹配的url-pattern的内容(/kun)
(2)如果找到匹配的url-pattern,则使用当前servlet-name的名称到web.xml文件中查询是否相同名称的servlet配置
(3)如果找到,则取出对应的servlet配置信息中的servlet-class内容
(4)通过反射,构造Servlet的对象,然后调用Servlet里面的方法
三、映射路径
1、url-pattern
url-pattern要么以 / 开头,要么以*开头
2、模糊匹配
不能同时使用两种模糊匹配,例如 /kun/*.do是非法路径
3、URL匹配
当有输入的URL有多个servlet同时被匹配的情况下:
(1)精确匹配优先
(2)以后缀名结尾的模糊url-pattern优先级最低
四、缺省路径
1、简介
servlet的缺省路径(<url-pattern>/</url-pattern>
)是在tomcat服务器内置的一个路径。该路径对应的是一个DefaultServlet(缺省Servlet),这个缺省的Servlet的作用是用于解析web应用的静态资源文件。
2、流程
1)到当前kun应用下的web.xml文件查找是否有匹配的url-pattern。
2)如果没有匹配的url-pattern,则交给tomcat的内置的DefaultServlet处理
3)DefaultServlet程序到kun应用的根目录下查找是存在一个名称为index.html的静态文件。
4)如果找到该文件,则读取该文件内容,返回给浏览器。
5)如果找不到该文件,则返回404错误页面。