2022.5.7 Mapping问题

Mapping问题

1      <!--ervlet的请求路径-->
2      <servlet-mapping>
3          <!--与注册的名字一致-->
4          <servlet-name>hello</servlet-name>
5          <!--路径-->
6          <url-pattern>/hello</url-pattern>
7      </servlet-mapping>
复制代码
 1      <!--Servlet的请求路径-->
 2      <servlet-mapping>
 3          <!--与注册的名字一致-->
 4          <servlet-name>hello</servlet-name>
 5          <!--路径-->
 6          <url-pattern>/hello</url-pattern>
 7      </servlet-mapping>
 8      <!--前端请求hello就会走注册的类-->
 9      
10      <servlet-mapping>
11          <servlet-name>hello</servlet-name>
12          <url-pattern>/hello2</url-pattern>
13      </servlet-mapping>
14 15      <servlet-mapping>
16          <servlet-name>hello</servlet-name>
17          <url-pattern>/hello3</url-pattern>
18      </servlet-mapping>
复制代码
  • 一个Servlet可以指定通用映射路径 *通配符

1      <!--ervlet的请求路径-->
2      <servlet-mapping>
3          <!--与注册的名字一致-->
4          <servlet-name>hello</servlet-name>
5          <!--路径-->
6          <url-pattern>/hello/*</url-pattern>
7      </servlet-mapping>
  • 默认请求路径:直接走Tomcat请求

1  <servlet-mapping>
2      <servlet-name>hello</servlet-name>
3      <url-pattern>/*</url-pattern>
4  </servlet-mapping>
  • 指定一些后缀或者前缀等等.... 后缀必须是自己指定的才能进入

注意:*前不能有路径 错误: /hello/ *.xing

http://localhost:8080/s1/jkaldjflakjdlf.xing

http://localhost:8080/s1/hello/jkaldjflakjdlf.xing 后缀是xing就可以

1  <servlet-mapping>
2      <servlet-name>hello</servlet-name>
3      <url-pattern>*.xing</url-pattern>
4  </servlet-mapping>

自己设置404网页

复制代码
 1  package com.xing.servlet;
 2  3  import javax.servlet.ServletException;
 4  import javax.servlet.http.HttpServlet;
 5  import javax.servlet.http.HttpServletRequest;
 6  import javax.servlet.http.HttpServletResponse;
 7  import java.io.IOException;
 8  import java.io.PrintWriter;
 9 10  public class ErrorServlet extends HttpServlet {
11      @Override
12      protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
13          resp.setContentType("text/html");
14          resp.setCharacterEncoding("utf-8");
15 16          PrintWriter pw = resp.getWriter();
17          pw.print("<h1>404</h1>");
18      }
19 20      @Override
21      protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
22          doGet(req, resp);
23      }
24  }
复制代码

复制代码
 1  <?xml version="1.0" encoding="UTF-8"?>
 2  <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 3           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4           xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
 5                        http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
 6           version="4.0"
 7           metadata-complete="true">
 8  9      <servlet>
10          <servlet-name>hello</servlet-name>
11          <servlet-class>com.xing.servlet.HelloServlet</servlet-class>
12      </servlet>
13      <servlet-mapping>
14          <servlet-name>hello</servlet-name>
15          <url-pattern>/hello</url-pattern>
16      </servlet-mapping>
17    
18      <servlet>
19          <servlet-name>error</servlet-name>
20          <servlet-class>com.xing.servlet.ErrorServlet</servlet-class>
21      </servlet>
22      <servlet-mapping>
23          <servlet-name>error</servlet-name>
24          <!-- 默认网址 /*  乱输入的网址会走默认的网页-->
25          <url-pattern>/*</url-pattern>
26      </servlet-mapping>
27 28  </web-app>
复制代码

posted @   暴躁C语言  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示