JSP,全称是Java Server Page,是运行在服务器端的页面,是建立在Servlet规范的动态网页技术,JSP文件在第一次请求时,会被编译成Servlet,所以JSP也可以看成是运行中的Servlet。JSP中HTML元素嵌入Java脚本和JSP标记。本文简单记录了JSP字面量、JSP指令、JSP脚本、JSP隐含对象及其作用范围几个点的内容。

JSP字面量类型
  • 布尔值(boolean)
  • 整型(int)
  • 浮点型(float)
  • 字符串(String)
  • Null:null
指令

JSP指令元素主要用于JSP转换为Servlet,用来设置与整个JSP页面相关的属性。提供整个JSP页面相关信息,不会产生输出JSP指令元素包括page、include、taglib。语法格式为<%@ directive attribute="value" %>

  • page定义网页依赖属性,比如脚本语言、error页面、缓存需求。一个JSP页面可以包含多个page指令,语法格式为<%@ page attribute="value %">

  • include包含其他文件,被包含的文件可以是JSP文件、HTML文件或文本文件,语法格式为<%@ include file="文件相对url地址">

  • taglib引入一个自定义标签集合的定义,包括库路径、自定义标签。语法格式为<%@ taglib uri="标签库的位置" prefix="标签库的前缀">

脚本程序

脚本程序包括声明,表达式和脚本段

  • JSP声明:一个声明语句可以声明一个或多个变量、方法,在JSP文件中,必须先声明变量和方法才能使用,语法格式为<%! 声明语句%>

  • JSP表达式:

    一个JSP表达式的元素可以包含符合Java语言规范的表达式,语法格式为<%= 表达式 >

  • JSP脚本段:

    脚本段可以包含任意的Java语句、变量、方法和表达式,语法格式为<% 代码片段 %>

JSP隐含对象

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

对象 描述 作用
request HttpServletRequest类的实例 封装客户端的请求信息
response HttpServletResponse类的实例 包含了响应客户端请求的有关信息
session HttpSession类的实例 会话是根据客户的请求自动生成的,即使没有引入会话时也会有一个新的会话可用
application ServletContext类的实例 与应用上下文有关实现了所有用户间数据的共享,可存放全局变量
config ServletConfig类的实例
pageContext PageContext类的实例 提供对JSP页面所有对象以及命名空间的访问
page 类似于Java类中的this关键字
out PrintWriter类的实例 用于把结果输出至网页上
Exception Exception类的对象 代表发生错误的JSP页面中对应的异常对象
对象的作用范围
  • page范围:作用域仅限于当前页面对象,可以理解为Java的this对象,离开当前JSP页面,所有属性值将会丢失。

  • request范围:作用域在同一请求之内,如果通过forword方式跳转页面,属性值保留。如果通过redirect方式跳转,相当于重新发出请求,属性值丢失

  • session范围:作用域在一个会话的生命周期

  • application范围:作用域为整个web运行期可用,为所有会话共享

