HttpServlet

  • 父pom.xml
    <modules>
        <module>servlet-01</module>
    </modules>
  • 子pom.xml
  <parent>
    <artifactId>javaweb-001-servlet</artifactId>
    <groupId>com.zzqsmile</groupId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <modelVersion>4.0.0</modelVersion>

  <artifactId>servlet-01</artifactId>
  <packaging>war</packaging>


......
    <servlet>
        <servlet-name>hello1</servlet-name>
        <servlet-class>com.zzqsile.servlet.HelloServlet</servlet-class>
    </servlet>

    <!--    servlet请求路径-->
    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello1</url-pattern>
    </servlet-mapping>
......
package com.zzqsile.servlet;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;

public class HelloServlet extends HttpServlet {

    //由于get/post只是请求实现的不同方式,可以相互调用,业务逻辑都一样

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter writer = resp.getWriter();  //响应流
        writer.println("hello servlet ");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        doGet(req, resp);
    }
}

配置Tomcat

图片.png
图片.png

启动

http://localhost:8082/s1/

图片.png

访问http://localhost:8082/s1/hello1

图片.png

Mapping问题

一个servlet可以配置多个路径

<!--    servlet请求路径-->
    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello1</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello2</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello3</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello4</url-pattern>
    </servlet-mapping>

    <servlet-mapping>
        <servlet-name>hello1 </servlet-name>
        <url-pattern>/hello/*</url-pattern>
    </servlet-mapping>
  • 可以自定义后缀实现请求映射

注意点: *前面不能加项目映射的路径

<servlet-mapping>
        <servlet-name>hello1</servlet-name>
        <url-pattern>*.zzqsmile</url-pattern>
    </servlet-mapping>
  • 优先级

固有的路径优先级最高

<servlet-mapping>
        <servlet-name>error</servlet-name>
        <url-pattern>/*</url-pattern>
    </servlet-mapping>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,288评论 19 139
  • 项目:Ubuntu--eclipse--springbootInstance1 学习路线图: SpringBoot...
    月明星稀_8184阅读 372评论 1 0
  • 1. 目标 了解springcloud是什么 如何实现springcloud基本功能 如何将springcloud...
    浅时光_love阅读 356评论 0 2
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 47,010评论 6 342
  • 1. Spring Boot简介 Spring Boot的设计目的是用来简化新Spring应用的初始搭建以及开发过...
    皇天阅读 503评论 0 2