jsp内置对象

JSP内置对象:指在JSP页面中内置的不需要定义就可以在网页中直接使用的对象。

JSP九种内置对象为:

  • out对象
  • request对象
  • response对象
  • session对象
  • application对象
  • exception对象
  • page对象
  • pageContext对象
  • config对象

1.out对象对应的类型是 javax.servlet.jsp.JspWriter.用来向客户端输出各种数据类型的内容,对应用服务器上的输出缓冲区进行管理。

代码如下:

<%
  out.print("201819102023");%> //使用out对象向页面输出相关内容
  <br>
  <% // out.clearBuffer(); // 清除缓冲区里的数据
  out.flush(); // 先将缓冲区的数据输出再清除缓冲区数据
  out.println("缓冲区空间:" + out.getBufferSize());%>
<br>
<%
  out.print("缓冲区没有被占用空间:" + out.getRemaining());
  out.close();

%>

运行结果:
在这里插入图片描述
2.request对象对应的是 javax.servlet.http.HttpServletRequest对象。该对象由Servlet容器创建,封装了来自HTTP协议请求的信息:头消息、系统消息、请求参数、请求方式。

request对象获取请求客户端的基本信息:因为该对象封装了HTTP请求的基本信息,所以从这个对象中就可以获得这些信息。

代码如下:

request对象:<br>
  提交方式:<%=request.getMethod() %>
  <br>
  请求的的URL是:<%=request.getRequestURI() %>
  <br>
  协议的是名称:<%=request.getProtocol() %>
  <br>
  客户端请求服务器文件的路径是:<%=request.getServletPath() %>
  <br>
  得到的查询部分是:<%=request.getQueryString() %>
  <br>
  服务器名称是:<%=request.getServerName() %>
  <br>
  服务器口号是:<%=request.getServerPort() %>
  <br>
  客户端IP的地址是:<%=request.getRemoteAddr() %>
  <br>

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

3.respone对象只在JSP页面生效。该对象主要是将JSP容器(Servlet容器)处理过的内容传回客户端。对应javax.servlet.http.HttpServletResponse对象。

respone响应设置

代码如下:

<html>
  <head>
    <title>response对象</title>
  </head>
  <body>
  <%
   <%response.sendRedirect("https://www.baidu.com");%>
  %>
  </body>
</html>

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

4.session对象是由服务器自动创建与用户请求相关的对象。服务器会为每一个用户创建一个session对象用来保存用户信息,跟踪用户操作。该对象内部使用Map类来保存数据,因此它的数据类型是key-value形式。对应javax.servlet.http.HttpSession.class对象。

代码如下:

<%
  String name = (String)session.getAttribute("name");
  String pwd = (String)session.getAttribute("pwd");
  out.println("登陆成功");
  out.println(name+","+pwd);
  System.out.println(session.getId()); //获取当前回话的id
%>

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

5. application对象作用范围是整个项目,该对象提供了项目环境属性的访问方法。比如在web.xml文件中,提供的初始化参数(< context-parama>标签),连接数据库的URL、用户名、密码。对应javax.servlet.ServletConfig.class对象。

在index.jsp页面访问初始化参数

代码如下:

<%
    String url = application.getInitParameter("url");    //获取初始化参数
    String name = application.getInitParameter("name");
    String password = application.getInitParameter("password");
    out.println("URL: "+url+"<br>");
    out.println("name: "+name+"<br>");
    out.println("password: "+password+"<br>");
  %>

运行结果:
在这里插入图片描述
6. exception 对象的作用是显示异常信息,只有在包含 isErrorPage=”true” 的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。
excepation对象和Java的所有对象一样,都具有系统提供的继承结构。exception对象是java.lang.Throwable的对象。

代码如下:

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%
  try
  {
    int result=1/0;
  }
  catch(Exception e)
  {
    out.println("throwerror2.jsp:"+e.getMessage());
  }
%>
</body>
</html>

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

7.page对象代表当前的JSP页面,只有在当前的JSP页面内才是合法的。类似JAVA中的this指针。它是java.lang.Object类的实例。

代码如下:

<%
  String url = config.getInitParameter("url");
  String str = config.toString();
  out.print("page对象的initParameter方法:"+url+"</br>");
  out.print("page对象的toString方法:"+str);
%>

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

8.pageContext对象的创建和初始化由容器来完成。在JSP页面可以直接使用这个对象。该对象的作用是可以获取任何范围内的参数,通过它可以获得JSP页面的out、request、response、session、application对象。对应javax.servlet.jsp.PageContext.class对象。

代码如下:

<%

  JspWriter myout=pageContext.getOut();

  myout.println("myout.write: hello world"+"<br>");

  out.println("out.write: hello world");

%>

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

9.config对象用于获取初始化参数。对应javax.servlet.ServletConfig.class对象。
获取某个JSP文件的初始化参数

代码如下:

<%@page contentType="text/html;charset=GB2312"%>
<html>
<body>
<p>客户服务信箱:<%=config.getInitParameter("email")%>
<p>客户服务热线:<%=config.getInitParameter("phone")%>
<p>客户服务QQ号:<%=config.getInitParameter("qq")%>
</body>
</html>

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值