JSP内置对象之session application page pageContext config exception

STM32F103+LAN9252实战:从站代码迁移中的5个硬件坑与解决方案 本文分享了将EtherCAT从站代码从STM32F767迁移至STM32F103平台时,搭配LAN9252遇到的五个典型硬件问题及解决方案。核心挑战包括时钟源不匹配、FSMC时序配置、中断映射错误、片选资源不足以及Flash烧录异常。文章通过实战经验,强调了硬件差异对代码迁移的关键影响,并提供了具体的调试思路与配置方法。 阅读详情

一、什么是session
1.session表示客户端与服务器的一次会话
2.Web中的session指的是用户在浏览某个网站时,从进入网站到浏览器关闭所经过的这段时间,也就是用户浏览这个网站所花费的时间
3.从上述定义中可以看出,session实际上是一个特定的时间概念
4.在服务器的内存中保存着不同用户的session

session对象:
(1)session对象是一个JSP内置对象,session对象在第一个JSP页面被装载时自动创建,完成会话期管理。
(2)从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。
(3)当一个客户访问一个服务器时,可能会在服务器的几个页面之间切换,服务器应当通过某种方法知道这是一个客户,就需要session对象
(4)session对象是HttpSession类的实例。

session对象常用方法如下:

long getCreationTime() 返回session创建时间
public String getId() 返回session创建时JSP引擎为它设的唯一ID号
public Object setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话
public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定,则返回null
String getValueNames() 返回包含此session所有可用属性的数组
int getMaxInactiveInterval() 返回两次请求间隔多长时间此session被取消(单位秒)

session的生命周期
1.创建:
当客户端第一次访问某个JSP或者Servlet时候,服务器会为当前的会话创建一个sessionId,每次客户端向服务端发送请求时,都会将此sessionId携带过去,服务端对为此sessionId进行校验。
2.活动:
(1)某次会话当中通过超链接打开的新页面属于同一会话
(2)只要当前会话页面没有全部关闭,重新打开新的浏览器窗口访问同一项目资源时属于同一次回话。
(3)除非本次会话的所有页面都关闭后再重新访问某个JSP或Servlet将会创建新的会话。
注意:注意原会话还存在,只是这个旧的sessionId虽存在于服务端,只不过再也没有客户端会携带它然后交予服务端校验。
3.销毁:
session的销毁有三种情况:
(1)调用了session.invalidate()方法
(2)sessionn的过期(超时)
(3)服务器重新启动
示例代码:

session_page1.jsp:
  <body>
    <h1>session内置对象</h1>
    <hr>
    <%
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
        Date d = new Date(session.getCreationTime());
        session.setAttribute("username", "admin");
        session.setAttribute("password", "123456");
        session.setAttribute("age", 20);
        //设置当前session最大生成期限单位秒
        session.setMaxInactiveInterval(5);
     %>
    session创建时间:<%=sdf.format(d) %><br>
    session的ID号:<%=session.getId() %><br>
    从session中获取用户名:<%=session.getAttribute("username") %><br>

    <a href="session_page2.jsp" target="_blank">跳转到session_page2.jsp</a>
    <a href="pageContext.jsp" target="_blank">跳转到pageContext.jsp</a>
  </body>
</html>

session_page2.jsp:
  <body>
    <h1>session内置对象2</h1>
    <hr>
    session的ID号:<%=session.getId() %><br>
    从session中获取用户名:<%=session.getAttribute("username") %><br>
    session中保存的属性有:
    <%
        String[] names=session.getValueNames();
        for(int i=0;i<names.length;i++)
        {
            out.println(names[i]+"&nbsp;&nbsp;");
        }
     %>
  </body>

二、application对象:
1.application对象实现了用户间数据的共享,可存放全局变量
2.application开始于服务器的启动,终止于服务器的关闭
3.在用户的前后连接或不同用户的连接中,可以对application的同一属性进行操作。
4.在任何地方对application对象的属性操作,都将影响到其他用户对此的访问。
5.服务器的启动和关闭决定了application对象的生命。
6.application对象是ServletContext类的实例。

常用方法如下:

public void setAttribute(String name,Object value) 使用指定名称将对象绑定到此会话
public Object getAttribute(String name) 返回与此会话中的指定名称绑定在一起的对象,如果没有对象绑定,则返回null
Enumeration getAttributeNames() 返回可用属性名的枚举
String getServerInfo() 返回JSP(Servlet)引擎名和版本号

