Servlet的urlPattern配置及XML配置Servlet

简介: Servlet的urlPattern配置及XML配置Servlet

一、urlPattern配置

Servlet要想被访问,必须配置其访问路径(urlPattern)

1、一个Servlet,可以配置多个urlPattern

@WebServlet(urlPatterns = {"/demo1","demo2"})

2、urlPattern配置规则

① 精确匹配:

配置路径:

@WebServlet ("/user/select")

访问路径:

localhost:8080/web-demo/user/select


代码示例:

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
 * uslPattern
 * 精确匹配
 */
@WebServlet(urlPatterns = "/user/select")
public class ServletDemo8 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("demo8 get...");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
}

运行结果:URL:

35664ff73d66456d893e1292b3da76e3.png

控制台:

b39a99c8064548168d89d19cce8df2cd.png

下面的代码示例运行结果,与以上结果,大同小异,只是配置路径不同。

② 目录匹配:

配置路径:

@WebServlet ("/user/*")

访问路径:

localhost:8080/web-demo/user/aaa
                  localhost:8080/web-demo/user/bbb


代码示例:

/**
 * uslPattern
 * 目录匹配:/user/*
 */
@WebServlet(urlPatterns = "/user/*")
public class ServletDemo9 extends HttpServlet {

③ 扩展名匹配:

配置路径:

@WebServlet ("*.do")

访问路径:

localhost:8080/web-demo/aaa.do
                  localhost:8080/web-demo/bbb.do


代码示例:

/**
 * uslPattern
 * 扩展名匹配:*.do
 */
@WebServlet(urlPatterns = "*.do")
public class ServletDemo10 extends HttpServlet {

④ 任意路径:

配置路径:

@WebServlet ("/")
                  @WebServlet ("/*")

访问路径:

localhost:8080/web-demo/hehe
                  localhost:8080/web-demo/haha


代码示例:

/**
 * uslPattern
 * 任意匹配:/ 及 /*
 */
@WebServlet(urlPatterns = "/")
public class ServletDemo11 extends HttpServlet {

/ 和 /* 区别:

当我们的项目中的Servlet配置了"/",会覆盖调tomcat中的DefaultServlet,当其他的url-pattern都匹配不上时,都会走这个Servlet

当我们的项目配置了"/*",意味着匹配任意访问路径

优先级:

精确路径 > 目录路径 > 扩展名路径 > /* > /

二、XML配置方法编写Servlet

Servlet从3.0版本后开始支持使用注解配置,3.0版本前只支持XML配置文件的配置方法


步骤:

1、编写Servlet类

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
public class ServletDemo12 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("demo12...");
    }
    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    }
}

2、在web.xml中配置该Servlet

<?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">
    <!--
        Servlet 全类名
    -->
    <servlet>
        <servlet-name>demo12</servlet-name>
        <servlet-class>com.itheima.web.request.ServletDemo12</servlet-class>
    </servlet>
    <!--
        Servlet 访问路径
    -->
    <servlet-mapping>
        <servlet-name>demo12</servlet-name>
        <url-pattern>/demo12</url-pattern>
    </servlet-mapping>
</web-app>

执行结果:URL:

6b5204830d7b4c63aa80ae85c428d0b5.png

控制台:

c6d3d9e5b8d94aeba8d68be2069ad128.png

目录
相关文章
|
6天前
|
XML Java 数据格式
Spring容器Bean之XML配置方式
通过对以上内容的掌握,开发人员可以灵活地使用Spring的XML配置方式来管理应用程序的Bean,提高代码的模块化和可维护性。
35 6
|
3月前
|
XML Java 数据格式
Spring IOC—基于XML配置Bean的更多内容和细节(通俗易懂)
Spring 第二节内容补充 关于Bean配置的更多内容和细节 万字详解!
264 18
|
3月前
|
XML Java 应用服务中间件
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
通过一个HelloWorld实例,介绍了SpringMVC的基本概念、执行流程,并详细讲解了如何创建和配置第一个SpringMVC项目(基于XML)。
springMVC01,springMVC的执行流程【第一个springMVC例子(XML配置版本):HelloWorld】
|
2月前
|
XML 分布式计算 资源调度
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(一)
183 5
|
2月前
|
XML 资源调度 网络协议
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
大数据-02-Hadoop集群 XML配置 超详细 core-site.xml hdfs-site.xml 3节点云服务器 2C4G HDFS Yarn MapRedece(二)
158 4
|
2月前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
93 4
|
2月前
|
XML Java 数据格式
手动开发-简单的Spring基于XML配置的程序--源码解析
手动开发-简单的Spring基于XML配置的程序--源码解析
88 0
|
3月前
|
SQL XML Java
mybatis :sqlmapconfig.xml配置 ++++Mapper XML 文件(sql/insert/delete/update/select)(增删改查)用法
当然,这些仅是MyBatis功能的初步介绍。MyBatis还提供了高级特性,如动态SQL、类型处理器、插件等,可以进一步提供对数据库交互的强大支持和灵活性。希望上述内容对您理解MyBatis的基本操作有所帮助。在实际使用中,您可能还需要根据具体的业务要求调整和优化SQL语句和配置。
70 1
|
4月前
|
XML Android开发 UED
"掌握安卓开发新境界:深度解析AndroidManifest.xml中的Intent-filter配置,让你的App轻松响应scheme_url,开启无限交互可能!"
【8月更文挑战第2天】在安卓开发中,scheme_url 通过在`AndroidManifest.xml`中配置`Intent-filter`,使应用能响应特定URL启动或执行操作。基本配置下,应用可通过定义特定URL模式的`Intent-filter`响应相应链接。
125 12
|
4月前
|
Shell Android开发
安卓scheme_url调端:在AndroidManifest.xml 中如何配置 Intent-filter?
为了使Android应用响应vivo和oppo浏览器的Deep Link或自定义scheme调用,需在`AndroidManifest.xml`中配置`intent-filter`。定义启动的Activity及其支持的scheme和host,并确保Activity可由外部应用启动。示例展示了如何配置HTTP/HTTPS及自定义scheme,以及如何通过浏览器和adb命令进行测试,确保配置正确无误。