J2EE基础之JSP

1、JSP简介

JSP是JavaServer的缩写,是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。在HTML文件中加入Java程序代码就构成了JSP网页。Web服务器在遇到访问JSP网页的请求时,首先执行其中的Java程序代码,然后将执行结果以HTML形式返回给客户端。实际上,从另一方面来说,JSP的实质是Servlet,其在发布编译运行时会被转换成标准的Servlet,该转换过程一般在出现第一次页面请求时就会发生。

JSP设计的目的在于简化表示层的展示。JSP中没有增加任何本质上不能用Servlet实现的功能。但是,在JSP中编写静态HTML,更加方便,不必再用println语句来输出每一行HTML代码。更重要的是,借助内容和外观的分离,页面制作中不同性质的任务可以方便地分开。

除了普通的HTML代码之外,嵌入JSP页面的其他成分主要包括以下三种:脚本元素、指令、动作。其中,脚本元素是用来嵌入Java代码,这一 部分Java代码将直接转换为Servlet的一部分;JSP指令用来从整体上控制Servlet的结构;JSP动作用于引入现有的组件以控制Web容器的行为。另外,为了简化脚本元素,JSP定义了一组可以直接使用的内部对象变量。

2、JSP指令

JSP指令是从JSP向Web容器发送的消息,它用来设置页面的全局属性,如输出内容类型等。指令的作用范围仅限于包含指令本身的JSP页面。

JSP指令的格式为:

<%@指令名 属性=”属性值”%>

指令名有page、include和tablib三种。具体如下:

(1)page指令

page指令用来定义整个JSP页面的全局属性。合法的page属性有language、import、session、contentType、isThreadSafe、buffer、autoflush、extends、info、errroPage、isErrorPage等。

(2)include指令

JSP页面可通过include指令将其他文件插入到当前页面中。这个文件可以是JSP文件、HTML文件或文本文件。include指令的格式为:

<%@include file = “relativeURL”%>

include指令的主要作用是在一个Web应用中,当多个JSP页面包含相同的内容时,可以把相同的部分放在一个文件中,然后在其他文件中用include指令包含这个文件即可。这样做的好处,当要修改这一部分文件代码是,只需修改一个文件即可。

(3)taglib指令

当需要在JSP文件中使用自定义的标签时,可以通过使用taglib指令来指定。格式为:<%@taglib uri=”URItoTagLibrary”prefix=”tagPrefix”%>

其中,URI为统一资源标记符,prefix是标签库的识别符,可以根据此prefix对自定义的标签进行唯一的命名。

3、JSP动作

JSP动作是一组动态执行的指令,用于控制Web容器的行为。利用JSP动作可以动态地向页面中插入文件、重写JavaBean组件、导向另一个页面等。常见的JSP动作有以下四种:

(1)include动作

include动作把指定文件插入正在生成的页面,其格式如下:

<jsp:include page=”relativeURL” flush=”true|false”>

include动作和include指令在执行过程中有很大的不同。include动作在执行时不对包含的文件进行处理,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果。而静态的include指令包含的文件如果发生变化,必须重新编译,否则只能看到所包含文件修改前的内容。因此,除非被包含文件经常改动,否则使用include指令奖获得更好的性能。

(2)forward动作

forward动作用于把当前的JSP页面导向另一个页面,客户端看到的地址是当前网页的地址,而实际内容却是另一个页面的。其格式如下:

<jsp:forward page=”relativeURL”>

(3)param动作

param动作用于传递参数信息,必须配合include动作或forward动作一起使用。格式如下:

<jsp:param name=参数名称,value=值/>

(4)useBean动作

UseBean动作能够让JSP网页使用JavaBean,从而能够充分应用Java的重要性。通过使用useBean动作,可在JSP网页中实例化一个或多个JavaBean组件,这些被实例化的JavaBean对象可以在JSP中被调用。其格式为:

<jsp:useBean id=”name” class=”classname” scope=”page|request|session|application”>

4、JSP内置对象

JSP提供了可在脚本中使用的内置对象,这些对象使用户更容易收集通过浏览器请求发送的信息、响应浏览器及存储用户信息。JSP共提供九中内置对象:request、response、out、session、application、config、pagecontext、page和exception。常用的有以下六种:

(1)request对象

request对象是JSP中最常用的对象,代表来自客户端的请求,它封装了用户提交的信息,例如在FORM表单中填写的信息等,通过调用request对象相应的方法可以获取关于客户请求的信息。