实例代码:

    <h1>application内置对象</h1>
    <%
        application.setAttribute("city", "北京");
        application.setAttribute("postcode", "10000");
        application.setAttribute("email", "lisi@163.com");
    %>
        所在的城市:<%=application.getAttribute("city") %><br>
    application中的属性有:
    <%
        Enumeration attributes=application.getAttributeNames();
        while(attributes.hasMoreElements())
        {
            out.println(attributes.nextElement()+"&nbsp;&nbsp;&nbsp;");
        }
    %> 
    <br>
    JSP(Servelet)引擎的版本号:<%=application.getServerInfo() %><br>
  </body>

三、page对象:
page对象就是指当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。常用方法如下:

class getClass() 返回此Object的类
int hashCode() 返回此Object的hash码
boolean equals(Object obj) 判断此Object是否与指定的Object对象相等
void copy(Object obj) 把此Object拷贝到指定Object对象中
Object clon() 克隆此Object对象
String toString() 把此Object对象转换成String类型
void notify() 唤醒一个等待的线程
void notifyAll() 唤醒所有等待的线程
void wait(int timeout) 使一个线程处于等待知道timeout结束或被唤醒
void wait() 使一个线程处于等待直到被唤醒

实例代码:

  <body>
    <h1>page内置对象</h1>
     当前page页面的字符串描述为:<%=page.toString() %><br>
  </body>

四、pageContext对象
1.pageContext对象提供了对JSP页面内所有的对象及名字空间的访问
2.pageContext对象可以访问到本页所在的session,也可以取本页面所在的3.application的某一属性
4.pageContext对象相当于页面中所有功能的集大成者
5.pageContext对象本类名也叫pageContext

常用方法如下:

JspWriter getOut() 返回当前客户端响应被使用的JspWriter流(out)
HttpSession getSession() 返回当前页中的session对象(session)
Object getPage() 返回当前页的Object对象(page)
ServletRequest getRequest() 返回当前页的ServletRequest对象(request)
ServletResponse getResponse() 返回当前页的ServletResponse对象(response)
void setAttribute(String name,Object attribute) 设置属性及属性值
Object getAttribute(String name,int scope) 在指定范围内取属性的值
int getAttributeScope(String name) 返回某属性的作用范围
void forward(String relativeUrlPath) 使当前页面重导到另一页面
void include(String relativeUrlPath) 使当前位置包含另一文件

示例代码:

pageContext.jsp:
  <body>
    <h1>pageContext内置对象</h1>
    <hr>
        用户名是:<%=pageContext.getSession().getAttribute("username") %><br>
    <%
        //跳转到注册页面
        //pageContext.forward("reg.jsp");
        pageContext.include("include.jsp");
    %>       
  </body>

include.jsp:
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

Date d=new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
String s = sdf.format(d);
out.println(s+"<br>");
%>

五、config对象
config对象是在一个servlet初始化时,JSP向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServeContext对象),常用方法如下:

ServletContext getServletContext() 返回含有服务器有关信息的ServletContext对象
String getInitParameter(String name) 返回初始化参数的值
Enumeration getInitParameterNames() 返回Servlet初始化所需所有参数的枚举

六、exception对象
exception对象是个异常对象,当一个页面在运行过程中发生了异常,就产生这个对象。如果是一个JSP页面要使用此对象,就必须要把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象,常用的方法如下:

String getMessage() 返回描述异常的消息
String toString 返回关于异常的简短描述信息
void printStackTrace 显示异常及其栈轨迹
Throwable FillInStackTrace() 重写异常的执行栈轨迹

示例代码:

exception.jsp:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" errorPage="doException.jsp"%>
<%--若发生异常,交给doException.jsp处理 --%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'exception.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>

  <body>
    <h1>测试异常</h1>
    <hr>
    <%
        out.println(100/0);//抛出运行时异常,算数异常
     %>
  </body>
</html>

doexception.jsp:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" isErrorPage="true"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">

    <title>My JSP 'doException.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

  </head>

  <body>
    <h1>exception内置对象</h1>
    <hr>
        异常消息是:<%=exception.getMessage() %><br>
        异常的字符串描述:<%=exception.toString() %>
  </body>
</html>

注意:在抛出异常的页面添加errorPage=”doException.jsp”说明处理异常的页面,在处理异常的页面添加isErrorPage=”true”,否则无法编译。

