码迷,mamicode.com
首页 > 编程语言 > 详细

Servlet 02 ----【javaweb-05】

时间:2020-08-01 21:18:11      阅读:76      评论:0      收藏:0      [点我收藏+]

标签:alt   map   break   自定义   服务器   png   pat   问题:   内容   

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>

 

 

 

Servlet 02 ----【javaweb-05】

标签:alt   map   break   自定义   服务器   png   pat   问题:   内容   

原文地址:https://www.cnblogs.com/Charles-H/p/Learning_Web_05.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!