一. 隐式对象

JSP隐式对象
对象 类型
request javax.servlet.http.HttpServletRequest
response javax.servlet.http.HttpServletResponse
out javax.servlet.jsp.JspWriter
session javax.servlet.http.HttpSession
application javax.servlet.ServletContext
config javax.servlet.ServletConfig
pageContext javax.servlet.jsp.PageContext
page javax.servlet.jsp.HttpJspPage
exception java.lang.Throwable

1.request可以理解为一个指向HttpServletRequest对象的引用变量,下面是示例代码

<%
String userName = request.getParameter("userName");
%>

2.pageContext用于javax.servlet.jsp.PageContext。它提 供了有用的上下文信息,并通过其自说明的方法来访问 各种Servlet相关对象,如getRequest、getResponse、 getServletContext、getServletConfig和getSession。

  pageContext提供了用于获取和设置属性的方法,属性值可被存储在4个范围之一:页 面、请求、会话和应用程序。页面范围是最小范围,这 里存储的属性只在同一个JSP页面可用。请求范围是指 当前的ServletRequest中。会话范围指当前的HttpSession 中。应用程序范围指应用的ServletContext中。 PageContext的setAttribute方法签名如下:

public abstract void setAttribute(java.lang.String name, java.lang.Object value, inscope)

  其中,scope的取值范围为PageContext对象的最终 静态int值:PAGE_SCOPE、REQUEST_ SCOPE、 SESSION_SCOPE和APPLICATION_SCOPE。 若要保存一个属性到页面范围,可以直接使用 setAttribute重载方法:

public abstract void setAttribute(java.lang.String name, java.lang.Object value)

  如下脚本将一个属性保存到ServletRequest中:

<%
//product is a Java object
pageContext.setAttribute("product", product,
PageContext.REQUEST_SCOPE);
%>

同样效果的Java代码如下:

<% request.setAttribute("product", product); %>

<% request.setAttribute("prodcute",producte) %>

三.隐式对象out引用了一个javax.servlet.jsp.JspWriter对 象,这类似于你在调用HttpServlet Response的getWriter 方法时得到java.io.PrintWriter。可以通过调用它的print 方法将消息发送到浏览器。例如:

out.println("welcome");

例:

<%@page language="java"  contentType="text/html; charset=UTF-8"  pageEncoding="UTF-8" %>
<%@ page import="java.util.Enumeration" %>
<html>
<head><title>Implicit</title></head>
<body>
<b>Http Header:</b>
<%
for(Enumeration<String> e = request.getHeaderNames(); e.hasMoreElements(); )
{
String header = e.nextElement();
out.println(header + ": " + request.getHeader(header) + "<br />" );
}
%>
<hr /> <%
out.println("Buffer size: " + response.getBufferSize() + "<br />");
out.println( "Session id: "+ session.getId() + "<br />");
out.println("Servlet Name: " + config.getServletName() + "<br />");
out.println("Servlet info " + application.getServerInfo() + "<br />");
%> </body>
</html>

输出

JSP 隐式对象的更多相关文章

  1. 【Head First Servlets and JSP】笔记16:JSP隐式对象(内置对象)的映射关系

    接笔记15. 1.不管是JSP中的<%%>还是<%\=%>最终都将处于servlet的方法体中,那么有没有一种元素可以声明成类的成员呢? ——答案是有,而且非常非常简单,这个元 ...

  2. jsp学习与提高(二)——JSP 隐式对象、表单处理及过滤器

    1.JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对象也被称为预定义变量. JSP所支持的九大隐式对象: 对象 描述 req ...

  3. JSP-Runoob:JSP 隐式对象

    ylbtech-JSP-Runoob:JSP 隐式对象 1.返回顶部 1. JSP 隐式对象 JSP隐式对象是JSP容器为每个页面提供的Java对象,开发者可以直接使用它们而不用显式声明.JSP隐式对 ...

  4. jsp隐式对象

    隐式对象使用位置 隐式对象在转译为Servlet后,是_jspService()中的局部变量.隐式对象只能在<%与%>之间,或<%=与%>之间直接使用. 无法在<%!与% ...

  5. JSP——隐式对象(implicit object)

    Servlet容器将几个对象传递给它所运行的Servlet. 例如,在Servlet的service方法中获得HttpServletRequest和HttpServletResponse,并在init ...

  6. 有关JSP隐式对象,以下( )描述正确。

    A.隐式对象是WEB容器加载的一组类的实例,可以直接在JSP页面使用 B.不能通过config对象获取ServletContext对象 C.response对象通过sendRedirect方法实现重定 ...

  7. jsp 是什么 ,jsp 隐式对象

    google 搜索 java server page http://www.oracle.com/technetwork/java/javaee/jsp/index.html http://docs. ...

  8. JSP页面以及JSP九大隐式对象

    €JSP全称是Java Server Pages,它和servle技术一样,都是SUN公司定义的一种用于开发动态web资源的技术. €JSP这门技术的最大的特点在于,写jsp就像在写html,但它相比 ...

  9. JSP与EL隐式对象

    一,JSP隐式对象 隐式对象是可以直接使用的,无需声明.因为在JSP转译为servlet文件后,会自动声明其对象. 隐式对象① 说明 out 对应JspWriter对象,其内部关联一个PrintWri ...

随机推荐

  1. 帝国cms建站方法和知识点

    帝国cms建站方法和知识点 1.  首先在帝国cms网站上下载模板系统.根据模板系统上的提示,将指定的目录文件放在指定的位置.然后进行安装.后台管理系统的命名设置.数据库的设置等等. 2.  安装完成 ...

  2. Django REST Framework API Guide 03

    本节大纲 1.Routers 2.Parsers 3.Renderers Routers Usage from rest_framework import routers router = route ...

  3. DeepLearning.ai-Week2-Keras tutorial-the Happy House

    1 - Import Packages import numpy as np from keras import layers from keras.layers import Input, Dens ...

  4. Css - 利于搜索引擎收录的三个标签

    Css - 利于搜索引擎收录的三个标签 <head> <meta charset="utf-8" /> <title>京东(JD.COM)-正品 ...

  5. 2017-2018-2 20165237 实验三《 敏捷开发与XP实践》实验报告

    2017-2018-2 20165237 实验三< 敏捷开发与XP实践>实验报告 实验报告表头: 知识点: 1.XP团队使用现场客户.特殊计划方法和持续测试来提供快速的反馈和全面的交流: ...

  6. 20165237 2017-2018-2 《Java程序设计》第5周学习总结

    20165237 2017-2018-2 <Java程序设计>第5周学习总结 教材学习内容总结 1.内部类:在一个类中定义另一个类:外嵌类:包含内部类的类. 2.内部类的类体中不能声明类变 ...

  7. 微信支付-H5网页支付开通流程

    简介  H5 支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付.主要用于触屏版的手机浏览器请求微信支付的场景.可以方便的从外 ...

  8. SpringBoot设置Session失效时间

    1 #Session超时时间设置,单位是秒,默认是30分钟 2 server.session.timeout=10 然而并没有什么用,因为SpringBoot在TomcatServletWebServ ...

  9. 数字图像处理的Matlab实现(2)—MATLAB基础

    第2章 MATLAB编程基础 2.1 M-文件 MATLAB中的M-文件可以是简单执行一系列MATLAB语句的源文件,也可以是接收自变量并产生一个或多个输出的函数. M-文件由文本编辑器创建,并以fi ...

  10. MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】

    删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...