JSP简单记录的更多相关文章

  1. jsp简单标签开发(一)

    孤傲苍狼 @Override22 public void doTag() throws JspException, IOException {23 //得到代表jsp标签体的JspFragment24 ...

  2. OpenCV安装配置的简单记录

    在ubuntu16.04下安装OpenCV 2.4.11的简单记录 1. 安装cmake,执行$apt-get install cmake即可,cmake -version验证 2. 下载OpenCV ...

  3. asp.net 简单记录请求的客户端和服务端 处理时间

    最近项目需要简单记录一下 ajax客户端和服务端处理时间,服务端时间的思路是借用BeginRequest和EndRequest事件,为了不影响现有接口返回的数据格式,因此服务处理时间放在respons ...

  4. JSP简单实现统计网页访问次数

    JSP简单实现统计网页访问次数 需求:统计网页的访问次数 核心思想:利用application对象,将访问次数的信息放入application对象中,每次访问就+1.这里利用了application对 ...

  5. JSP简单实现登录和注销

    JSP简单实现登录和注销 需求:用户登录成功后跳转到欢迎页面 用户登录失败跳转到初始的登录界面 用户点击注销,用户退出登录状态需要重新登录 登录页面的JSP代码: <%@ page langua ...

  6. PHP 版本简单记录

    PHP 版本简单记录 PHP 博物馆         http://museum.php.net/php5/ PHP 版本发布       https://secure.php.net/release ...

  7. 简单记录一次注入到shell

    0x00 前言 帮朋友之前拿的一个站,有点久了没有完整截图,简单记录一下. 0x01 基础信息 操作系统:win 集成环境:phpstudy 端口开放:82,3306,3389 有phpmyadmin ...

  8. 纯JSP简单登录实例

    记一下,免得以后忘记了,又要去查. 文件共有四个web.xml.login.jsp.logout.jsp.welcome.jsp四个文件 测试环境:Tomcat 6.0.x 假设项目名称是LoginS ...

  9. oracle SCN推进恢复数据库 简单记录

    由于是在内网专用机器上操作,没有日志记录,下面做个简单记录:   前几天某供电局的的一个老数据库存储挂了,数据全部丢失,该库没有开归档,没接备份,怎么恢复? 由于存储损坏严重,从存储恢复不好搞. 好在 ...

随机推荐

  1. Kooboo CMS技术文档之四:Kooboo CMS的站点组成部分

    Kooboo CMS本着功能独立分离的原则,将站点分为三部分组成:用户管理,站点管理和内容数据库管理.各个功能之间既可独立使用,也可以容易组成在一起形成一个完整的系统. 用户管理 管理整个系统内的用户 ...

  2. python 数据类型 -- 元组

    元组其实是一种只读列表, 不能增,改, 只可以查询 对于不可变的信息将使用元组:例如数据连接配置 元组的两个方法: index, count >>> r = (1,1,2,3) &g ...

  3. yaf的简单入门

    1.目录结构: 2.入口文件 入口文件是所有请求的入口,一般都借助于rewrite规则,把所有的请求都重定向到这个入口文件. 一个经典的入口文件  public/index.php 3.重写规则 需要 ...

  4. 【代码笔记】iOS-获得当前的月的天数

    一,代码. #import "ViewController.h" @interface ViewController () @end @implementation ViewCon ...

  5. liunx 磁盘管理命令记录

    Linux磁盘管理好坏管理直接关系到整个系统的性能问题. Linux磁盘管理常用三个命令为df.du和fdisk. df:列出文件系统的整体磁盘使用量 du:检查磁盘空间使用量 fdisk:用于磁盘分 ...

  6. ValueInjecter----最好用的OOM(以微信消息转对象举例)

    使用数据实体的好处我这里就不多说了,但大家享受这些好处的时候,难免也对那些琐碎的赋值代码感到厌烦,基于此,我认为掌握一个oom的使用,还是很有必要的. 这种类型的工具有很多,比如automapper, ...

  7. windows10简单试用(多图,连薛定谔的猫都杀死了)

    为了大家看起来方便,我的截图都是gif的,比较小,但是颜色会有色差,相信大家不介意的 昨天windows10可以下载第一时间就下了玩玩 由于是技术预览,所以不打算替换之前的系统,只装在虚拟机里玩玩就好 ...

  8. ABP(现代ASP.NET样板开发框架)系列之23、ABP展现层——异常处理

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之23.ABP展现层——异常处理 ABP是“ASP.NET Boilerplate Project (ASP.NET ...

  9. TODO:Golang语言TCP/UDP协议重用地址端口

    TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...

  10. .NET 基础一步步一幕幕[out、ref、params]

    out.ref.params out: 如果你在一个方法中,返回多个相同类型的值的时候,可以考虑返回一个数组. 但是,如果返回多个不同类型的值的时候,返回数组就不行了,那么这个时候, 我们可以考虑使用 ...