JSP(Java Server Pages)内置对象
request对象
(1)访问请求参数
处理HTTP请求中的各项参数。在这些参数中,最常用的就是获取访问请求参数。当通过超链接的形式发送请求时,可以为该请求传递参数,这可以通过在超链接的后面加上问好“?”来实现,例如如下的例子,发送一个请求到delete.jsp页面,并传递一个名称为id的参数:
改页面的作用是在文件中添加一个用于链接到deal.jsp页面的超链接,并传递两个参数。
通过request对象的getParameter()方法获取请求参数id,user,pwd并输出,对于不存在的参数返回null。
(2)在作用域中管理属性
在进行请求时,需要把一些数据传递到转发后的页面进行处理。这时就需要使用request对象的setAttribute()方法将数据保存到request范围内的变量中。
name:变量名,String类型,在转发后的页面取数据时,就是根据这个变量名来获取数据。
object:用于指定需要在request范围内传递的数据,为Object类型
在数据保存到request范围内的变量中后,可以通过request对象的getAttribute()方法获取变量的值:
例如如下例子
(3)获取cookie
cookie是小段的文本信息,在网络服务器上生成并发送给浏览器。通过使用cookie可以标识用户身份,记录用户名和密码,跟踪重复用户。浏览器将cookie以key/value的形式保存到客户机的指定目录中。
例如,通过cookie保存并读取用户登录信息:
(4)解决中文乱码问题
有时请求参数的文字编码方式与页面中的不一致会导致乱码问题,因为所有的request请求都是ISO-8859-1的,而有时页面采用的是UTF-8的编码方式。要解决此问题,学好英语的方法只要将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确的显示出中文信息。例如:
response对象
response对象用于响应客户的请求,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。response对象在JSP页面内有效。
(1)重定向网页
使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。重定向操作支持将地址重定向到不同的主机上,这点不同于转发(<
jsp:forward>)。在客户端上将会得到跳转的地址,并重新发送请求连接。进行重定向操作后,request中的属性全部失效,并开始一个新的request对象。
默认执行的是index.jsp界面,在index.jsp界面中调用response对象的setRedirect()方法重定向页面到用户登录界面login.jsp。
(2)处理HTTP文件头
禁用缓存
设置页面自动刷新
使网页每隔10秒刷新一次
定时网页跳转
session对象
session在网络中称为会话。由于HTTP请求是一种无状态请求,当一个客户向服务器发出请求,服务器接收请求,并返回响应,该链接就结束了,而服务器并不保存相关信息。为了弥补这一缺点,HTTP协议提供了session。通过session可以在应用程序的Web页面间进行跳转,保存用户的状态,使整个用户会话一直存在下去,知道关闭浏览器。GPA但是,在一个会话中,客户端穿长时间不向服务器发出请求,session对象就会自动消失。Request
是在一次请求范围,Session
是在一次会话中,也就是说,你从一开始进入页面到你离开页面时,都属于一次会话当中,也就是说它的作用范围比Request要广,你在任何页面都可以用session.getAttribute(“values”);得到values的值!
通过session对象可以存储或读取客户相关的信息。可以通过setAttribute()方法和getAttribute()方法实现。例如:
在index.jsp界面提供输入用户名文本框
在session.jsp界面中,将用户在index.jsp页面中输入的用户名保存在session对象中,并为用户提供用于添加最想去的地址的文本框
在result.jsp页面中,实现显示用户输入的用户名与最喜欢去的地方
application对象
application对象用于保存所用应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有的用户都可以共享application对象。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。
JSP(Java Server Pages)内置对象的更多相关文章
- JSP - (Java Server Pages) - Java服务器界面
JSP简介: 在HTML中嵌入Java脚本代码,由应用服务器中的JSP引擎来编译和执行嵌入的Java脚本代码,然后将生成的整个页面信息返回给客户端: 一个JSP页面包含:静态内容(HTML静态文本), ...
- jsp(java server pages):java服务器端的页面
jsp(java server pages):java服务器端的页面 JSP的执行过程1.浏览器输入一个jsp页面2.tomcat会接受*.jsp请求,将该请求发送到org.apache.jasper ...
- 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法
今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...
- Jsp (Java Server Pages)相关知识九大内置对象和四大作用域
一.初识JSP Jsp页面的组成:静态内容.指令.表达式.小脚本.声明.标准动作.注释等元素构成 Url:统一资源定位符 Url组成:协议.主机名(包括端口号).路径 1.注释的方式: 1.HTML注 ...
- JSP中的Java代码和内置对象
一.JSP中的Java代码 (一)JSP页面中有三种方式嵌入java代码: 1.java的表达式 格式:<%= java表达式 %> 2.java的语句 格式:<% java语句&g ...
- Java Web学习总结(16)——JSP的九个内置对象
一.JSP运行原理 每个JSP 页面在第一次被访问时,WEB容器都会把请求交给JSP引擎(即一个Java程序)去处理.JSP引擎先将JSP翻译成一个_jspServlet(实质上也是一个servlet ...
- jsp页面元素和内置对象
java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...
- 【JSP】JSP基础学习记录(三)—— JSP的9个内置对象
本节说一下JSP中的9个内置对象.这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化(由JSP页面对应Servlet的_jspService()方法来创建这些实例 ...
- JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象
Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...
- jsp中9个内置对象与servlet对应关系及四个作用域
参考: <jsp&servlet学习笔记.第2版.林信良><JSR-245 JavaServer Pages 2.2 Maintenance Release Specifi ...
随机推荐
- kali操作系统添加中文输入法
今天一通操作真心累啊.想安装搜狗输入法,百度搜索了好多 三步走:https://blog.csdn.net/qq_44110340/article/details/101382732 一顿操作猛如虎, ...
- xmind2020 zen 10.2.1win/mac/linux安装教程
xmind是一款优秀的思维导图软件,本文教大家如何安装xmind zen 2020 10.2.1版本,解锁使用全部功能,包括去掉xmind zen水印.上传图片等功能,支持windows/mac/li ...
- No_1 手写Proxy
手写动态代理主要原理: userDAO=(UserDAO)Proxy.newProxyinstance(classloader,interfaces[],new MyInvocationHandler ...
- Xshell 打开时,初始运行卡慢优化方法
我使用的是Xshell 6免费版,有需要的同学可以去这个地址下载:https://www.netsarang.com/download/down_form.html?code=622 一开始安装完Xs ...
- solr(CVE-2017-12629)远程命令执行
影响版本Apache Solr 5.5.0到7.0.1版本 solr(CVE-2017-12629-RCE) 环境搭建 1.burp检测 创建listen POST /solr/demo/config ...
- 浅谈Blazor开发的那些事
在这篇文章中,我们将解决一些常见的Blazor问题.具体来说就是"什么是Blazor",但更重要的是"为什么要用Blazor".既然我们已经有了Angular. ...
- 记录21.07.21 —— ES6基础
学习目录 课件地址: ES6核心技术课件 1.let关键字 1.1 let与var的区别 ①let不能重复定义 ②块作用域的区别 ③变量声明之前let不能使用,var可以 ④ 课件代码 <htm ...
- SpringBoot系列——动态定时任务
前言 定时器是我们项目中经常会用到的,SpringBoot使用@Scheduled注解可以快速启用一个简单的定时器(详情请看我们之前的博客<SpringBoot系列--定时器>),然而这种 ...
- 软件安装管理(RPM)
目录 一.linux应用程序 1.1 应用程序与系统命令关系 1.2 典型应用程序的目录结构 1.3 常见的软件包封装工具 二.RPM软件包管理工具 2.1RPM软件包管理器Red-Hat Packa ...
- 软件或jar包版本的小知识---Beta版、Final版、Free版等
对于各种软件或jar包,其后面总有不同的"尾巴",如: 等,刚开始接触的肯定有些不知道.那么他们到底代表什么意思呢? 0.Release:发布版 1.Beta版:产品发布之前的测试 ...