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. 基于Composer Player 模型加载和相关属性设置

    主要是基于达索软件Composer Player.的基础上做些二次开发. public class ComposerToolBarSetting { public bool AntiAliasingO ...

  2. 记录一次bug解决过程:数据迁移

    一 总结 不擅长语言表达,勤于沟通,多锻炼 调试MyBatis中SQL语法:foreach 问题:缺少关键字VALUES.很遗憾:它的错误报的让人找不着北. 二 BUG描述:MyBatis中批量插入数 ...

  3. 【干货分享】流程DEMO-离职流程

    流程名: 离职申请   流程相关文件: 流程包.xml WebService业务服务.xml WebService.asmx WebService.cs   流程说明: 流程中集成了webservic ...

  4. 如何区别数据库删除语句drop与delete与truncate?

    1.delete:删除数据表中的行(可以删除某一行,也可以在不删除数据表的情况下删除所有行) 删除某一行:delete from 数据表名称 where 列名称=值: 删除所有行:delete*fro ...

  5. Xamarin.Android多界面

    一.准备 开始学习本教程前必须先完成该教程http://www.cnblogs.com/yaozhenfa/p/xamarin_android_quickstart.html 否则将无法继续. 二.界 ...

  6. Bash 脚本编程语言中的美学与哲学

    我承认,我再一次地当了标题党.但是不可否认,这一定是一篇精华随笔.在这一篇中,我将探讨 Bash 脚本语言中的美学与哲学. 这不是一篇 Bash 脚本编程的教程,但是却能让人更加深入地了解 Bash ...

  7. 一文搞懂HMM(隐马尔可夫模型)

    什么是熵(Entropy) 简单来说,熵是表示物质系统状态的一种度量,用它老表征系统的无序程度.熵越大,系统越无序,意味着系统结构和运动的不确定和无规则:反之,,熵越小,系统越有序,意味着具有确定和有 ...

  8. 将一句话里的单词进行倒置,标点符号不倒换。比如将“I come from Shanghai.”倒换后变为“Shanghai. from come I”

    string str = "I come from Shanghai."; //根据空格切割 string[] strS = str.Split(' '); string temp ...

  9. ArtifactTransferException: Failure to transfer org.apache.openejb:javaee-api:jar:5.0-1

    最近在myeclipse上创建maven类型的web项目的时候,出现了一个错误. ArtifactTransferException: Failure to transfer org.apache.o ...

  10. (转)面向属性的CSS命名

    原文链接:戳这里 自从开始做前端开发以来,我发现在开发页面的时候,总是有一个问题十分影响自己的开发效率,这个问题就是css的命名,主要是指css类选择器的命名.这个问题主要体现在:第一,有的内容你压根 ...