JSP总结
JSP总结文章目录JSP总结一.jsp工作原理和生命周期二.jsp内置对象三.incude指令和include行为四.jsp作用域五.cookie和session一.jsp工作原理和生命周期工作原理执行过程以hello.jsp为例把 hello.jsp转译为hello_jsp.javahello_jsp.java 位于d:\tomcat\work\Catalina\localhost_\org\apache\jsphello_jsp.java是一个servlet把hello_jsp.java编译为hello_jsp.class执行hello_jsp生成html通过http协议把html 响应返回给浏览器生命周期二.jsp内置对象JSP有9个内置对象request封装客户端的请求其中包含来自GET或POST请求的参数response封装服务器对客户端的响应pageContext通过该对象可以获取其他对象session封装用户会话的对象application封装服务器运行环境的对象out输出服务器响应的输出流对象configWeb应用的配置对象pageJSP页面本身相当于Java程序中的thisexception封装页面抛出异常的对象。参考博客JSP九大内置对象七大动作三大指令三.incude指令和include行为include指令JSP可以通过include指令来包含其他文件。被包含的文件可以是JSP文件、HTML文件或文本文件。包含的文件就好像是该JSP文件的一部分会被同时编译执行。 语法格式如下% include file文件相对 url 地址 %include动作jsp:include动作元素用来包含静态和动态的文件。该动作把指定文件插入正在生成的页面。语法格式如下jsp:include page相对 URL 地址 flushtrue /还是不懂举个例子通过前面知道JSP最后会被转译成Servlet,假如在一个hello.jsp中引入另外一个foot.jsp页面如果是指令include%include filefooter.jsp %footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中最后只会生成一个hello_jsp.java文件footer.jsp的内容会被插入到 hello.jsp 转译 成的hello_jsp.java中最后只会生成一个hello_jsp.java文件如果是动作includejsp:include pagefooter.jsp /footer.jsp的内容不会被插入到 hello.jsp 转译 成的hello_jsp.java中还会有一个footer_jsp.java独立存在。hello_jsp.java 会在服务端访问footer_jsp.java,然后把返回的结果嵌入到响应中。footer.jsp的内容不会被插入到 hello.jsp 转译 成的hello_jsp.java中还会有一个footer_jsp.java独立存在。 hello_jsp.java 会在服务端访问footer_jsp.java,然后把返回的结果嵌入到响应中。四.jsp作用域JSP有4个作用域分别是pageContext当前页面通过pageContext.setAttribute(key,value)的数据只能在当前页面访问在其他页面就不能访问了。requestContext一次请求常用写法是request.setAttribute(name,fjh);request.getAttribute(name)sessionContext当前会话sessionContext 指的是会话从一个用户所以页面间传递数据也是可以通过session传递的。与requestContext类似的也可以用如下方式来做pageContext.setAttribute(name,gareen,pageContext.SESSION_SCOPE);pageContext.getAttribute(name,pageContext.SESSION_SCOPE)applicationContext全局所有用户共享applicationContext 指的是全局代表与整个Web应用程序相关的对象和属性它实质上是跨越整个Web应用程序包括多个页面、请求和会话的一个全局作用域在JSP中使用application对象 application对象是也可以通过 request.getServletContext()来获取。application映射的就是web应用本身。ServletContext接口的实例所以 application request.getServletContext() 会返回true与requestContext类似的也可以用如下方式来做pageContext.setAttribute(name,fjh,pageContext.APPLICATION_SCOPE);pageContext.getAttribute(name,pageContext.APPLICATION_SCOPE)五.cookie和sessioncookie的运用场景有的网站登陆的时候会有记住密码选项一周内或者一个月内保持登陆状态。如果你选了那么一周之内都不需要再输入账号密码。这个功能就是靠cookie来实现的什么是cookieCookie是一种浏览器和服务器交互数据的方式。Cookie是由服务器端创建但是不会保存在服务器。创建好之后发送给浏览器。浏览器保存在用户本地。下一次访问网站的时候就会把该Cookie发送给服务器。创建cookie:Cookie c new Cookie(“name”, “fjh”);创建一个cookie,名字是name 值是fjhc.setMaxAge(24 * 60 * 60);表示这个cookie可以保留一天如果是0表示浏览器一关闭就销毁c.setPath(/);Path表示访问服务器的所有应用都会提交这个cookie到服务端如果其值是 /a, 那么就表示仅仅访问 /a 路径的时候才会提交 cookieresponse.addCookie©;通过response把这个cookie保存在浏览器端获取cookie:Cookie[] cookies request.getCookies();什么是session?Session对应的中文翻译是会话。会话指的是从用户打开浏览器访问一个网站开始无论在这个网站中访问了多少页面点击了多少链接都属于同一个会话。 直到该用户关闭浏览器为止都属于同一个会话考虑这个场景fjh到健身房去练胸肌首先领了钥匙然后进了更衣间把衣服裤子手机钱包都放在盒子里面。plw也到健身房去练翘臀。首先领了钥匙然后 进了更衣间把衣服裤子手机《Java 21天从入门到精通》也放在了一个盒子里但是这个盒子是和fjh的是不同的。健身房就相当于服务器盒子就是会话Session。切换到我们常见的购物网站的场景plw登陆天猫之后在购物车里看到的物品是蜡烛和皮鞭fjh登陆天猫之后在购物车里看到的物品是手铐和《Java 21天从入门到精通》是不是很清楚了cookie和session又有什么关系获取区别呢ookie 和 Session都是用来跟踪浏览器用户身份的会话方式但是两者的应用场景不太一样。Cookie 一般用来保存用户信息比如①我们在 Cookie 中保存已经登录过得用户信息下次访问网站的时候页面可以自动帮你登录的一些基本信息给填了②一般的网站都会有保持登录也就是说下次你再访问网站的时候就不需要重新登录了这是因为用户登录的时候我们可以存放了一个 Token 在 Cookie 中下次登录的时候只需要根据 Token 值来查找用户即可(为了安全考虑重新登录一般要将 Token 重写)③登录一次网站后访问网站其他页面不需要重新登录。Session 的主要作用就是通过服务端记录用户的状态。典型的场景是购物车当你要添加商品到购物车的时候系统不知道是哪个用户操作的因为 HTTP 协议是无状态的。服务端给特定的用户创建特定的 Session 之后就可以标识这个用户并且跟踪这个用户了。Cookie 数据保存在客户端(浏览器端)Session 数据保存在服务器端。Cookie 存储在客户端中而Session存储在服务器上相对来说 Session 安全性更高。如果使用 Cookie 的一些敏感信息不要写入 Cookie 中最好能将 Cookie 信息加密然后使用到的时候再去服务器端解密。回到健身房的储物柜这一段fjh和plw都有自己的盒子那么他们怎么知道哪个盒子是自己的呢通过钥匙就能找到自己的盒子了。盒子对应服务器上的Session。钥匙对应浏览器上的Cookie摘引how2j

