zoukankan      html  css  js  c++  java
  • Servlet 02 ----【javaweb-05】

    SERVLET

    1、Servlet原理

      客户端发送请求至服务器;服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器;服务器将响应返回客户端。下面就让我用一张原理图来展示一下吧。
      

    2、Servlet的映射

      我们需要将内容响应给浏览器时,我们需要使用到映射。在一般的maven项目中,都会有一个web.xml的文件,我们将在其中使用mapper映射即可响应给浏览器。(在Servlet 01的展示中,我们同样也是用到了mapper,才让浏览器展示出内容)

      具体代码:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
                          http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
             version="4.0"
             metadata-complete="true">
    
      <!--  注册servlet-->
      <servlet>
        <servlet-name>hello</servlet-name>
        <servlet-class>com.charles.servlet.HelloServlet</servlet-class>
      </servlet>
    
      <!--  servlet的请求路径-->
      <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>/hello</url-pattern>
      </servlet-mapping>
    </web-app>

    注册和请求路径缺一不可,其中servlet-name 和 url-pattern是自定义的,但是请求路径和注册的servlet-name要一一对应。

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

    <!--404-->
    <servlet>
        <servlet-name>error</servlet-name>
        <servlet-class>com.kuang.servlet.ErrorServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>error</servlet-name>
        <url-pattern>/*</url-pattern> <!-- 默认的请求路径 -->
    </servlet-mapping>

    2. 可以自定义后缀实现请求映射:

    <!--注意点,*前面不能加项目映射的路径-->
    
    <servlet-mapping>
        <servlet-name>hello</servlet-name>
        <url-pattern>*.charles</url-pattern>
    </servlet-mapping>

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

        <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>/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>
        <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello4</url-pattern>
        </servlet-mapping>
        <servlet-mapping>
            <servlet-name>hello</servlet-name>
            <url-pattern>/hello5</url-pattern>
        </servlet-mapping>
  • 相关阅读:
    5.Hibernate实现全套增删改查和ajax异步分页
    3、Hibernate三态间的转换
    0. Java开发中的23种设计模式详解(转)
    4、Hibenrate中HQL的10中查询方式
    1.Hibernate框架核心组件 (转自冯岩)
    VB 进制转换大全
    详解 CSS 属性
    HTML5开发规范
    在 Windows 7 環境安裝 Python 2.6.6
    IBM开发者 JSON 教程
  • 原文地址:https://www.cnblogs.com/Charles-H/p/Learning_Web_05.html
Copyright © 2011-2022 走看看