java的jsp的九大内置对象详解以及cookie对象的详解
2021/6/1 20:21:35
本文主要是介绍java的jsp的九大内置对象详解以及cookie对象的详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
九大内置对象
一.什么是JSP内置对象
JSP内置对象百度百科详解
- JSP内置对象是Web容器创建的一组对象
JSP的内置对象是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显式声明即可使用。
在JSP页面中,可以通过存取JSP内置对象实现与JSP页面和Servlet环境的相互访问。每个内部对象均有对应所属的ServletAPI类型。
二、JSP内置对象组成
JSP内置对象包括request对象、response对象、session对象、out对象、application对象、page对象、exception对象、pageContext对象、config对象。这些对象在客户端和服务器端交互的过程中分别完成不同的功能。
三、JSP内置对象的特点
JSP的内置对象主要有以下特点:
- 1、由JSP规范提供,不用编写者实例化;
- 2、通过Web容器实现和管理;
- 3、所有JSP页面均可使用;
- 4、只有在脚本元素的表达式或代码段中才可使用(
<%=使用内置对象%>
或<%使用内置对象%>
)
四、JSP内置对象的分类
按照内置对象的功能来划分,可以分为以下四类:
- 1、输出输入对象:request对象、response对象、out对象;
- 2、通信控制对象:pageContext对象、session对象、application对象;
- 3、Servlet对象:page对象、config对象;
- 4、错误处理对象:exception对象。 [3]
详解out内置对象
Out对象
Out对象是javax.servlet.jsp.JspWriter类的实例。主要用于向客户端浏览器输出数据。
out对象的作用
如何在JSP页面中输出信息?
- <%=信息内容%>
- out.println(信息内容);或out.print(信息内容);
示例:
效果:
out对象的常用方法
out对象是向客户端输出内容常用的对象
注意:
但是,浏览器目前不识别println()写入的换行符,如果希望浏览器显示换行,应当向浏览器写入 < br>来实现换行
out对象的实例
out对象各种方法的使用
out对象缓冲区自动刷新设置
详解request内置对象
request对象的作用
如何将页面上的动态信息提交给服务器?
- 动态信息包括:用户名、密码
- 页面提交后,显示输出的数据
request对象的常用方法
request对象主要用于封装客户端的请求信息
常用方法:
方法名 | 描述 |
---|---|
object getAttribute() | 返回指定属性的属性值 |
Enumeration getAttributeNames() | 返回所有可用属性名的枚举 |
String getParameter() | 返回指定参数的参数值 |
Enumeration getParameterNames() | 返回所有可用参数名的枚举 |
String [] getParameterValues() | 返回包含参数的所有值的数组 |
void setAttribute() | 设置属性的属性值 |
String getMethod() | 返回提交方式 |
request对象的实例
页面显示:
取得请求信息:
页面显示:
请求转发
地址栏地址不改变,是服务器内部的一次改变
实例:
页面显示:
中文乱码处理:
get方式:
post方式:
tomcat设置
详解response内置对象
response对象的作用
- response对象用于响应客户请求并向客户端返回信息
response对象的常用方法
response对象的示例
重定向
获取不到上一个request域定义的值
详解session内置对象
-
什么是会话?
- 一个会话就是浏览器与服务器之间的一次通话
- 一个会话就是浏览器与服务器之间的一次通话
-
为什么使用会话?
- HTTP协议
- 无状态,无连接
- 无状态,无连接
- HTTP协议
session对象的作用及原理
session原理:
session对象的原理在于,服务器可以为客户端创建并维护一个session对象,用于存放数据。在创建session对象的同时,服务器将会为该session对象产生一个唯一编号sessionID
。服务器以cookie的方式将sessionID存放在客户端。当浏览器再次访问该服务器时,会将sessionID作为Cookie信息带到服务器,服务器可以通过该sessionID检索到以前的session对象,并对其进行访问。
注意:cookie中仅仅保存了一个sessionID
,而相对较多的会话数据保存在服务器端对应的session对象中,由服务器来统一维护,这样一定程度保证了会话数据安全性,但增加了服务器端的内存开销。
如下图所示:
URL重写技术跟踪session
如果用户关闭了cookie的使用,还想保存session状态的话,必须使用url重写的技术。也就是在url地址中加入sessionid,以方便保存信息
session对象的有效期
- 发现下面四种情况之一,session将失效
session对象主要用于在一次会话中保存信息
session对象的常用方法
session的常用方法
方法名 | 描述 |
---|---|
String getId() | 返回session创建时的唯一ID号 |
long getCreationTime() | 返回session创建的时间 |
long getLastAccessedTime() | 返回此session的最近一次的请求时间 |
void invalidate() | 取消session,使session失效 |
object getAttribute() | 从session对象中提取指定的对象 |
void setAttribute() | 将对象添加到session对象中 |
void removeAttribute() | 从session中删除指定的对象 |
void setMaxInactiveInterval() | 设置session对象的生存时间 |
boolean isNew() | 判断是否是一个新的用户 |
session对象的示例
代码示例:
<body> <%session.setMaxInactiveInterval(10);%> id:<%=session.getId()%><br> session的创建时间:<%=session.getCreationTime()%><br> 最近一次访问时间:<%=session.getLastAccessedTime()%><br> 对网页无操作,session最大有效期:<%=session.getMaxInactiveInterval()%><br> <%=session.getAttribute("USERS")%> </body>
效果:
id:AAF1BD078D1DCF56CC853837C577287E session的创建时间:1622538233954 最近一次访问时间:1622538298449 对网页无操作,session最大有效期:10 null
session修改session超时时间
在tomcat下的web.xml文件下的
<session-config> <session-timeout>30</session-timeout> </session-config>
默认三十分钟
详解application内置对象
application对象的作用及原理
application的作用:
application对象实现了用户间数据的共享,可存放全局变量
application对象的常用方法
application的常用方法
方法名 | 描述 |
---|---|
Object getAttribute() | 从application中取得指定的对象 |
void setAttritute() | 往application中保存指定的对象 |
String getRealPath() | 返回指定虚拟路径的真实路径 |
void removeAttribute() | 从application中删除指定的对象 |
String getServerInfo() | 返回JSP(SERVLET)引擎名及版本号 |
application对象的示例
- 统计网站访问次数的实现
详解exception内置对象
exception对象的作用
exception 对象是专门负责处理JSP在执行过程中出现的异常问题的。
但要注意 exception 对象一般要和page 指令一起配合使用,只有在异常处理页面(在页面指令里有isErrorPage=true的页面)中才可以使用,把 JSP 文件执行时所有发生的错误和异常都集中到异常处理页面去进行处理。
这不仅提高了系统的统一性,程序流程也变得更加简单清晰。
exception对象的方法
方法名 | 描述 |
---|---|
String getMessage() | 返回描述异常的信息 |
String toString() | 返回关于异常的简短描述信息 |
void printStackTrace() | 显示异常及其栈轨迹 |
Throwable FilllnStackTrace() | 重写异常单的执行栈轨迹 |
exception对象的示例
<%-- Created by IntelliJ IDEA. User: 吕兴利 Date: 2021/6/1 Time: 13:28 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>Title</title> </head> <body> <form method="post" action="ex2.jsp"> <input name="number" type="text"> <input type="submit" value="提交"> </form> </body> </html>
<%-- Created by IntelliJ IDEA. User: 吕兴利 Date: 2021/6/1 Time: 13:28 To change this template use File | Settings | File Templates. --%> <%@ page contentType="text/html;charset=UTF-8" language="java" isErrorPage="true" %> <html> <head> <title>Title</title> </head> <body> <% int number=0; try { String strNumber=(String) request.getParameter("number"); number=Integer.parseInt(strNumber); }catch (NumberFormatException n){ throw new NumberFormatException("你输入的文本不是数字!"); } %> <% out.print("你输入的数字是"+number); %> </body> </html>
详解page内置对象
page对象的作用
page是java.lang.Object类的一个实例,它指的是JSP实现类的实例,也就是说,它是JSP本身。
相当于JSP编译生成servlet后是servlet类的this对象。实际当中很少用到。
page对象的示例
<body> 相当于this对象<% out.print(page.toString()); %> </body>
效果:
相当于this对象org.apache.jsp.page1_jsp@6f8551d3
详解config内置对象
config对象的作用
config 对象代表当前JSP 配置信息,但JSP 页面通常无须配置,因此也就不存在配置信息。
该对象在JSP 页面中非常少用,但在Servlet 则用处相对较大。
因为Servlet 需要配置在web.xml 文件中,可以指定配置参数。
详解pageContext内置对象
pageContext对象的作用
pageContext对象提供了对JSP页面所有的对象的访问,pageContext对象的方法可以访问除本身以外的8个JSP内部对象。
pageContext对象相当于JSP程序中所有对象功能的集成者。但其他的8个内置对象也都可以直接访问,所以pageContext对象应用较少。
一个图解释:
至此九大内置对象就结束了
对象的作用域
范围的分类
page作用域
page作用域指本JSP页面的范围
- pageContext.setAttribute(键,值)
- pageContext.getAttribute(键)
request作用域
- request作用域内的对象则是与客户端的请求绑定在一起
session作用域
- session对象作用域:一次对话
application作用域
- application的作用域:面对整个Web应用程序
JSP内置对象及作用域
cookie
cookid的简介
- cookie是Web服务器保存在客户端的一系列文本信息
- cookie的作用
- 对特定对象的追踪
- 统计网页浏览次数
- 简化登录
- 安全性能
- 容易信息泄露
cookie语法
- 创建cookie对象
Cookie newCookie = new Cookie(String key,Object value);
- 写入cookie
response.addCookie(newCookie);
- 读取cookie
Cookie[] cookies = request.getCookies();
cookie对象的常用方法
- cookie对象的常用方法
方法名称 | 说明 |
---|---|
void setMaxAge(int expiry) | 设置cookie的有效期,以秒为单位 |
void setValue(String value) | 在cookie创建后,对cookie进行赋值 |
String getName() | 获取cookie的名称 |
String getValue() | 获取cookie的值 |
String getMaxAge() | 获取cookie的有效时间,以秒为单位 |
这篇关于java的jsp的九大内置对象详解以及cookie对象的详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-26消息中间件源码剖析教程
- 2024-11-26JAVA语音识别项目资料的收集与应用
- 2024-11-26Java语音识别项目资料:入门级教程与实战指南
- 2024-11-26SpringAI:Java 开发的智能新利器
- 2024-11-26Java云原生资料:新手入门教程与实战指南
- 2024-11-26JAVA云原生资料入门教程
- 2024-11-26Mybatis官方生成器资料详解与应用教程
- 2024-11-26Mybatis一级缓存资料详解与实战教程
- 2024-11-26Mybatis一级缓存资料详解:新手快速入门
- 2024-11-26SpringBoot3+JDK17搭建后端资料详尽教程