当前位置: 首页 > news >正文

第五周作业、第一次作业(1.5个小时)、练习一

一、创建servlet的过程没有太多好说的,唯一需要注意的就是:旧版本的servlet确实需要手动配置web.xml文件,但是servlet2.5以后,servlet的配置直接在Java代码中进行注解配置。我用的版本就不再需要手动去配置web.xml文件了,所以我只是简单查阅了一下资料,看了一下书上的过程。

对于老师的问题,我的理解是:

<servlet> 标签内的内容主要是配置servlet类和路径,用来声明一个servlet对象。而<servlet_mapping>标签则是起一个检验作用,用于检验客户访问路径与配置路径是否一致,若一致则转到我们已经创建的servlet上处理。

 

 

二、servlet API常用的接口和类

1、servlet接口:

方法说明
public void init(ServletConfig config)servlet实例化后,servlet容器调用此方法来完成初始化工作
public void service(ServletRequest request,ServletResponse response)此方法用于处理客户端的请求
public void destroy()当servlet对象应该从servlet容器中移除时,容器调用此方法,以便于释放资源
public ServletConfig getServlet Config()此方法用于获取servlet对象的配置信息,返回servletConfig对象
public String getServletInfo()此方法但会有关servlet的信息,他是纯文本格式的字符串,如作者、版本等

2、servletConfig接口:封装了servlet的配置信息,在servlet初始化期间被传递。

方法说明
public String getInitParameter(String name)此方法返回String类型名称为name的初始化参数值
public Enumeration getInitParameterNames()获取所有初始化参数名的枚举集合
public ServletContext getServletContext()获取servlet上下文对象
public String getServletName()返回Servlet对象的实例名

3、HttpServletRequest接口

方法说明
public String getContextPath()返回请求的上下文路径
public Cookie[] getCookies()返回请求中发送的所有cookie对象,返回值为cookie数组
public String getMethod()返回请求所使用的http类型

public String getQueryString()

返回请求中参数的字符串形式
public String getRequestURI()返回主机名到请求参数之间部分的字符串形式
public StringBuffer getRequest URL()返回请求的URL,不包含请求的参数
public String getServletPath()返回请求URI中的servlet路径的字符串,不包含请求中的参数信息
public HttpSession getSession()返回与请求关联的HTTP Session对象

尝试:

 

 

相关文章:

第五周作业、第一次作业(1.5个小时)、练习一

一、创建servlet的过程没有太多好说的&#xff0c;唯一需要注意的就是&#xff1a;旧版本的servlet确实需要手动配置web.xml文件&#xff0c;但是servlet2.5以后,servlet的配置直接在Java代码中进行注解配置。我用的版本就不再需要手动去配置web.xml文件了&#xff0c;所以我只…...

【正点原子FPGA连载】 第三十三章基于lwip的tftp server实验 摘自【正点原子】DFZU2EG_4EV MPSoC之嵌入式Vitis开发指南

第三十三章基于lwip的tftp server实验 文件传输是网络环境中的一项基本应用&#xff0c;其作用是将一台电子设备中的文件传输到另一台可能相距很远的电子设备中。TFTP作为TCP/IP协议族中的一个用来在客户机与服务器之间进行文件传输的协议&#xff0c;常用于无盘工作站、路由器…...

蓝桥冲刺31天之316

如果生活突然向你发难 躲不过那就迎面而战 所谓无坚不摧 是能享受最好的&#xff0c;也能承受最坏的 大不了逢山开路&#xff0c;遇水搭桥 若你决定灿烂&#xff0c;山无遮&#xff0c;海无拦 A&#xff1a;特殊日期 问题描述 对于一个日期&#xff0c;我们可以计算出年份的各个…...

说一个通俗易懂的PLC工程师岗位要求

你到了一家新的单位&#xff0c;人家接了一套新的设备&#xff0c;在了解设备工艺流程之后&#xff0c;你就能决定用什么电气元件&#xff0c;至少95%以上电气原件不论你用过没用过都有把握拍板使用&#xff0c;剩下5%&#xff0c;3%你可以先买来做实验&#xff0c;这次不能用&…...

今年还能学java么?

“Java很卷”、“大家不要再卷Java了”&#xff0c;经常听到同学这样抱怨。但同时&#xff0c;Java的高薪也在吸引越来越多的同学。不少同学开始疑惑&#xff1a;既然Java这么卷&#xff0c;还值得我入行吗&#xff1f; 首先先给你吃一颗定心丸&#xff1a;现在选择Java依然有…...

ajax学习1

不刷新页面的情况下&#xff0c;向服务端发送请求&#xff0c;异步的js和XMLajax不是新的编程语言&#xff0c;只是把现有标准组合到一起使用的新方式...

