JavaWeb08(Servlet原理)

1 Servlet是由Web服务器调用的,Web服务器在收到浏览器请求之后的具体流程
在这里插入图片描述

2Mapping问题
1)一个Servlet请求可以指定一个映射路径

<!--Servlet映射路径(请求路径)-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

2)一个Servlet请求可以指定多个映射路径

<!--Servlet映射路径(请求路径)-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello1</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping>

在这里插入图片描述

3)一个Servlet请求可以指定通用映射路径

<!--Servlet映射路径(请求路径)-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello/*</url-pattern>
    </servlet-mapping>

在这里插入图片描述
4)可以自定义后缀实现请求映射

<!--Servlet映射路径(请求路径)-->
<!--注意点:*前面不能加映射路径-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

在这里插入图片描述
3优先级问题
制定了固有的映射路径优先级最高,如果找不到,再走默认处理(通配符)

<!--Servlet映射路径(请求路径)-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
<!--注册Servlet2 ErrorServlet-->
    <servlet>
        <servlet-name>error</servlet-name>
        <servlet-class>com.hao.servlet.ErrorServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>error</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_51224492/article/details/117536012