JSP内置对象

JSP提供了9大内置对象,为JSP页面的操作提供了丰富的功能,这9个内置对象分别应用到请求、响应、会话、应用、输出、配置信息和异常信息等内容的操作。

下面将介绍各内置对象的使用场合。
request对象:该对象封装了客户端提交的HTTP请求信息,适用于处理客户端提交的信息。在开发Web应用时,经常应用request对象获取请求参数的值、Cooike等数据。
response对象:该对象适用于响应客户端请求信息。在开发Web应用时,经常应用response对象重定向网页,设置HTTP响应报头和缓冲区配置等。
session对象:该对象适用于在同一个应用程序中,每个客户端的各个页面中共享数据。session对象通常应用在保存用户信息和购物车信息等。
application对象:该对象适用于在同一个应用程序中,各个用户间共享数据。application对象通常应用在计数器或是聊天室中。
out对象:该对象适用于向客户端输出各种类型的数据。通常用来向JSP页面输出文本。
page对象:该对象适用于操作JSP页面自身。应用很少。
config对象:该对象用于读取服务器的配置信息。
exception对象:该对象用于操作JSP文件执行时发生的异常信息。
pageContext对象:该对象适用于get、set页面属性,然后通过jstl标签库向JSP页面输出页面内容。

out输出对象的应用:
out.print("message");//输出页面内容
out.clear();//清除缓冲区中的内容
out.clearBuffer();//清除当前缓冲区的内容
out.isAutoFlush();//检测当前缓冲区已满时自动清空,还是抛出异常
out.getBufferSize();//获取缓冲区的大小

request请求对象的应用:
request.getParameter("param");//获取请求页面传递过来的参数
String userName = new String(request.getParameter("userName").getBytes("ISO-8859-1"),"UTF-8");//适用于当访问请求URL链接中参数为中文时,通过request对象获取到的中文参数值为乱码时可用
request.setCharacterEncoding("UTF-8");//当获取表单提交的信息时,通过request对象获取到的中文参数值为乱码时适用
request.getHeader("host");//返回服务器IP地址和端口号127.0.0.1:8080
request.getHeader("user-agent");//返回客户端浏览器代理,用来判断是否是MSIE类型,设置兼容浏览器样式。
request.getMethod();//返回客户端向服务器端传送数据的方法,如get post
request.getProtocol();//返回请求协议名称,如HTTP/1.1
request.getRequestURI();//获取客户端地址,不包含参数
request.getRequestURL();//获取客户端地址,包含参数
request.getRealPath();//返回当前请求文件的绝对路径
request.getRemoteAddr();//返回客户端Ip地址
request.getRemoteHost();//返回客户端的主机名,通常是客户端Ip地址
request.getServerName();//返回服务器主机名,通常是服务器IP地址
request.getServletPath();//返回客户端请求的文件路径
request.getServerPort();//返回服务器的端口号
request.getCookies();获取客户端保存的Cookie数据

response回应对象的应用
response.setHeader("fresh", "10");//每隔10秒自动刷新一次页面
response.getHeader("fresh","5,URL=login.jsp");//网页5秒后自动跳转到指定的login.jsp页面
response.setContentType("type");//让网页内容以不同的格式输出到浏览器中,type的可选值有text/html(默认)、text/plain、application/x_msexcel和application/msword;charset=UTF-8等
response.sendRedirect("login.jsp");//重定向到login.jsp页面,使用该方法后,不要再有jsp脚本代码,因为后面代码没意义,并有可能产生错误。

session会话对象的应用
session.setAttribute("name", nameValue);//保存nameValue的值在session范围的name属性中
session.getAttribute("name");//获取session范围的name属性的值,获取到的Object对象需要强制转型
session.removeAttribute("name");//移除session范围的name属性值
session.setMaxInactiveInterval(3600);//设置session的失效时间为1小时
session.invalidate();//销毁session。



application应用对象的应用
application.setAttribute("name", nameValue);//保存nameValue的值在application范围的name属性中
application.getAttribute("name");//获取application范围的name属性的值,获取到的Object对象需要强制转型
application.removeAttribute("name");//移除application范围的name属性值
application.getInitParameter("userName");//获取web.xml文件中配置的userName参数的值
application.getAttributeNames();//该方法用于返回所有已定义的应用程序初始化参数名的枚举,返回类型是Enumeration,当Enumeration对象hasMoreElement()时,遍历nextElement(),并通过application.get(nexElement())得到nextElement对应的值

pageContext对象的应用
pageContext.setAttribute("name", nameValue);//保存nameValue的值在pageContext范围的name属性中
pageContext.getAttribute("name");//获取pageContext范围的name属性的值,获取到的Object对象需要强制转型

config对象的应用
config.getServletContext();//获取servlet上下文
config.getServletName();//获取servlet服务器名
config.getInitParameter();//获取服务器所有初始化参数名称,返回Enumeration对象
config.getInitParameterNames();//获取服务器中所有配置参数名

exception对象的应用
exception.getMessage();//返回exception对象的异常信息字符串
exception.getLocalizedmessage();//返回本地化的异常错误
exception.toString();//返回关于异常错误的简单信息描述

补充:
重定向response.sendRedirect("/top.jsp");出现404错误,原因是加了一个"/",意味着请求上一级目录中的top.jsp,如果在上一级目录中不存在top.jsp页面,则会出现404错误。修改的方法是将"/"去掉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值