jsp九大内置对象(一)输入输出对象

又到了翻笔记找知识点的时候啦,这片博文主要阐述九大内置对象以及各自的用法。

Jsp有九大内置对象,分别是requestresponse、out、session、applicationpagepageContent、exception、config。

按照功能划分:

输出输入对象:request对象、response对象、out对象

通信控制对象:pageContext对象、session对象、application对象

 Servlet对象:page对象、config对象

错误处理对象:exception对象

-------------------------------------------------------------------------------

输入输出对象,顾名思义是主管数据的传输的

out 对象JspWriter类的实例,用于在Web浏览器内输出信息,并且管理应用服务器上的输出缓冲区。out对象的主要方法有:

<body>
<h1>Jsp内置对象out的常用的几个方法</h1>
<%
out.print("<h2>静夜思</h2>");
out.print("床前明月光,<br>");
out.print("疑是地上霜。<br>");
out.print("举头望明月,<br>");
//out.flush();作用是将缓冲区内容输入到客户端,同时清空缓冲区内容
out.print("低头思故乡。<br>");
%>
<br>
<!-- 依次调用 -->
<!-- 使用jsp表达式调用时再句尾不能加; -->
缓冲区大小:<%=out.getBufferSize() %> byte<br>
缓冲区剩余:<%=out.getRemaining() %> byte<br>
返回缓冲区满时是否自动清空:<%=out.isAutoFlush() %><br>
</body>

在使用 out 对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。

request 对象是 javax.servlet.httpServletRequest类型的对象。 该对象代表了客户端的请求信息,主要用于接受通过HTTP协议传送到服务器的数据。(包括头信息、系统信息、请求方式以及请求参数等)。request对象的作用域为一次请求。

<h1>内置对象request的注册练习</h1>
<form action="doresponse.jsp" method="post">
 姓名 :<input  type="text" name="name"/><br>
 <!-- checkbox是复选框 -->
 <br>
 爱好:<input  type="checkbox" name="favorite" value="read"/>读书<br>
 <input  type="checkbox" name="favorite" value="music"/>音乐<br>
 <input  type="checkbox" name="favorite" value="movie"/>电影<br>
 <input type="submit" value="注册">
</form>

dorequest.jsp页面中把request对象的方法写入如下:

<body>
<% 	request.setCharacterEncoding("utf-8");//解决中文乱码的问题,但是无法解决url传参数的问题
	request.setAttribute("password","123456");
%>
<%String name=request.getParameter("name"); 
//使用url传参数的时候,接收到的乱码转换为utf-8格式。因为eclipse内置的浏览器的原因,推荐使用360测试
//name= new String(name.getBytes("ISO-8859-1"), "UTF-8");
%>
姓名:<%= name %><br>
爱好:<%
	if(request.getParameterValues("favorite")!=null)
	{
		String[] favorite=request.getParameterValues("favorite");
		for(int i=0;i<favorite.length;i++)
		{out.println(favorite[i]+"    ");}
	}
	%>
	<br>
密码:<%=request.getAttribute("password") %>
<br>
mime:<%=request.getContentType() %>
<br>
<%	SimpleDateFormat saf=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
	//Date s=new Date();
	String time=saf.format(new Date());
%>
输出当前日期:<%=time %>
<br>
返回请求的协议类型及版本号:<%=request.getProtocol() %>
<br>
返回接收请求的服务器主机名:<%=request.getServerName() %>
<br>
返回服务器接受此请求所用的端口号:<%=request.getServerPort() %>
<br>
返回字符编码方式:<%=request.getCharacterEncoding() %>
<br>

<br>
返回请求体的字节数:<%=request.getContentLength() %>
<br>
返回发送此请求的客户端ip地址:<%=request.getRemoteAddr() %>
<br>
返回一个虚拟路径的真实路径:<%=request.getRealPath("dorequest.jsp") %>
<!--  
上面虽然喜爱你是返回虚拟路径所调用的方法已经过时,但是仍然可以调用
设置请求的字符编码方式:<%//request.setCharacterEncoding("GBK") %>
-->
<br>
返回上下文路径:<%=request.getContextPath() %>
<br>
</body>

response 对象是 javax.servlet.http.HttpServletResponse类型的对象,代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象与request对象的另一个区别在于,它的作用域在JSP页面内有效。response的主要方法有:

<%
	//设置响应的mime类型
	response.setContentType("text/html;charset=utf-8");
	//out输出流	
	out.println("<h1>response内置对象</h1><br>这里是out输出流<br>");
	//这个out.flush()的调用仅仅是为了调整输出的位置。如果不记得了,可以取消掉下面这一行注释看看效果。
	//out.flush();
	//response对象生成的输出流
	PrintWriter outer = response.getWriter();
	outer.println("大家好,这是用response对象生成的输出流");
	//请求重定向,相当于客户端向服务器发了一个新的请求,让这个请求定位到需要的页面。
	//response.sendRedirect("request.jsp");
	//请求重定向
	//response.sendRedirect("dorequest.jsp");
	//请求转发
	request.getRequestDispatcher("dorequest.jsp").forward(request, response);
%>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值