JSP的九大内置对象

未经作者允许,禁止转载。

一、内置对象概述

内置对象定义作用
request对象request对象是从客户端向浏览器发送的请求,包括用户提交的信息以及客户端的一些信息1.访问请求参数
2.在作用域中管理属性
3.获取Cookie
4.获取客户信息
5.访问安全信息
6.访问国际化信息
response对象response对象和request对象相对应,用于响应客户请求,向客户端输出信息。请求的数据可以是各种数据类型,甚至是文件。1. 重定向网页
2.设置HTTP响应报头
3.缓冲区配置
session该对象可用来保存在服务器与一个客户端之间需要保存的数据,当客户端关闭网站的所有网页时,session变量会自动消失1.创建及获取客户的会话
2.移除会话
3.销毁会话
application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭1.访问应用程序初始化参数
2.管理应用程序环境属性
out对象它是JspWriter类的实例,是向客户端输出内容常用的对象1.管理响应缓存区
2.向客户端输出数据

二、request对象

  • 访问请求参数
String userName = request.getParameter("name");

  • 在作用域中管理属性
request.setAttribute("key", Object);
request.getAttribute(String name);

有时,在进行请求转发时,需要把一些数据带到转发后的页面进行处理。这时,就可以使用request对象的setAttribute()方法设置数据在request范围内存取。注意这里强调的是请求转发,而不是请求重定向。请求重定向request就会结束它当前的生命周期。看下面例题。

例题:

<%@ page contentType="text/html;charset=utf-8" %>
<%
	request.setAttribute("error","sorry");
%>
<jsp:forward page="show.jsp"/>
<%@ page contentType="text/html;charset=utf-8" %>
<%out.println("错误提示信息为:"+request.getAttribute("error"));%>

运行结果:
在这里插入图片描述


  • 获取Cookie
  1. cookie是什么?
    Cookie是一小段文本信息,保存用户相关信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。
  2. 具体的过程如下
    当用户访问站点时,web应用程序中创建cookie,可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问站点时,应用程序就可以检索以前保存的信息。
Cookie[] cookie = request.getCookies();

例子:

<%@ page contentType="text/html;charset=utf-8" %>
<%
Cookie[] cookies=request.getCookies();//从request中获得Cookies集
//初始化Cookie对象为空
Cookie cookie_response=null;
if(cookies!=null){
            cookie_response=cookies[1]; 
}
out.println("本次访问时间:"+new java.util.Date().toLocaleString()+"<br>");

if(cookie_response!=null){
      //输出上一次访问的时间,并设置cookie_response对象为最新时间
      out.println("上一次访问时间:"+cookie_response.getValue());
      cookie_response.setValue(new java.util.Date().toLocaleString());      
	  }
//如果是第一次访问没有设置cookie的话,就添加一个
if(cookies==null){
      cookie_response=new Cookie("AccessTime","");
      cookie_response.setValue(new java.util.Date().toLocaleString());
      response.addCookie(cookie_response);     
}
%>


  • 获取客户信息
    在这里插入图片描述
    例子:

    <%@ page contentType="text/html;charset=utf-8" %>
    客户提交信息的方式:<%=request.getMethod()%>
    <br>使用的协议:<%=request.getProtocol()%>
    <br>获取发出请求字符串的客户端地址:<%=request.getRequestURI()%>
    <br>获取提交数据的客户端IP地址:<%=request.getRemoteAddr()%>
    <br>获取服务器端口号:<%=request.getServerPort ()%>
    <br>获取服务器的名称:<%=request.getServerName()%>
    <br>获取服务器的机器名称:<%=request.getRemoteHost()%>
    <br>获得Http协议定义的文件头信息Host的值:<%=request.getHeader("Host")%>
    <br>获得Http协议定义的文件头信息User-Agent的值:<%=request. getHeader("User-Agent")%>
    

    运行结果:
    在这里插入图片描述

  • 5.访问安全信息
    在这里插入图片描述