一题多解-八数码(万字长文)

16 张炜皓 (ζ͡顾念̶) LV 5 1 周前 在做这道题前&#xff0c;先来认识一下deque双端队列 C STL 中的双端队列 题目连接 使用前需要先引入 头文件。 #include; STL 中对 deque 的定义 // clang-format off template< class T, class Allocator std::allocator class d…...

九种跨域方式实现原理(完整版)

前言 前后端数据交互经常会碰到请求跨域&#xff0c;什么是跨域&#xff0c;以及有哪几种跨域方式&#xff0c;这是本文要探讨的内容。 一、什么是跨域&#xff1f; 1.什么是同源策略及其限制内容&#xff1f; 同源策略是一种约定&#xff0c;它是浏览器最核心也最基本的安…...

fighting

目录Mysqlgroup by和 distinct哪个性能好java觉得Optional类怎么样isEmpty和isBlank的用法区别使用大对象时需要注意什么内存溢出和内存泄漏的区别及详解SpringResource和Autowired的起源既生“Resource”&#xff0c;何生“Autowired”使用Autowired时为什么Idea会曝出黄色警告…...

网络安全日志监控管理

内部安全的重要性 无论大小&#xff0c;每个拥有IT基础设施的组织都容易发生内部安全攻击。您的损失等同于黑客的收益&#xff1a;访问机密数据、滥用检索到的信息、系统崩溃&#xff0c;以及其他等等。专注于网络外部的入侵是明智的&#xff0c;但同时&#xff0c;内部安全也…...

线程池的使用:如何写出高效的多线程程序?

目录1.线程池的使用2.编写高效的多线程程序Java提供了Executor框架来支持线程池的实现&#xff0c;通过Executor框架&#xff0c;可以快速地创建和管理线程池&#xff0c;从而更加方便地编写多线程程序。 1.线程池的使用 在使用线程池时&#xff0c;需要注意以下几点&#xff…...

React 架构流程概览

React 架构流程概览 文章目录React 架构流程概览启动React项目流程分析各部分解析调度器协调器渲染器总结启动React项目 启动项目&#xff0c;并打开 Performance 面板 流程分析 首先找到入口函数 整个 render 下面的调用栈就是首屏渲染要执行的流程。 render 过程大致分为…...

【Linux】进程管理之kill、killall、pkill

一、kill 命令 Linux 中的 kill 命令用来终止指定的进程的运行&#xff0c;是 Linux 下进程管理的常用命令。通常&#xff0c;终止一个前台进程可以使用 CtrlC 键&#xff0c;但是&#xff0c;对于一个后台进程就须用 kill 命令来终止&#xff0c;那就需要先使用 ps、pidof、ps…...

LSTM从入门到精通(形象的图解,详细的代码和注释,完美的数学推导过程)

先附上这篇文章的一个思维导图什么是RNN按照八股文来说&#xff1a;RNN实际上就是一个带有记忆的时间序列的预测模型RNN的细胞结构图如下&#xff1a;softmax激活函数只是我举的一个例子&#xff0c;实际上得到y<t>也可以通过其他的激活函数得到其中a<t-1>代表t-1时…...

19.特殊工具与技术

文章目录特殊工具与技术19.1控制内存分配19.1.1重载new和deleteoperator new接口和operator delete接口malloc函数与free函数19.1.2定位new表达式显式的析构函数调用19.2运行时类型识别(run-time type identification, RTTI)19.2.1dynamic_cast运算符指针类型的dynamic_cast引用…...

518. 零钱兑换 II ——【Leetcode每日一题】

518. 零钱兑换 II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 3…...

django DRF请求访问频率限制

Django REST framework&#xff08;DRF&#xff09;提供了一个throttle_classes属性&#xff0c;可以用于限制API的访问频率。它可以防止恶意用户发送大量请求以消耗服务器资源。使用throttle_classes属性&#xff0c;需要在settings.py中配置REST_FRAMEWORK&#xff1a;REST_F…...

二分查找创新性总结

LeetCode题目 704.二分查找35.搜索插入位置69.x 的平方根367.有效的完全平方数34.在排序数组中查找元素的第一个和最后一个位置 二分查找适用范围 可随机访问的数据结构数据已经有序要查找的值只有一个 上述的前四题都可直接使用二分查找&#xff0c;第五题要求查找上限和下限&…...

Java Web 实战 13 - 多线程进阶之 synchronized 原理以及 JUC 问题

文章目录一 . synchronized 原理1.1 synchronized 使用的锁策略1.2 synchronized 是怎样自适应的? (锁膨胀 / 升级 的过程)1.3 synchronized 其他的优化操作锁消除锁粗化1.4 常见面试题二 . JUC (java.util.concurrent)2.1 Callable 接口2.2 ReentrantLock2.3 原子类2.4 线程池…...