相关新闻

EDA 工程师竞业锁定、空窗 2 年:合规赚钱完整方案(零违约风险,杜绝赔付违约金)

EDA 工程师竞业锁定、空窗 2 年:合规赚钱完整方案(零违约风险,杜绝赔付违约金)

EDA 工程师竞业锁定、空窗 2 年:合规赚钱完整方案(零违约风险,杜绝赔付违约金)先确立核心法理底线: 竞业限制禁止三类行为(无论全职 / 兼职 / 外包 / 顾问 / 项目合作)入职存在实质竞争关系的 E…

2026/7/28 18:22:10 阅读更多 →
加载jar包中的Properties文件

加载jar包中的Properties文件

通过类加载器获取文件URL通过UrlConnection获取输入流将输入流转化为Properties类输出文件内容以下是输出SpringJar包中所有spring.factories文件内容的程序。Testpublic void getAllMetaInf()throws IOException {//Spring的接口实现类的名字都放在这个文件内,并不…

2026/7/28 18:22:10 阅读更多 →
attention代码

attention代码

s计算score的方式有以下几种:import torch class Attn(nn.module):def __init__(self, method ,hidden_size):super(Attn, self).__init__()self.method methodself.hidden_size hidden_sizeif self.method not in [dot, general, concat]:raise ValueError(self.…

2026/7/28 18:22:10 阅读更多 →

最新新闻

6岁患儿临床试验离世后:仇子龙Nature论文事件

6岁患儿临床试验离世后:仇子龙Nature论文事件

一则国际顶刊调查报道,揭开一场罕见病个体化基因编辑人体试验的悲剧;紧随其后,学术博主公开质疑相关《Nature》论文数据存在异常。上海交通大学医学院仇子龙团队 CHD3 碱基编辑研究事件,同时牵动人体临床试验伦理监管、学术论文数…

2026/7/28 18:32:13 阅读更多 →
for in

for in

var x var mycars new Array() mycars[0] “Saab” mycars[1] “Volvo” mycars[2] “BMW” for (x in mycars) { document.write(mycars[x] “”) }

2026/7/28 18:32:13 阅读更多 →
axure原型的使用

axure原型的使用

当我们开始学编程的时候,可以先了解一下axure,axure原型的使用可以让我们直观的了解我们的设计意图,接下来总结一下axure。 一、认识axure 1.元件(三大部分) 公共元件:box、h1-h3、image、label等 表单&…

2026/7/28 18:32:13 阅读更多 →
DamaiHelper:从手动抢票到智能掌控,你的演唱会门票管家

DamaiHelper:从手动抢票到智能掌控,你的演唱会门票管家

DamaiHelper:从手动抢票到智能掌控,你的演唱会门票管家 【免费下载链接】damaihelper 支持大麦网,淘票票、缤玩岛等多个平台,演唱会演出抢票脚本 项目地址: https://gitcode.com/gh_mirrors/dam/damaihelper 你是否曾经历过…

2026/7/28 18:32:13 阅读更多 →
聊一聊 .NET 的 AssemblyLoadContext 可插拔程序集

聊一聊 .NET 的 AssemblyLoadContext 可插拔程序集

聊一聊 .NET 的 AssemblyLoadContext 可插拔程序集 引言:程序集加载的痛点在传统的 .NET Framework 时代,应用程序域(AppDomain)提供了程序集隔离的能力,但它的使用较为复杂,且性能开销较大。到了 .NET Co…

2026/7/28 18:32:13 阅读更多 →
LangChain → AgentExecutor → LangGraph 的演进脉络

LangChain → AgentExecutor → LangGraph 的演进脉络

LangGraph 构建于 LangChain 之上,能极大简化智能体(Agent)与智能体运行时(Agent Runtime)的开发工作。 那么智能体和智能体运行时究竟指什么? 在 LangChain 中,我们对智能体的定义是&#xff1…

2026/7/28 18:31:13 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