三、response对象

  • 重定向网页
    在这里插入图片描述
    在JSP页面中,可以使用response对象中的sendRedirect()方法将客户请求重定向到一个不同的页面。例如,将客户请求转发到login_ok.jsp页面的代码如下:

    response.sendRedirect("login_ok.jsp");
    

    在JSP页面中,还可以使用response对象中的sendError()方法指明一个错误状态。该 方法接收一个错误以及一条可选的错误消息,该消息将在内容主体上返回给客户

    response.sendError(500,"请求页面存在错误")”
    

  • 设置HTTP响应报头
    在这里插入图片描述

案例:

<%@ page contentType="text/html;charset=utf-8" %>

<%
if(request.getParameter("submit1")!=null){
        response.setContentType("application/msword;charset=gb2312");
}
%>
平平淡淡才是真!
快快乐乐才是福!
<form action="#"  name=form1>
<input name=submit1 type=submit id=submit1 value=保存为word>
</form>

运行结果:
在这里插入图片描述

在这里插入图片描述


  • 缓存区设置
    缓冲可以更加有效地在服务器与客户之间传输内容。
    在这里插入图片描述

案例:

<%@ page contentType="text/html;charset=utf-8"%>
<%
out.print("缓冲区大小:"+response.getBufferSize()+"<br><br>");
out.print("缓冲区设置之前<br>");
out.print("输出的内容是否提交:"+response.isCommitted()+"<br><br>");
response.flushBuffer();
out.print("缓冲区设置之后<br>");
out.print("输出的内容是否提交:"+response.isCommitted()+"<br><br>");
%>

运行结果:
在这里插入图片描述


四、session对象

  • 创建及获取客户的会话
    JSP页面可以将任何对象作为属性来保存。session内置对象使用setAttribute()
    getAttribute()方法创建及获取客户的会话。
    和之前的request一样,只不过它们作用的范围不一样。session只要不关闭浏览器它就存在,不管请求进行多少次重定向。但request不一样。

  • 从会话中移除指定的对象
    session内置对象使用removeAttribute()方法将所指定名称的对象移除,也就是说,从这个会话删除与指定名称绑定的对象。removeAttribute()方法的语法格式如下:

    session.removeAttribute (String name);
    

  • 销毁session
    JSP页面可以将已经保存的所有对象全部删除。session内置对象使用invalidate()方法将会话中的全部内容删除。invalidate()方法的语法格式如下:


五、application对象

  • 访问应用程序初始化参数
    通过application对象调用的ServletContext对象提供了对应用程序环境属性的访问。对于将安装信息与给定的应用程序关联起来而言,这是非常有用的。
    例如,通过初始化信息为数据库提供了一个主机名,每一个Servlet程序客户和JSP页面都可以使用它连接到该数据库并检索应用程序数据。Tomcat使用了web.xml文件,它位于应用程序环境目录下的WEB-INF子目录中。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns="http://java.sun.com/xml/ns/javaee"
               xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    id="WebApp_ID"version="3.0">  
<context-param>      <!--设置IP信息-->
  <param-name>database_host1</param-name>
  <param-value>192.168.1.17</param-value>  
</context-param>  
<context-param> 
  <param-name>database_host2</param-name>
  <param-value>192.168.1.66</param-value>
</context-param>
</web-app>
<%
java.util.Enumeration enema=application.getInitParameterNames();
while(enema.hasMoreElements()){
String name=(String)enema.nextElement();
String value=application.getInitParameter(name);
out.println(name+",");
out.println(value);
out.print("<br>");
}
%>
  • 管理应用程序环境属性
    在这里插入图片描述

六、out对象

  • 管理响应缓冲

    在JSP页面中,可以通过out对象调用clear()方法清除缓冲区的内容。 这类似于重置响应流,以便重新开始操作。
    如果响应已经提交,则会有产生IOException异常的副作用。
    相反,另一个种方法clearBuffer()清除缓冲区的“当前”内容,而且即使内容已经提交给客户端,也能够访问该方法。
    out对象用于管理响应缓冲区的方法如下表所示。

  • 向客户端输出数据

    <%out.println("同一世界,同一梦想");%>
    
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值