基于深度学习的水果新鲜程度检测系统(UI界面 + YOLOv8/v7/v6/v5代码 + 训练数据集) 本文详细介绍了如何使用YOLO系列模型(YOLOv5、YOLOv6、YOLOv7、YOLOv8)构建水果新鲜度检测系统。通过数据集准备、模型训练、推理过程以及UI界面的实现,我们能够构建一个实时检测水果新鲜度的系统。通过本博客,您可以全面了解如何应用深度学习技术解决实际问题,尤其是在智能监控和食品质量检测领域。 阅读详情

相关推荐

ISCE2+MintPy环境搭建实战:用Anaconda五分钟搞定InSAR处理全家桶

本文提供了一份详细的ISCE2+MintPy环境安装教程,旨在帮助InSAR处理初学者快速搭建开发环境。通过使用Anaconda创建虚拟环境并配置国内镜像,用户可在五分钟内一键安装ISCE2和MintPy全家桶,有效解决依赖冲突和版本兼容性问题,让用户能专注于数据处理本身。

2y3u4i5o6p的博客 1003

jsp九大内置对象:request、response、session、application、out、page、pageContext、config、exception...

JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception 1、request对象 request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数...

weixin_30604651的博客 299

Jupyter地铁数据分析预测地铁后7天小时客流量

地铁数据分析 基于八月地铁刷卡数据,以前23天的数据作为训练数据,预测后7天各个地铁站点在6点—23点每个小时的客流量。 import pandas as pd import time import numpy as np import matplotlib.pyplot as plt ...

qq_45868915的博客 1753

04-JSP-内置对象- request、response、pageContext、session、application、out、config、page 和 exception

在 JSP 中,request 对象通常使用 EL 表达式 `${request}` 或隐式对象 `request` 引用,例`${request.getAttribute("name")}`。在 JSP 中,application 对象通常使用 EL 表达式 `${application}` 或隐式对象 `application` 引用。在 JSP 中,session 对象通常使用 EL 表达式 `${session}` 或隐式对象 `session` 引用。

记录java学习日常~ 399

433M遥控器无线解码1527协议

433M遥控器无线解码1527协议,定时器轮询法

weixin_58595117的博客 1万+

[LVGL]:MACOS下使用LVGL模拟器

[LVGL]:MACOS下使用LVGL模拟器

LINKKEEE的博客 2456

JSP常用内置对象:page、pageContext、config、exception

学习目标(常用九大内置对象) out request response page session application pageContext config exception 1、page对象 page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身。相当于JSP编译生成servlet后是servlet类的this对象。从转换后的Servlet类的代码中,可以看到这种关系:Object page = this;在JSP页面实际当中很少用到。

一宿君 2032

分享一下如何使用labelimg制作自己的YOLO数据集

首先准备一下自己的下准备一个空文件夹用于保存标签文件,如下图所示。

skywalkerxhx的博客 831

JSP内置对象:request, reponse, out, session, application, config, pagecontext, page, exception