【解决】elementui ——tooltip提示在循环中点击一个,同时显示多个的问题!

同时显示多个tooltip——效果图&#xff1a; 点击第一个二维码把循环el-card中所有的tooltip都触发了 解决后效果图&#xff1a; 只显示点击的当前tooltip 解决办法&#xff1a; 通过循环item中定义字段&#xff0c;进行控制tooltip显示隐藏 代码&#xff1a; 页面代码&am…...

Void编辑器:轻量级插件化架构与LSP/Tree-sitter深度集成解析

1. 项目概述&#xff1a;一个为“创造者”而生的现代编辑器最近在开发者社区里&#xff0c;一个名为“Void”的编辑器项目引起了我的注意。它不像那些我们耳熟能详的庞然大物&#xff0c;比如 VS Code 或 Sublime Text&#xff0c;一上来就带着庞大的生态和复杂的功能。Void 给…...

ARMv8地址转换机制与TCR_EL2寄存器详解

1. ARMv8地址转换机制概述在ARMv8架构中&#xff0c;地址转换是连接虚拟地址空间和物理内存的核心机制。这种转换通过多级页表结构实现&#xff0c;允许操作系统和hypervisor灵活地管理内存资源。作为系统程序员&#xff0c;理解这个机制的工作原理对开发高效可靠的系统软件至关…...

Void Memory:为AI智能体构建持久记忆的轻量级解决方案

1. 项目概述&#xff1a;为AI智能体构建持久记忆的“记忆锚”如果你和我一样&#xff0c;长期与Claude Code、Cursor这类AI编程助手并肩作战&#xff0c;一定对那个令人沮丧的瞬间不陌生&#xff1a;你花了半小时向它详细解释了一个复杂项目的架构、你的编码偏好、刚刚踩过的坑…...

有一种同事,领导再信任也要小心提防

◆你好。 职场上有这么一类人&#xff0c;他们精于伪装&#xff0c;表面上能力出众、忠心耿耿&#xff0c;实则暗地里拉帮结派、打压异己&#xff0c;甚至一步步架空领导。 这种人最可怕的地方在于&#xff0c;他们往往深得领导信任&#xff0c;成为团队里的"红人"。…...

前端自定义光标系统:从原理到工程实践

1. 项目概述&#xff1a;一个可深度定制的网页光标系统最近在做一个前端项目时&#xff0c;遇到了一个挺有意思的需求&#xff1a;用户希望网页上的光标不仅仅是默认的箭头或小手&#xff0c;而是能根据不同的交互状态、页面区域甚至用户偏好&#xff0c;动态切换成各种自定义的…...

星期天实训内容

文章目录 1、测试代码照片2、流水灯视频2.1 测试代码2.1 视频 3、独立按键视频&#xff08;点亮4个灯&#xff09;3.1 代码3.2 视频 4、独立按键视频&#xff08;点亮8个灯&#xff09;5、数码管显示“000000”或者“111111”6、数码管显示“123456”7、数码管显示“11.12.13”…...

AI原生代码审查实战手册(2026奇点大会闭门报告首次解禁)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生代码审查&#xff1a;2026奇点智能技术大会Code Review新范式 在2026奇点智能技术大会上&#xff0c;AI原生代码审查&#xff08;AI-Native Code Review&#xff09;正式取代传统人工规则引擎混合…...

别再手动翻译了!用Python的googletrans库5分钟搞定批量文件翻译(附实战代码)

用Python自动化批量翻译&#xff1a;googletrans实战进阶指南 当你面对上百页的外文文档需要翻译时&#xff0c;是否还在复制粘贴到网页翻译工具&#xff1f;作为开发者&#xff0c;我们完全可以用Python的googletrans库构建自动化翻译流水线。本文将带你超越基础的单句翻译&am…...

Go语言服务网格负载均衡策略

Go语言服务网格负载均衡策略 1. 负载均衡算法 package loadbalancetype LoadBalancer interface {Select([]string) string }type RoundRobin struct {index intmu sync.Mutex }func NewRoundRobin() *RoundRobin {return &RoundRobin{} }func (r *RoundRobin) Select(e…...

RPGMZ 战斗结束 移除死亡的角色 并且显示一个消息框 然后结束战斗

个人记录保存 Project1论坛 小圈子 人才 不得学习我的技术 1. BattleManager.endBattle 不论是战斗失败 胜利 逃跑 都会走这个敌方 我们在这里显示我们的消息框 下面这段代码就是战斗结束 移除死亡的队员 并且显示一个消息框的代码功能 经过测试有效 const _BattleManager_…...