jsp内置对象

目录

 

jsp内置对象

作用域

内置对象request

内置对象resonpse

内置对象session(会话)

内置对象out


jsp内置对象

对象名

类型

request

javax.servlet.http.HttpServletRequest 

response

javax.servlet.http.HttpServletResponse 

session

javax.servlet.http.HttpSession

out

javax.servlet.jsp.JspWriter 

application

javax.servlet.ServletContext

exception

java.lang.Throwable

pageContext

javax.servlet.jsp.PageContext

config

javax.servlet.ServletConfig 

page

java.lang.Object

作用域

九个内置对象中有四个作用域:application、session、request、page。作用域即这个对象的生命周期的范围。

application:全局作用范围,整个应用程序共享,就是在部署文件中的同一个webApp共享,生命周期为:应用程序启动到停止。
session:会话作用域,当用户首次访问时,产生一个新的会话,以后服务器就可以记住这个会话状态。生命周期:会话超时,或者服务器端强制使会话失效。
request:请求作用域,就是客户端的一次请求。
page:一个JSP页面。
以上作用范围使越来越小, request和page的生命周期都是短暂的,他们之间的区别就是:一个request可以包含多个page页(include,forward以及filter)。

 

内置对象request

类型:Javax.servlet.http.HttpServletRequest

描述:来自客户端的请求经Servlet容器处理后,由request对象进行封装。注:客户端和服务器的一次通信就是一次请求(发送请求或得到相应)。

作用域:request。说明,这次请求结束后,它的生命周期就结束了。

重要方法:

getParameter(key) 获取提交表单的数据

getParameterValues(key) 获取提交表单的一组数据,数组形式

request.getRequestDispatcher("xxx.jsp").forward(request,response) 转发(通过代码的方式进行转发)

request.setAttribute(key,object) 设置请求对象的属性

request.gettAttribute(key) 获取请求对象的属性

request.setCharacterEncoding("UTF-8") 对请求数据重新编码(Tomcat默认编码为:iso8859-1 )

 

内置对象resonpse

类型:Javax.servlet.http. HttpServletResponse

描述:它封闭了JSP 的响应,然后被发送到客户端以响应客户的请求。

作用域:page

重要方法:

response.sendRedirect("页面"):页面重定向。注意,之前的forward是转发,这里是重定向,注意区分。

response.setCharacterEncoding("utf-8"):设置响应编码

注意,response.sendRedirect("xxx.jsp")这个方法,是实现页面重定向,而不是转发。

 

内置对象session(会话)

类型:Javax.servlet.http.HttpSession

描述:表示一个会话,用来保存用户信息,以便跟踪每个用户的状态。(不要用来保存业务数据,request)

定义:是指在一段时间内客户端和服务器之间的一连串的相关的交互过程。

作用域:session。

如果是第一次接触“会话”这个概念,需要重复一下。说白了,客户端与服务器之间可能需要不断地进行数据交互(请求与相应),这个过程就可以理解为一段会话。Tomcat默认的会话时间为30分钟,这段时间内如果没有交互,会话结束;下次客户端一旦发送请求,重新创建会话。当客户端第一次发送请求的时候,才会创建一个会话。session的生命周期比request长

重要方法:

session.getid():取得session的id号.id由tomcat自动分配。

session.isnew():判断session时候是新建的

session.setAttribute(key,object):往当前会话中设置一个属性

session.getAttribute(key):获取当前会话中的一个属性

session.removeAttribute(key):删除当前会话中的属性

session.setMaxInactiveInterval(1000*60*30):设置当前会话失效时间(ms) 。Tomcat默认的会话时间为30分钟。

session.invalidate():初始化当前会话对象(一般在退出系统的时候使用,可以删除当前会话的数据)

会话结束的条件:

服务器关闭

会话过期(一段会话时间默认为30分钟)

手动终止会话

 

内置对象out

类型:Javax.servlet.jsp.JspWriter

作用:主要用来向客户端输出数据

作用域:page。也就是说,每个页面都有一个自己的out对象。

重要方法:print()/println()/write()    向客户端页面输出数据

举例:out.write("文字内容")

在这里,我们可以这样理解,一个Jsp文件编译之后就是一个类,而out就对应一个页面对象。

### RT-DETRv3 网络结构分析 RT-DETRv3 是一种基于 Transformer 的实时端到端目标检测算法,其核心在于通过引入分层密集正监督方法以及一系列创新性的训练策略,解决了传统 DETR 模型收敛慢和解码器训练不足的问题。以下是 RT-DETRv3 的主要网络结构特点: #### 1. **基于 CNN 的辅助分支** 为了增强编码器的特征表示能力,RT-DETRv3 引入了一个基于卷积神经网络 (CNN) 的辅助分支[^3]。这一分支提供了密集的监督信号,能够与原始解码器协同工作,从而提升整体性能。 ```python class AuxiliaryBranch(nn.Module): def __init__(self, in_channels, out_channels): super(AuxiliaryBranch, self).__init__() self.conv = nn.Conv2d(in_channels, out_channels, kernel_size=3, padding=1) self.bn = nn.BatchNorm2d(out_channels) def forward(self, x): return F.relu(self.bn(self.conv(x))) ``` 此部分的设计灵感来源于传统的 CNN 架构,例如 YOLO 系列中的 CSPNet 和 PAN 结构[^2],这些技术被用来优化特征提取效率并减少计算开销。 --- #### 2. **自注意力扰动学习策略** 为解决解码器训练不足的问题,RT-DETRv3 提出了一种名为 *self-att 扰动* 的新学习策略。这种策略通过对多个查询组中阳性样本的标签分配进行多样化处理,有效增加了阳例的数量,进而提高了模型的学习能力和泛化性能。 具体实现方式是在训练过程中动态调整注意力权重分布,确保更多的高质量查询可以与真实标注 (Ground Truth) 进行匹配。 --- #### 3. **共享权重解编码器分支** 除了上述改进外,RT-DETRv3 还引入了一个共享权重的解编码器分支,专门用于提供密集的正向监督信号。这一设计不仅简化了模型架构,还显著降低了参数量和推理时间,使其更适合实时应用需求。 ```python class SharedDecoderEncoder(nn.Module): def __init__(self, d_model, nhead, num_layers): super(SharedDecoderEncoder, self).__init__() decoder_layer = nn.TransformerDecoderLayer(d_model=d_model, nhead=nhead) self.decoder = nn.TransformerDecoder(decoder_layer, num_layers=num_layers) def forward(self, tgt, memory): return self.decoder(tgt=tgt, memory=memory) ``` 通过这种方式,RT-DETRv3 实现了高效的目标检测流程,在保持高精度的同时大幅缩短了推理延迟。 --- #### 4. **与其他模型的关系** 值得一提的是,RT-DETRv3 并未完全抛弃经典的 CNN 技术,而是将其与 Transformer 结合起来形成混合架构[^4]。例如,它采用了 YOLO 系列中的 RepNCSP 模块替代冗余的多尺度自注意力层,从而减少了不必要的计算负担。 此外,RT-DETRv3 还借鉴了 DETR 的一对一匹配策略,并在此基础上进行了优化,进一步提升了小目标检测的能力。 --- ### 总结 综上所述,RT-DETRv3 的网络结构主要包括以下几个关键组件:基于 CNN 的辅助分支、自注意力扰动学习策略、共享权重解编码器分支以及混合编码器设计。这些技术创新共同推动了实时目标检测领域的发展,使其在复杂场景下的表现更加出色。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值