Jsp提供了request、response、session、application、out、page、config、exception、pageContext9个内置对象。

1.    Request
Request对象封装了由客户端生成的http请求的所有细节,主要包括http头信息、请求方式和请求参数等,通过该对象提供的相应方法可以获取客户端请求中的信息。
Request.getParameter(String arg0)方法的使用。
请求login.jsp页面。
<div>
<Form action="login.jsp" method="post">
<ul><li><h3>用户登录</h3></li></ul>
<ul><li>用户名:<input type="text" name="username"></li></ul>
<ul><li>密 码:<input type="password" name="pwd"></li></ul>
<ul><li><input type="submit" value="登录"></li></ul>
</Form>
</div>
login.jsp页面
<%
//获得用户名
String name=request.getParameter("username");
String pwd=request.getParameter("pwd");
if("guoyanan".equals(name) && "123".equals(pwd)){
out.print("<h1>登录成功</h1>");
}else{
out.print("<h1>登录失败</h1>");
}
%> 处理获取请求参数时的乱码。
String user=new String(Request.getParameter(String arg0).getBytes(“iso-8851-1”),”UTF-8”);
处理提交信息时乱码。
Request.setCharacterEncoding(“UTF-8”);
Request对象获取客户端信息的常用方法
方法 说明
getHeader(String name) 获取http协议定义的文件头信息
getHeaders(String name) 返回指定名称的request Header的所有值,结果是一个枚举的实例。
getHeadersNames() 返回所有request Header的名称,结构是一个枚举型的实例。
getMethod() 获得客户端向服务器传送的数据方式:get、post、header、trace等。
getProtocol() 获得客户端向服务器传送数据所依据的协议名称。
getRequestURL() 获取发出请求字符串的客户端地址,不包括请求的参数
getRealPath() 返回请求文件的绝对路径
getRemoteHost() 获取客户端的主机名
getRemoteAddr() 获取客户端的ip地址
getServerName() 获取服务器的名字
getServerPath() 获取客户端所有请求的脚本文件的文件路径
getServerPort() 获取服务器的端口号
getCookies() 获取客户端保存的Cookies数据 Request对象域
在request域内存放数据。
Request.setAttribute(String name,Object obj);
Name:变量名。
Object:传递的数据。
获取request域内的数据。
Request.getAttribute(String name);
2. Response响应对象
Response对象用于响应客户请求并向客户端输出信息,它封装了jsp生产的响应,并发送到客户端以响应客户端的请求。请求的数据可以是多种数据类型,甚至文件。
禁用缓存
Response.setHeader(“Cache-Control”,”no-store”);
Response.setDateHeader(“Expires”,0);
1. 设置页面自动刷新
Response.setHeader(“refresh”,0);
2. 定时跳转网页
Response.setHeader(“refresh”,”5;url=login.jsp”);
设置mime类型
Response.setContentType(String type);
Type可选类型:text/html、text/plain、application/x_msexcel、application/msword等。
页面重定向
Response.sendRedirect(String path);
Path:URL路径。不同主机的URL路径需要添加http://…
3. Out输出对象
Out对象向客户端浏览器输出信息,并管理应用服务器上的输出缓冲区。
输出数据。
Out.print(String string)方法。
Out.println(String string)方法。
管理缓冲区
方法 说明
clear() 清除缓冲区中的内容
clearBuffer() 清除当前缓冲区的内容
isAutoFlush() 检测当前缓冲区已满时是自动清空,还是抛出异常
flush() 刷新流
getBufferSize() 获取缓冲区的大小 4. Session对象
Session的生命周期,是作用在一个浏览器中,在各个页面中共享数据,无论当前浏览器存在多个页面之间跳转,整个用户会话一直存在。直到浏览器关闭。
通过session对象存储数据和提取数据。
存储数据:
Session.setAttribute(String name,Object obj);
Name:存放数据的变量名。
Obj:存放的对象。
获取数据:
Session.getAttribute(String name);
Name:获取数据的变量。同时获取值。
移除对话中的数据:
Session.removeAttribute(String name);
Name:需要删除的变量名。
设置会话的有效时间:
Tomact服务器默认会话时间为30分钟。不过session也可以自己设置会话时间。
Session.setMaxInactiveInterval(int time);
Time:指有效时间,单位为秒。
收到注销session:
Session.invalidate(); 5. application对象
application对象用于保存所有应用程序中的公有数据,与session相比application的生命周期更长。Application的生命周期跟服务器相关的,服务器启动是创建application服务器关闭时注销application对象。通常使用application对象统计网站访问的次数和聊天信息等。 存储数据:
Application.setAttribute(String name,Object obj);
Name:变量的名称。
Obj:保存的对象。
获取application对象使用的属性名和属性值:
Application.getAttributeNames();
实例:
因为要使用Enumeration对象,所以要在jsp页面的Page指令里添加import=”java.util.*”的内容。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%> <%
application.setAttribute("cuncu", "存储");
Enumeration enema=application.getAttributeNames();//获取application范围内的全部属性 while(enema.hasMoreElements()){ String name=enema.nextElement().toString();//获取属性名
Object value=application.getAttribute(name);//获取属性值
out.print(name+":");
out.println(value); }
%> 根据变量名获取数据:
Application.getAttribute(String name);
Name:变量的名称。
根据变量名删除数据:
Application.removeAttribute(String name);
Name:根据变量名删除数据。 配置Web应用的初始化参数:
Application对象提供了访问应用程序初始化参数的方法,该参数在web.xml文件中设置。Web.xml文件位于Web应用所在目录下的Web-inf子目录中,该文件中通过<context-param>标记配置应用程序初始化参数。
Web.xml配置实例:
<context-param>
<param-name>home</param-name>
<param-value>http://www.baidu.com</param-value>
</context-param>
获取初始化对象:
Application.getInitParameter(String name);
Name:web文件中的配置名称(param-name) 获取初始化参数的枚举:
Application.getInitParamterNames();
Web.xml文件配置信息:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<context-param>
<param-name>home</param-name>
<param-value>http://www.baidu.com</param-value>
</context-param>
</web-app>
实例:
<%
application.setAttribute("cuncu", "存储");
Enumeration enema=application.getInitParameterNames();//获取application范围内的全部属性
String valuee=application.getInitParameter("home").toString();
out.print(valuee); while(enema.hasMoreElements()){ String name=enema.nextElement().toString();//获取属性名
String value=application.getInitParameter(name).toString();//获取属性值
out.print(name+":");
out.println(value); }
%> 6. page对象
page对象代表jsp本身,只在jsp页面内才是合法的。该对象本质上包含当前Servlet接口引用的变量,可以看做是this关键字的别名。
Page对象的常用方法: 方法 说明
getClass() 返回当前Object的类
hashCode() 返回该Object的哈希代码
toString() 把该Object类转换为字符串
Equals(Object obj) 比较该对象和指定的对象是否相等 7. pageContext对象
pageContext对象是一个比较特色的对象,通过它可以获取jsp页面的request、response、session、application、exception等对象。 PageContext对象的方法:
方法 说明
Forward(java.lang.String relativeUtlpath) 把页面转发到另一个页面
getAttribute(String name) 获取参数值
getAttributeNamesInScope(int scope) 获取某范围的参数名称的集合,返回值为java.util.Enumeration对象
getException() 返回exception对象
getRequest() 返回request对象
getResponse() 返回Response对象
getSession() 返回Session对象
getOut() 返回out对象
getApplication() 返回application对象
getServletConfig() 返回Config对象
setAttribute(String name,object obj) 为指定范围内的属性设置属性值
removeAttribute(String name) 删除指定范围内的指定属性 8. Config对象
Config对象针对的是web.xml文件。
Config对象主要用于获取服务器的配置信息,当初始一个Servlet时,容器把某些洗洗脑通过config对象传递给Servlet。开发人员可以在web.xml文件中为应用程序配置环境中Servlet和jsp页面提供初始化参数。
Config的常用方法:
方法 说明
getServletContext() 获取Servlet上下文
getServletName() 获取Servlet服务器名
getInitParameter() 获取服务器所有初始参数名称,返回值为java.util.Enumeration对象
getInitParameterNames() 获取服务器中name参数的初始值 9. Exception对象
Exception对象用来处理jsp文件执行时发生的所有错误和异常,只有在page指令中设置isErrorPage属性值为true的页面才可以被使用,设置跳转的Error的页面属性errorPage=”error.jsp”。如果在jsp页面出现没有捕捉到的异常,这会生成exception对象,并将其传送在page指令中设置的错误页面中,然后在错误页面中处理相应的exception对象。
Exception对象的常用方法:
方法 说明
getMessage() 返回exception对象的异常信息字符串
getLocalizedmessage() 返回本地化的异常错误
toString() 返回关于异常错误的简单信息描述
fillInStackTrace() 重写异常错误的栈执行轨迹  

