JSP页面概述

JSP(JavaServer Page)是一种动态页面技术,它在java web应用中主要实现表现逻辑。JSP页面是在HTML页面中嵌入JSP元素的动态Web页面,一般来说JSP页面中可以包含的元素有如下:

  1. 声明:声明变量与定义方法;标签语法为<%!Java声明%>;
  2. 小脚本:执行业务逻辑的Java代码,标签语法<%Java代码%>;
  3. 表达式:用于在JSP页面输出表达式的值,标签语法<%=表达式%>;
  4. 指令:指定转换时项容器发出的指令,标签语法<%@指令%>;
  5. 动作:向容器提供请求时的指令,标签语法<jsp:动作名/>;
  6. EL表达式:jsp2.0引入的表达式语言,标签语法${表达式};
  7. 注释:用于文档注释,<%--任何文本--%>。

JSP指令

指令用于向容器提供关于JSP页面的而总体信息。指令有3种类型:

  1. page指令:page指令用于通知容器关于JSP页面的总体特性。该指令适用于整个转换单元而不仅仅是它所声明的页面。它有多个属性,下面说明几个较为重要的:

1)         import属性,类似于Java程序的import语句,它将指定的类导入到页面中。可以在import属性中导入多个包,包名用逗号分开即可,如下:
<%@ page import = “java.util.*,java.io.*,com.demo.*”%>

2)         contentType和pageEncoding属性。contentType属性指定JSP页面输出的MIME类型和字符集,MIME类型的默认值是text/html,字符集的默认值是ISO-8859-1。MIME类型和字符集之间用分号分开:
<%@page contentType=”text/html;charset=ISO-88159-1”%>
pageEncoding属性指定JSP页面JSP页面的字符编码

3)         session属性,指定jsp页面是否参加HTTP会话。

4)         errorPage与isErrorPage属性。
在页面执行过程中,嵌入在页面中的Java代码可能抛出异常。与一般的java程序一样,在jsp页面中也可以使用try-catch处理异常。然而,jsp规范定义一种更好的方法,它可以是错误厝里代码也主页面diamante分离,从而提高异常处理机智的可重用性。errorPage属性将异常代理给另一个包含错误处理代码的jsp页面。isErrorPage属性表示该页面是否是错误处理页面。

  1. include指令:实现把另一个文件的内容包含到当前页面中。
  2. taglib指令:用来指定JSP页面中使用标准标签或自定义标签的前缀与标签库的URI。

JSP动作

l  jsp:include,在当前页面中包含另一个页面的输出。

l  jsp:forward,将请求转发到指定的页面。

l  jsp:useBean,查找或创建一个JavaBeans对象。

l  jsp:setProperty,设置JavaBeans对象的属性值。

l  jsp:getProperty,返回JavaBeans对象的属性值。

表达式语言

表达式语言(Expression Language,EL)是jsp 2.0新增加的特性,它是一种可以在jsp页面中使用的简介的数据访问语言。表达式语言以$开头,后面是一对大括号,括号里面是合法的EL表达式。该结构可以出现在JSP页面模板文本中,也可以出现在JSP标签的属性中。

JSP隐含变量

  1. request与response变量。
  2. out变量。是输出流对象,使用它的print方法可向客户端打印输出所有的基本数据类型、字符串,以及用户自定义的对象。
  3. application变量。application是应用上下文对象(javax.servlet.ServletContext类对象),在jsp页面中使用和在Servlet中使用相同。
  4. session变量。会话对象,要使用会话对象,必须要求JSP页面参加HTTP会话,即要求将JSP页面的page指令中的session属性设置为true。
  5. pageContext变量。是页面上下文对象,它是javax.servlet.jsp.PageContext类的实例,主要有以下3个作用。

1)         存储隐含对象的引用。

2)         提供了在不同作用域内返回或设置属性的非常便捷的方法。

3)         提供了forward()方法和include()方法实现将请求转发到另一个资源和将一个资源的输出包含到当前页面中的功能。

4)         config变量。

5)         exception变量,异常对象。它被用阿里进行异常处理。

作用域对象

在jsp页面中有4个作用域对象,它们的类型分别是ServletContext、HttpSession、HttpServletRequest和PageContext,这4个作用域分别称为应用(application)作用域,会话(session)作用域、请求(request)作用域和页面(page)作用域。

