Servlet工作原理

Servlet工作原理

1、浏览器、Web服务器、Servlet之间的关系

Servlet是由Web服务器调用的,当Web服务器收到浏览器的请求后会:

Servlet工作原理

2、Mapping(请求映射路径)

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

    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping>
    
  2. 一个Servlet可以指定多个映射路径

    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello</url-pattern>
    </servlet-mapping> 
    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping> 
    <servlet-mapping>
        <servlet-name>helloServlet</servlet-name>
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping> 
    
  3. 一个Servlet可以指定通配映射路径

    <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>/hello/*</url-pattern>
        </servlet-mapping>
    
  4. 默认请求路径(会覆盖webapp下的index.jsp不建议使用)

     <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    
  5. 指定一些前缀或后缀

    <!--可以自定义后缀实现映射
    注:*前不能加映射的路径否则服务器启动会报错
    如:hello/*.zhang
    -->
        <servlet-mapping>
            <servlet-name>helloServlet</servlet-name>
            <url-pattern>*.zhang</url-pattern>
        </servlet-mapping>
    
  6. 优先级问题

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

    <!--自定义404-->
        <servlet>
            <servlet-name>ServletError</servlet-name>
            <servlet-class>com.zhang.servlet.ErrorServlet</servlet-class>
        </servlet>
        <servlet-mapping>
            <servlet-name>ServletError</servlet-name>
            <url-pattern>/*</url-pattern>
        </servlet-mapping>
    
    
    
上一篇:.NET Core项目找不到包


下一篇:关于javaweb中Servlet程序web.xml的记忆