jsp的9个内置对象的更多相关文章

  1. 在IDEA中使用JSP中的out内置对象,out.println()——println红色解决方法

    今天在学习JSP的时候,在jsp中使用out内置对象,开发工具用的是IDEA,结果如下图所示 郁闷了半天找度娘,可能关键字输的不准确,乱七八糟的方法一大堆,什么加依赖啊啥的,反正都不管用,最后找到一篇 ...

  2. Jsp的九个内置对象

    一.什么是内置对象?在jsp开发中,会频繁使用到一些对象.例如HttSession,ServletContext,HttpServletRequest.如果我们每次要使用这些对象都去创建这些对象,就会 ...

  3. 【JSP】JSP基础学习记录(三)—— JSP的9个内置对象

    本节说一下JSP中的9个内置对象.这9个内置对象都是Servlet API接口的实例,只是JSP规范对他们进行了默认初始化(由JSP页面对应Servlet的_jspService()方法来创建这些实例 ...

  4. 在jsp中常用的内置对象(5个)小总结和两种页面跳转方式(服务器端调转、客户端跳转)的区别

    jsp中常用的几个内置对象: 一.request对象 主要作用:  (1)获取请求页面的信息   比如:request.getParameter("参数名");  (2)获取客户端 ...

  5. JavaWeb笔记——Jsp的指令、内置对象和动作标签

    JSP三大指令   一个jsp页面中,可以有0~N个指令的定义! 1. page --> 最复杂:<%@page language="java" info=" ...

  6. jsp页面元素和内置对象

    java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...

  7. JSP 的9个内置对象

    JSP内置对象:我们在使用JSP进行页面编程时可以直接使用而不需自己创建的一些Web容器已为用户创建好的JSP内置对象.如request,session,response,out等. 下面就JSP2. ...

  8. JSP第二篇【内置对象的介绍、4种属性范围、应用场景】

    什么是JSP内置对象 JSP引擎在调用JSP对应的jspServlet时,会传递或创建9个与web开发相关的对象供jspServlet使用.JSP技术的设计者为便于开发人员在编写JSP页面时获得这些w ...

  9. JSP运行过程 JSP脚本 静态动态包含 jsp指令 jsp内置对象jsp四大作用域 jsp动作元素 EL表达式 JSTL 设计模式 JSP开发模式 EL内置对象

    Day38 JSP JSP的运行过程具体如下: (1)客户端发出请求,请求访问JSP文件. (2)JSP容器先将JSP文件转换成一个Java源文件(Java Servlet源程序),在转换过程中,如果 ...

  10. JSP三大指令 六大内置对象

    (1)include指令 作用: 在当前页面用于包含其他页面 语法: <%@include file=”common/header.jsp”%> (2)page指令 作用: 告诉tomca ...

随机推荐

  1. 在SDL中显示GBK点阵汉字

    大家注意到没有,RA2的中文版本使用的是GBK点阵字库,这样做有一个好处:不管玩家是用的简体还是繁体都能识别显示的文字. GBK的意思大概是“国家标准汉字扩展字符集”吧,记不清了.但它的确是个好东东, ...

  2. 使用GnuPG(PGP)加密信息及数字签名教程_转

    所谓加解密就是一方以密钥加密,另一外收到文件后以相对应的密钥解密,从而获取原始文件.数字签名的过程:信息是通过普通未加密方式发送信息给对方的,只是在每条信息后面都会附加一坨字符(名曰:签名)(或信息与 ...

  3. 【转】python测试开发面试题

    出处:http://my.oschina.net/u/1433482/blog/467954?fromerr=WrfxL2Kw 试卷时间 60分钟,请不要在试卷上作答,用A4纸做答题纸作答. 一,中文 ...

  4. 谷歌浏览器console.log()失效,打印不出来内容

    这个问题困扰好几天了,网上说的都说的是下图: 勾选这三个就好了,但是我的本来就是勾选上的,还是不行. 后来发现这个: 把这个去掉就可以了,如下图: 原来是因为之前调试js的时候,使用了这个过滤,导致对 ...

  5. 基于Linux整形时间的常用计算思路

    上一次分享了Linux时间时区详解与常用时间函数,相信大家对Linux常见时间函数的使用也有了一定的了解,在工作中遇到类似获取时间等需求的时候也一定能很好的处理.本文基于Linux整形时间给出一些简化 ...

  6. iOS中获取系统相册中的图片

    一.获取单张图片 思路: 1.利用UIImagePickerController可以从系统自带的App(照片\相机)中获得图片 2.设置代理,遵守代理协议 注意这个UIImagePickerContr ...

  7. linux下jdk多版本管理

    linux下jdk多版本管理 项目开发中,不管是哪种语言都避免不了多个版本环境管理问题(本文虽然以jdk为例来写的,但不仅限于jdk),如何能做到快速的环境升级与切换确实是一件深思的事! 安装jdk ...

  8. Entity Framework 4.1 : 贪婪加载和延迟加载

    这篇文章将讨论查询结果的加载控制. EF4.1 允许控制对象之间的关系,当我们进行查询的时候,哪些关系的数据将会被加载到内存呢?所有相关的对象都需要吗?在一些场合可能有意义,例如,当查询的实体仅仅拥有 ...

  9. x-www-form-urlencoded名字的由来

    1 提交的是表单数据 所以用form. 2 提交的形式是以参数放在url后面的形式提交的 例如,以x1=y1&x2=y2&x3=y3的形式放在url后面的形式提交,所以是urlenco ...

  10. 【python】-- 类的装饰器方法、特殊成员方法

    装饰器方法 类的另外的特性,装饰器方法:静态方法(staticmethod).类方法(classmethod).属性方法(property) 一.静态方法 在方法名前加上@staticmethod装饰 ...