阅读笔记—JSP的更多相关文章

  1. 阅读笔记 1 火球 UML大战需求分析

    伴随着七天国庆的结束,紧张的学习生活也开始了,首先声明,阅读笔记随着我不断地阅读进度会慢慢更新,而不是一次性的写完,所以会重复的编辑.对于我选的这本   <火球 UML大战需求分析>,首先 ...

  2. [阅读笔记]Software optimization resources

    http://www.agner.org/optimize/#manuals 阅读笔记Optimizing software in C++   7. The efficiency of differe ...

  3. 《uml大战需求分析》阅读笔记05

    <uml大战需求分析>阅读笔记05 这次我主要阅读了这本书的第九十章,通过看这章的知识了解了不少的知识开发某系统的重要前提是:这个系统有谁在用?这些人通过这个系统能做什么事? 一般搞清楚这 ...

  4. <<UML大战需求分析>>阅读笔记(2)

    <<UML大战需求分析>>阅读笔记(2)> 此次读了uml大战需求分析的第三四章,我发现这本书讲的特别的好,由于这学期正在学习设计模式这本书,这本书就讲究对uml图的利用 ...

  5. uml大战需求分析阅读笔记01

    <<UML大战需求分析>>阅读笔记(1) 刚读了uml大战需求分析的第一二章,读了这些内容之后,令我深有感触.以前学习uml这门课的时候,并没有好好学,那时我认为这门课并没有什 ...

  6. Hadoop阅读笔记(七)——代理模式

    关于Hadoop已经小记了六篇,<Hadoop实战>也已经翻完7章.仔细想想,这么好的一个框架,不能只是流于应用层面,跑跑数据排序.单表链接等,想得其精髓,还需深入内部. 按照<Ha ...

  7. Hadoop阅读笔记(六)——洞悉Hadoop序列化机制Writable

    酒,是个好东西,前提要适量.今天参加了公司的年会,主题就是吃.喝.吹,除了那些天生话唠外,大部分人需要加点酒来作催化剂,让一个平时沉默寡言的码农也能成为一个喷子!在大家推杯换盏之际,难免一些画面浮现脑 ...

  8. Hadoop阅读笔记(五)——重返Hadoop目录结构

    常言道:男人是视觉动物.我觉得不完全对,我的理解是范围再扩大点,不管男人女人都是视觉动物.某些场合(比如面试.初次见面等),别人没有那么多的闲暇时间听你诉说过往以塑立一个关于你的完整模型.所以,第一眼 ...

  9. Hadoop阅读笔记(四)——一幅图看透MapReduce机制

    时至今日,已然看到第十章,似乎越是焦躁什么时候能翻完这本圣经的时候也让自己变得更加浮躁,想想后面还有一半的行程没走,我觉得这样“有口无心”的学习方式是不奏效的,或者是收效甚微的.如果有幸能有大牛路过, ...

随机推荐

  1. BZOJ 3637: Query on a tree VI LCT_维护子树信息_点权转边权_好题

    非常喜欢这道题. 点权转边权,这样每次在切断一个点的所有儿子的时候只断掉一条边即可. Code: #include <cstring> #include <cstdio> #i ...

  2. oracle创建静态监听

    [oracle@localhost admin]$ pwd /u01/app/oracle/product/11.2.0/dbhome_1/network/admin [oracle@localhos ...

  3. C++输入流

    输出流基本概念  输出流定义在头文件中.大部分程序都会包含头文件,这个头文件又包含了输入流和输出流头文件.头文件还声明了标准控制台输出流cout.  使用输出流的最简单的方法是使用<<运算 ...

  4. Android后台进程与前台线程间的区别使用

    博客出自:http://blog.csdn.net/liuxian13183,转载注明出处! All Rights Reserved ! 很早就翻译过Android API的一篇文章Android高级 ...

  5. hadoop(八) - sqoop安装与使用

    一. sqoop安装: 安装在一台节点上就能够了. 1. 使用winscp上传sqoop 2. 安装和配置 加入sqoop到环境变量 将数据库连接驱动mysql-connector-5.1.8.jar ...

  6. 浏览器Console创建canvas base64 png图片

    火狐中运行:console.log var canvas = document.createElement('canvas'); canvas.width =1 canvas.height =1 ca ...

  7. 13. Intellij IDEA调试功能使用总结

    转自:https://www.cnblogs.com/Bowu/p/4026117.html 这段时间一直在使用Intellij IDEA, 今天把调试区工具的使用方法记录于此. 先编译好要调试的程序 ...

  8. 3.菜鸟教你一步一步开发 web service 之 axis 服务端创建

    转自:https://blog.csdn.net/shfqbluestone/article/details/37610601 第一步,新建一个工程,如图: 选 Java 写一个工程名,选择好工程路径 ...

  9. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  10. Java的位运算符——&0xFF的运算与讲解

    快放元旦假,没心思做啥的事,就去翻以前的代码遇到这句,但是又不懂,所以只好上网找,终于懂了那么一点点. 所以那个大神看到我说的有问题,请指出!谢谢.... 一:首先区分一下 A~F的意思先 A,代表十 ...