博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jsp的9个内置对象
阅读量:5992 次
发布时间:2019-06-20

本文共 5973 字,大约阅读时间需要 19 分钟。

Jsp提供了request、response、session、application、out、page、config、exception、pageContext9个内置对象。1.    RequestRequest对象封装了由客户端生成的http请求的所有细节,主要包括http头信息、请求方式和请求参数等,通过该对象提供的相应方法可以获取客户端请求中的信息。Request.getParameter(String arg0)方法的使用。请求login.jsp页面。
  • 用户登录

  • 用户名:
  • 密 码:
login.jsp页面<%//获得用户名String name=request.getParameter("username");String pwd=request.getParameter("pwd");if("guoyanan".equals(name) && "123".equals(pwd)){ out.print("

登录成功

");}else{ out.print("

登录失败

");}%>处理获取请求参数时的乱码。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子目录中,该文件中通过
标记配置应用程序初始化参数。Web.xml配置实例:
home
http://www.baidu.com
获取初始化对象:Application.getInitParameter(String name);Name:web文件中的配置名称(param-name)获取初始化参数的枚举:Application.getInitParamterNames();Web.xml文件配置信息:
home
http://www.baidu.com
实例:<%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() 重写异常错误的栈执行轨迹 

 

转载于:https://www.cnblogs.com/gynbk/p/6556289.html

你可能感兴趣的文章
InsertCommand属性---把数据集的新行保存到数据源中
查看>>
一个基于jQuery Mobile的移动设备实时幻灯javascript类库 - taciónJS
查看>>
SQL datediff 计算时间差
查看>>
Python连接MySQL - [Python]
查看>>
网易有道面经(2013校园招聘杭州站)zz
查看>>
【Andorid X 项目笔记】嵌套Fragment的使用(5)
查看>>
每日英语:Where Were You in 1979?
查看>>
通用高性能 Windows Socket 组件 HP-Socket v2.2.1(增加 PULL 模型支持)
查看>>
深入浅出HTTP协议(WEB开发和面试必备)
查看>>
asp.net hessian + android hessdroid
查看>>
[原]ASP.NET 数据库访问通用工具
查看>>
[leetcode]First Missing Positive @ Python
查看>>
项目团队建设
查看>>
少走弯路的十条忠告
查看>>
子查询分组讨论产生虚拟查询字段
查看>>
IOS中block和代理
查看>>
CentOS 6.4安装配置LAMP服务器(Apache+PHP5+MySQL)
查看>>
Codeforces Round #196 (Div. 2) A. Puzzles 水题
查看>>
Can only modify an image if it contains a bitmap
查看>>
【软件分析与挖掘】Multiple kernel ensemble learning for software defect prediction
查看>>