JSP九大内置对象详解(一)

JSP有九个内置对象(又叫隐含对象),不需要预先声明就可以在脚本代码和表达式中随意使用

JSP九大内置对象分为四类:

  • 输入输出对象:out对象、response对象、request对象
  • 通信控制对象:pageContext对象、session对象、application对象
  • Servlet对象:page对象、config对象
  • 错误处理对象:exception对象

九种对象简介:

  1. out对象:用于向客户端、浏览器输出数据。
  2. request对象:封装了来自客户端、浏览器的各种信息。
  3. response对象:封装了服务器的响应信息。
  4. exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
  5. config对象:封装了应用程序的配置信息。
  6. page对象:指向了当前jsp程序本身。
  7. session对象:用来保存会话信息。也就是说,可以实现在同一用户的不同请求之间共享数
  8. application对象:代表了当前应用程序的上下文。可以在不同的用户之间共享信息。
  9. pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。
一.out对象

out对象是一个输出流,用来向浏览器输出信息,除了输出各种信息外还负责对缓冲区进行管理。

out对象方法介绍:

方法名

说明

print或println

输出数据

newLine

输出换行字符

flush

输出缓冲区数据

close

关闭输出流

clear

清除缓冲区中数据,但不输出到客户端

clearBuffer

清除缓冲区中数据,输出到客户端

getBufferSize

获得缓冲区大小

getRemaining

获得缓冲区中没有被占用的空间

isAutoFlush

是否为自动输出

二.request对象

request对象封装了从客户端到服务器发出的请求信息。

request对象方法介绍:

方法名

说明

isUserInRole

判断认证后的用户是否属于某一成员组

getAttribute

获取指定属性的值,如该属性值不存在返回Null

getAttributeNames

获取所有属性名的集合

getCookies

获取所有Cookie对象

getCharacterEncoding

获取请求的字符编码方式

getContentLength

返回请求正文的长度,如不确定返回-1

getHeader

获取指定名字报头值

getHeaders

获取指定名字报头的所有值,一个枚举

getHeaderNames

获取所有报头的名字,一个枚举

getInputStream

返回请求输入流,获取请求中的数据

getMethod

获取客户端向服务器端传送数据的方法

getParameter

获取指定名字参数值

getParameterNames

获取所有参数的名字,一个枚举

getParameterValues

获取指定名字参数的所有值

getProtocol

获取客户端向服务器端传送数据的协议名称

getQueryString

获取以get方法向服务器传送的查询字符串

getRequestURI

获取发出请求字符串的客户端地址

getRemoteAddr

获取客户端的IP地址

getRemoteHost

获取客户端的名字

getSession

获取和请求相关的会话

getServerName

获取服务器的名字

getServerPath

获取客户端请求文件的路径

getServerPort

获取服务器的端口号

removeAttribute

删除请求中的一个属性

setAttribute

设置指定名字参数值

request对象演示:

完成一个简单的用户注册信息界面,将注册信息发送到欢迎界面上。

用户注册界面表单设置:

<form action="do_register.jsp" method="post">
    用户名:
    <input type="text" name="userName"><br>
    技能:
    <input type="checkbox" name="skills" value="java">java
    <input type="checkbox" name="skills" value="python">python
    <input type="checkbox" name="skills" value="ruby">ruby
    <input type="checkbox" name="skills" value="golang">golang
    <br>
    <input type="submit" value="提交">
    <input type="reset" value="重置">
</form>

用户注册信息处理界面使用getParameter方法将用户的表单信息提取出来

String name=request.getParameter("userName");
String[] skillArr=request.getParameterValues("skills");

将skillArr数组转换成字符串:

String skills="";
if (skillArr!=null&&skillArr.length>0){
    for (String skill:skillArr
         ) {
        skills=skills+skill+" ";
    }
}

将数据使用setAttribute保存起来

request.setAttribute("userName",name);
request.setAttribute("skills",skills);

使用jsp的forword指令将页面跳转到welcome.jsp

<jsp:forward page="welcome.jsp"></jsp:forward>

setAttribute和getAttribute用于在web组件之间共享信息
getparameter方法用于接收服务器通过set和post方法传输的数据
注意没有setparameter方法

welcome.jsp页面配置:

<html>
<head>
    <title>技能展示界面</title>
</head>
<body>
信息展示界面:<br><br>
<%--<%=%>这是表达式<%%>这是jsp程序处理--%>
姓名:<%=request.getAttribute("userName")%><br>
技能:<%=request.getAttribute("skills")%>
</body>
</html>



三.response对象

response对象主要用于对客户端的请求进行回应。
以及处理http的连接信息,例如设置http文件头,设置cookie对象等。

response对象方法:

方法名

说明

addCookie

添加一个Cookie对象

addHeader

添加Http文件指定名字头信息

containsHeader

判断指定名字Http文件头信息是否存在

encodeURL

使用sessionid封装URL

flushBuffer

强制把当前缓冲区内容发送到客户端

getBufferSize

返回缓冲区大小

getOutputStream

返回到客户端的输出流对象

sendError

向客户端发送错误信息

sendRedirect

把响应发送到另一个位置进行处理

setContentType

设置响应的MIME类型

setHeader

设置指定名字的Http文件头信息






                
  • 10
    点赞
  • 75
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值