JavaWeb——Servlet原理

Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会:
JavaWeb——Servlet原理_第1张图片

Mapping问题

1.一个Servlet可以指定一个映射路径

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

2.一个Servlet可以指定多个映射路径

  <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping>

3.一个Servlet可以指定通用映射路径

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello/* 
    

4.默认映射路径
一般不用,因为它优先级最高

<servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/* 
    

5.指定一些后缀或者前缀

<!--    可以自定义后缀请求映射  ".do"为自定义的后缀
        注意点:*前不能加项目映射路径,即不能加/
-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.do</url-pattern>
    </servlet-mapping>

6.优先级问题
指定了固有的映射路径优先级最高,如果找不到就会走默认的处理请求

<!--    注册Servlet
            servlet-class:注册哪个类,写全限定名(包名+类名)
-->
    <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.kuang.servlet.HelloServlet</servlet-class>
    </servlet>
<!--    Servlet的请求路径
            url-pattern:请求的路径
-->
<!--    可以自定义后缀请求映射  ".do"为自定义的后缀
        注意点:*前不能加项目映射路径,即不能加/
-->
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>error</servlet-name>
        <servlet-class>com.kuang.servlet.ErrorServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>error</servlet-name>
        <url-pattern>/*
    

即我们进入默认路径http://localhost:8080时进入ErrorServlet对应的页面
当我们输入http://localhost:8080/hello时进入HelloServlet对应的页面

你可能感兴趣的:(javaweb,JavaWeb)