jsp九种内置对象: request, reponse, out, session, application, config, pagecontext, page, exception.  一.request对象:该对象封装了用户提交的信息,通过调用该对象相应的方法可以获取封装的信息,即使用该对象可以获取用户提交信息。  1.Request对象可以使用getParameter(s

打杂人-aerchi 3560

【PostgreSQL教程】PostgreSQL 高级篇之子查询

子查询也可称为内部查询、嵌套查询,指的是在 PostgreSQL 查询中的 WHERE 子句中嵌入查询语句。一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询可以与 SELECT、INSERT、UPDATE 和 DELETE 语句一起使用,并可使用运算符如 =、、>=、

No8g攻城狮的博客 1206

YOLO11改进-模块-引入多尺度差异融合模块MDFM

MDFM主要用于融合双时相图像特征并生成带有丰富上下文信息的差异特征,其过程包含以下步骤:1. 特征提取与差异特征生成首先从双时相图像中提取特征f1和f2,然后将f1和f2进行像素级别的相减,再对相减结果取绝对值,最后通过一个3x3的卷积操作得到Di。2. 多尺度特征融合(MSFF)接着利用多尺度特征学习机制来增强特征融合效果。该机制通过不同核大小的卷积构建多尺度融合过程,具体是通过一个名为 MSFF 单元来实现的。

qq_64693987的博客 4378

观看慕课老师milanlover视频JSP内置对象session+application+page+pageContext+config+exception

&lt;%@ page language="java" import="java.util." contentType="text/html; charset=utf-8"%&gt; &lt;!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd&quo

蔡姬的博客 217

线程池详解(通俗易懂超级好)

目标 【理解】线程池基本概念 【理解】线程池工作原理 【掌握】自定义线程池 【应用】java内置线程池 【应用】使用java内置线程池完成综合案例 线程池 线程池基础 线程池使用 线程池综合案例 4.学员练习 5.线程池总结 概念介绍 1:什么是线程池 2:为什么使用线程池 3:线程池有哪些优势 什么是池 什么是线程池 线程池其实就是一种多线程处理形式,处理过程中可以将任务添加到队列中,然后在创建线程后自动启动这些任务。这里的线程就是我们前面学过的线程,这里的任务就是我们前面学过的实现了Runna.

拉格朗日的学习笔记 12万+

JSP九大内置对象

虽然现在基本上使用SpringMVC+AJAX进行开发了Java Web了,但是还是很有必要了解一下JSP的九大内置对象的。像request、response、session这些对象,即便使用其他框架也是会经常用到的。因此十分有了解的必要。这些对象可以在JSP页面中调用,而不需要事先定义,这使得JSP编程更加的方便和快捷。其实这些内置对象都对应着某个Servlet类,在JSP被翻译成Servlet之

小宝鸽 2万+

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

jsp内置对象out、request、response、session、application五大常用对象以及Page、pageContext、exception、config

JSP内置对象是Web容器创建的一组对象,不使用new关键字就可以使用的内置对象 <% int[] value={11,22,33}; for(int i:value) { out.println(i); } %>

2397

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

JSP 九大内置对象详解

JSP 九大内置对象详解

weixin_51288065的博客 1215

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

javaweb之jsp的内置九大对象(request,response,out,session,application,pageContext,page,config,exception)的说明应用

四、jsp的九大内置对象 jsp内置对象是指在警示牌页面中不用声明就可以在脚本和表达式中直接使用的对象。 **特点** 内置对象有Web容器自动加载,不需要实例化。 内置对象通过Web容器来管理和实现。 在所有的jsp页面中,直接调用内置对象都是合法的。 (1)request (请求对象) 表示客户端对服务器发出的请求 request内置对象拥有HttpServletRequest接口所有的...

奋斗的哼哼 1083

JSP内置对象及常用方法

Jsp一共定义了9个对象:request、response、session、application、out、pagecontext、config、page、exception 1、request代表 着客户端的请求信息,主要用于接受通过http协议传送到服务器的数据。request对象的作用域为一次请求   常用方法:     Request常用的方法:getParameter(String strTextName) 获取表单提交的信息.     getProtocol() 获取客户使用的协议。

qq_35222843的博客 2129

jsp的九大内置对象

隐式对象 Servlet创建了几个由JSP引擎使用的隐式对象。开发人员不用事先声明就可以使用标准的变量来访问这些对象。JSP提供了9种隐式对象。 一、学习JSP的page 对象 page对象代表JSP本身,更准确地说它代表JSP被转译后的Servlet,它可以调用Servlet类所定义的方法。page对象其实是java.lang.Object类的实例对象,它可以使用Object类的方法,例如

koches的专栏 7986

JSP内置对象和四大作用域

浅谈WEB_JSP内置对象及四大作用域与其相对应的对象之间的关系

✎﹏ℳ๓₯三ོ岁ꦿ会撩人 1万+

JSP九大内置对象的作用和用法总结

JSP全名为Java Server Pages,中文名叫java服务器页面。JSP中一共预先定义了9个这样的对象,分别为:request、response、session、application、out、pagecontext、config、page、exception1、request对象javax.servlet.http.HttpServletRequest request对象代表了客户端的

mao834099514的博客 3万+

JSP—九大内置对象、四大作用域

JSP九大内置对象、四大作用域~

0禾呈0的博客 1142

简述Java Web中JSP九大内置对象

JSP九大内置对象: 内置对象 描述 request 请求对象——HttpServletRequest response 响应对象——HttpServletResponse session 用户会话对象——HttpSession application 应用全局对象——ServletContext out 输出对象——PrintWriter page 当前页面对象——this pageContext 页面上下文对象——PageContext config 应用配置

Turniper的博客 2万+

JSP脚本中的9个内置对象

例JSP脚本中包含9个内置对象, 这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化(由JSP页面对应的Servlet的_jspService()方法来创建这些实例)。也就是说,他们已经是实例对象,可直接使用。9个内置对象依次如下: application:javax.servlet.ServletContext的实例,该实例代表JSP所属的Web应用本身,可用

u014212981的博客 714
上一篇: JSP内置对象之out request response
下一篇: scanf 用法及陷阱(转)
Ce1estial
博客等级 码龄11年 6粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值