J2EE基础之JSP
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的更多相关文章
- J2EE基础之EJB
J2EE基础之EJB 1.什么是EJB? EJB(Enterprise Java Beans),是JavaEE中的商业应用组件技术,是JavaEE三大组件(Servlet,JSP,EJB) ...
- J2EE基础之JavaBean
J2EE基础之JavaBean 1.什么是JavaBean? JavaBean本质上来说就是一个Java类,它通过封装属性和方法成为具有独立功能.可重复使用的,并可以与其他控件通信的组件对象.通过在J ...
- J2EE基础之Web服务简介
J2EE基础之Web服务简介 1.什么是Web服务? 在人们的日常生活中,经常会查询网页上某城市的天气信息,这些信息都是动态的.实时的,它是专业的气象站提供的一种服务.例如,在网上购物时,通常采用网上 ...
- J2EE基础之Servlet
J2EE基础之Servlet 1. 什么是Servlet? Servlet即Java服务小程序,是使用应用程序设计接口以及相关类和方法的Java程序.它可以作为一种插件,像Applet程序一样嵌入到 ...
- J2EE基础总结(1)——J2EE入门
J2EE诞生的背景 在传统的开发模式(单层应用结构)下.应用普遍存在下面致命缺点: - 数据.页面和业务逻辑在一个逻辑层次中.功能紧密耦合. - 代码重用性极低,可维护性差. - 应用耦合度高,全然没 ...
- 剑指Offer——知识点储备-J2EE基础
剑指Offer--知识点储备-J2EE基础 9.2 jdk 1.8的新特性(核心是Lambda 表达式) 参考链接:http://www.bubuko.com/infodetail-690646.ht ...
- J2EE基础总结(4)——JSP
什么是JSP JSP全名为Java Server Pages,中文名叫javaserver页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导.很多 ...
- [J2EE基础]初识JSP和Servlet
近期须要用到J2EE,就開始学习与J2EE相关的知识了. JSP是一种Javaserver端技术,它用于在网页上显示动态内容. Tomcat相关知识 JSP的运行过程 JSP的页面构成元素 JSP的凝 ...
- J2EE基础篇——十三个规范
背景: 1.企业级应用框架的需求,在很多企业级应用中.比如数据库连接.邮件服务.事务处理等都是一些通用企业需求模块,这些模块假设每次在开发中都由开发者来完毕的话,将会造成开发周期长和代码可靠性差等问题 ...
随机推荐
- 内置对象session ,cookic,Application,ViewState
一.内置对象 (一)Response - 响应请求对象1.定义:Response对象用于动态响应客户端请示,控制发送给用户的信息,并将动态生成响应.Response对象只提供了一个数据集合cookie ...
- [开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [二] 基本使用
[DotnetSpider 系列目录] 一.初衷与架构设计 二.基本使用 三.配置式爬虫 四.JSON数据解析与配置系统 使用环境 Visual Studio 2015 or later .NET 4 ...
- SQL Server中的GUID
GUID(Global unique identifier)全局唯一标识符,它是由网卡上的标识数字(每个网卡都有唯一的标识号)以及 CPU 时钟的唯一数字生成的的一个 16 字节的二进制值. GUID ...
- sqlHelper做增删改查
1.把数据库里面的数据显示出来 sqlHelper怎么用:[网上可以下载,需要可以找楼主要] 1.拷贝到项目,修改它的命名空间等于当前项目名称 2.数据库的连接信息,用户名,密码,登录方式等 < ...
- Session中load/get方法的详细区别
Session.load/get方法均可以根据指定的实体类和id从数据库读取记录,并返回与之对应的实体对象.其区别在于: 如果未能发现符合条件的记录,get方法返回null,而load方法会抛出一个O ...
- Python_实现三级目录展示
要求: 1.三级菜单 2.可依次选择进入各子菜单,选择序号进入目录 3.输入b返回上级目录,q退出更改目录 代码实现: #!/bin/env python #!--*--coding:utf-8 -- ...
- JS效果集锦
秒后消失 $('.success_message').text( '反馈成功' ); setTimeout(function(){ $( ".success_messa ...
- entityframework学习笔记--002-database first
1.实体框架紧紧地和Visual Studio集成在一起,为了在你的应用程序中使用实体框架,我们增加一个ADO.NET实体数据框架到你的项目.方法如下: 右键你的项目,然后选择 ➤New Item(新 ...
- asp.net identity 介绍
Asp.Net Identity 设计目标 微软在 asp.net 2.0 引入了 membership,为 asp.net 应用程序提供身份验证和授权功能.membership 假定用户在网站注册, ...
- SharePoint Conference 2014 Keynote
让我们来看看今年 SharePoint Conference 2014 的重点都是些什么内容.虽然 BI 那个视频很有趣儿,但是 keynote 可能更重要一些,所以,先研究 keynote. 概括来 ...