(2)response对象

response对象用于将服务器数据发送到客户端以响应客户端的请求。可以通过response对象来组织发送到客户端的信息,如Cookie、HTTP头文件等。但是由于组长方式比较底层,所以一般不建议使用,需要向客户端发送文字时直接使用out对象即可。

(3)session对象

session对象指的是客户端与服务器的一次会话,从客户端连到服务器的一个Web应用程序开始,直到客户端与服务器断开为止。

(4)application对象

如果客户浏览不同的Web页面,将产生不同的application对象。同一个Web应用中的所有JSP页面都将存取同一个application对象,即使浏览这些JSP网页的客户不是同一个也是如此。application对象一旦创建,除非服务器关闭,否则将一直保持下去。

(5)out对象

out对象能将特定的数据内容搭配JSP程序代码动态输出到客户端的浏览器。

(6)exception对象

exception对象用来处理JSP文件在执行时所有发生的错误和异常。

J2EE基础之JSP的更多相关文章

  1. J2EE基础之EJB

    J2EE基础之EJB 1.什么是EJB?       EJB(Enterprise Java Beans),是JavaEE中的商业应用组件技术,是JavaEE三大组件(Servlet,JSP,EJB) ...

  2. J2EE基础之JavaBean

    J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...

  3. J2EE基础之Web服务简介

    J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...

  4. J2EE基础之Servlet

    J2EE基础之Servlet 1.  什么是Servlet? Servlet即Java服务小程序,是使用应用程序设计接口以及相关类和方法的Java程序.它可以作为一种插件,像Applet程序一样嵌入到 ...

  5. J2EE基础总结(1)——J2EE入门

    J2EE诞生的背景 在传统的开发模式(单层应用结构)下.应用普遍存在下面致命缺点: - 数据.页面和业务逻辑在一个逻辑层次中.功能紧密耦合. - 代码重用性极低,可维护性差. - 应用耦合度高,全然没 ...

  6. 剑指Offer——知识点储备-J2EE基础

    剑指Offer--知识点储备-J2EE基础 9.2 jdk 1.8的新特性(核心是Lambda 表达式) 参考链接:http://www.bubuko.com/infodetail-690646.ht ...

  7. J2EE基础总结(4)——JSP

    什么是JSP       JSP全名为Java Server Pages,中文名叫javaserver页面,其根本是一个简化的Servlet设计,它是由Sun  Microsystems公司倡导.很多 ...

  8. [J2EE基础]初识JSP和Servlet

    近期须要用到J2EE,就開始学习与J2EE相关的知识了. JSP是一种Javaserver端技术,它用于在网页上显示动态内容. Tomcat相关知识 JSP的运行过程 JSP的页面构成元素 JSP的凝 ...

  9. J2EE基础篇——十三个规范

    背景: 1.企业级应用框架的需求,在很多企业级应用中.比如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题 ...

随机推荐

  1. 内置对象session ,cookic,Application,ViewState

    一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie ...

  2. [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [二] 基本使用

    [DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 使用环境 Visual Studio 2015 or later .NET 4 ...

  3. SQL Server中的GUID

    GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...

  4. sqlHelper做增删改查

    1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...

  5. Session中load/get方法的详细区别

    Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...

  6. Python_实现三级目录展示

    要求: 1.三级菜单 2.可依次选择进入各子菜单,选择序号进入目录 3.输入b返回上级目录,q退出更改目录 代码实现: #!/bin/env python #!--*--coding:utf-8 -- ...

  7. JS效果集锦

    秒后消失 $('.success_message').text( '反馈成功' );    setTimeout(function(){         $( ".success_messa ...

  8. entityframework学习笔记--002-database first

    1.实体框架紧紧地和Visual Studio集成在一起,为了在你的应用程序中使用实体框架,我们增加一个ADO.NET实体数据框架到你的项目.方法如下: 右键你的项目,然后选择 ➤New Item(新 ...

  9. asp.net identity 介绍

    Asp.Net Identity 设计目标 微软在 asp.net 2.0 引入了 membership,为 asp.net 应用程序提供身份验证和授权功能.membership 假定用户在网站注册, ...

  10. SharePoint Conference 2014 Keynote

    让我们来看看今年 SharePoint Conference 2014 的重点都是些什么内容.虽然 BI 那个视频很有趣儿,但是 keynote 可能更重要一些,所以,先研究 keynote. 概括来 ...