码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Servlet原理及Mapping问题的体现


    1.1Servlet原理

    Servlet是由Web服务器调用,web服务器在收到浏览器请求之后,会:

     1.2Mapping问题

    我们点击web.xml,如下所示:

     1.一个Servlet可以指定一个映射路径

    1. hello
    2. /hello

     2.一个Servlet可以指定多个映射路径

    1. hello
    2. /hello
    3. hello
    4. /hello2
    5. hello
    6. /hello3
    7. hello
    8. /hello4
    9. hello
    10. /hello5

    我们运行之后进行查看:

     我们发现,我们选择不同的路径,都是可以进入到这个页面的。

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

    我们将通配符*运用到路径里面来进行查看效果:

    1. hello
    2. /hello/*

    之后我们重新运行之后,出现无论hello后面的路径是什么,都可以进入该界面:

    只写一个hello也可以进入该界面。

    4.默认请求路径

    1. <--默认请求路径-->
    2. hello
    3. /*

    之后我们选择进行重启,如下所示:

    我们通过网址可以看到,我们再进index.jsp了,我们没有进入首页。所以尽量不要这样子去写。

    5.指定一些后缀或者前缀等等.....

    1. hello
    2. *.rgf

    我们重新启动,进入如下所示:

     6.优先级问题(自定义404)

    我们创建一个ErrorServlet:

     之后我们进行编辑该类:

    1. package com.rgf.servlet;
    2. import javax.servlet.ServletException;
    3. import javax.servlet.http.HttpServlet;
    4. import javax.servlet.http.HttpServletRequest;
    5. import javax.servlet.http.HttpServletResponse;
    6. import java.io.IOException;
    7. import java.io.PrintWriter;
    8. public class ErrorServlet extends HttpServlet {
    9. @Override
    10. protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    11. resp.setContentType("text/html");
    12. resp.setCharacterEncoding("utf-8");
    13. PrintWriter writer = resp.getWriter();
    14. writer.print("

      404

      "
      );
    15. }
    16. @Override
    17. protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    18. doGet(req, resp);
    19. }
    20. }

    里面的setContentType在开发者工具里面找到:

    之后,我们编辑web,xml里面的文件:(将该文件添加进去)

    1. error
    2. com.rgf.servlet.ErrorServlet
    3. error
    4. /*

    我们运行之后如下所示:

     我们判断看后面加hello最后进入哪个页面:

    我们发现hello也属于/*,但是我们进入hello的界面。

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

  • 相关阅读:
    品优购项目案例制作需要注意的内容笔记
    【VS编译报错:错误 1 error MSB6006: “cmd.exe”已退出,代码为 1。】
    计算机网络学习笔记——运输层(b站)
    葡聚糖-生物素,Dextran-Biotin|生物素,硅烷,丙烯酸酯,硫辛酸,甲苯磺酸酯,氨甲基,硝基苯碳酸盐修饰葡聚糖
    Ubuntu下命令行解析
    嵌入式系统设计与应用---ARM处理器体系结构(学习笔记)
    Springboot错误ASM ClassReader failed
    打开 druid 监控报错Sorry, you are not permitted to view this page.
    MFC 模态对话框的实现原理
    JAVA:实现N Queens 皇后问题算法(附完整源码)
  • 原文地址:https://blog.csdn.net/weixin_59448049/article/details/126316726
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号