JSP概述


  JSP(IAVA SERVER PAGES)是由Sun 公司在java语言上开发出来的一种动态网页制作技术,其可使您可以将网页中的动态部分和静态的HTML相分离。您可以使用平常得心应手的工具并按照平常的方式来书写HTML语句。然后,将动态部分用特殊的标记嵌入即可,这些标记常常以“<%”开始并以“%>”结束。例如,这儿有一个JSP页面:

<html>

<head><title>jsp教程</title></head>

<body>

<I><%out.println(“hello world”);%></I>

</body></html>

它将输出“hello world”。

  通常,您要将文件以“.jsp”为扩展名,并将它放置到任何您可以放置普通WEB页面的路径下。尽管JSP文件看起来更象是HTML文件而不是Servlet文件,但,事实上,它恰恰将转换为Servlet文件,其中的静态HTML仅仅用来输出Servlet服务方法返回的信息。如果JSP pages 已经被转换为Servlet且Servlet 被编译进而被装载(在第一次被Request时),当您再次Request 此JSP页面时,将察觉不到一瞬的延迟。也请留意这个现象,一些Web Servers允许您为它定义别名,从而,好象一个URL是指向一个HTML,但事实上它指向的是一个Servlet 或JSP pages.

  构造一个JSP page,除了可内嵌的规则的HTML,还有三类主要的JSP元素:Scripting elements,Directives,和 Actions.使用Scripting elements您可以定义最终转换为Servlet的部分,Directives 使您可以控制这个Servlet的整体结构,而Actions使您可以指定可重用的已有组件,另外,还可控制JSP引擎的运行。为了简化Scripting elements,您可以在某一段上利用一些预定义的变量,如request。

本教程式是以JSP最新的1.1版本,进行讲解的。其语法概括如下表,其详细使用在随后的课程中详细讲解.


JSP 元素
语法
解释

JSP Expression
<%= 表达式 %>
Expression 用于计算并用于输出。
<jsp:expression>表达式</jsp:expression>,可使用的预定义的变量有request, response, out, session, application, config, and pageContext(在Sriptlets中也可使用)。

JSP Scriptlet
<% 代码 %>
插入用于服务的代码。
<jsp:scriptlet>代码</jsp:scriptlet>

JSP Declaration
<!% 代码 %>
属于Servlet部分的代码但并不是服务方法。
<jsp:declaration>代码</jsp:declaration>

JSP page Directive
<%@ page att=”val” %>
指向Servlet引擎的路径。
<jsp:directive.page att="val"\>. 以下是其合法的属性(缺省值加粗):

l import="package.class"


l contentType="MIME-Type"


l isThreadSafe="true|false"


l session="true|false"


l buffer="sizekb|none"


l autoflush="true|false"


l extends="package.class"


l info="message"


l errorPage="url"


l isErrorPage="true|false"


l language="java"


JSP include Directive
<%@ include file =”URL” %>
当JSP page被翻译成Servlet 时将被包含进去的本地系统上的文件。
<jsp:directive.include file=”URL”\> 这个URL必须是相对的。当页面被请求时才用 “jsp:include action”调入。

JSP 注释
<%-- 注释--%>
当JSP 转换为Servlet 时将被忽略。
<-- 注释 -->

The JSP:include Action
<jsp:include page=”relative URL” flush=”true”/>
在页面被请求(Requested)时调入文件。
如果您想要在页面被转化(Translated)时将文件包含进来,则,请使用上面所提到的directive来代替。警告:在一些服务器上(Servers),被包含的文件只能是HTML或JSP,一般以文件的后缀名来判定。

The jsp:useBean Action
<jsp:useBean att=val*/>或<jsp:useBean att=val*>
…..
</jsp:useBean>
寻找或生成一个Java Bean.
可能的属性是:

l id="name"


l scope="page|request|session|application"


l class="package.class"


l type="package.class"


l beanName="package.class"


The jsp:setProperty Action
<jsp:setProperty att=val*/>
设置bean的属性,通过明确的指定或使用request得到的参数。
合法的属性:

l name="beanName"


l property="propertyName|*"


l param="parameterName"


l value="val”


The jsp:getProperty Action
<jsp:getProperty name=”propertyName” value=”val”/>
检索并输出bean的属性。

The jsp:forward Action
<jsp:forward page=”relative URL”/>
向前请求(request)另一个页面。


The jsp:plugin Action
<jsp:plugin attribute=”value”*>
</jsp:plugin>
生成特定的浏览器的OBJECT 或EMBED标签,用来明确运行Applet所 使用的JAVA插件(plugin)。

JSP教程(一)的更多相关文章

  1. html5 拖拽及用 js 实现拖拽功能的示例代码

    这篇文章主要介绍了html5 拖拽及用 js 实现拖拽,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  2. amaze ui 的使用详细教程

    这篇文章主要介绍了amaze ui 的使用详细教程,本文通过多种方法给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  3. iOS – 开始iOS教程 – 变量之前的下划线?

    这是正确的还是我做错了什么?

  4. Swift开发快速上手系列教程目录-陆续完善,由浅入深

    Swift开发教程一.Swift基础Swift教程01-使用switfc终端命令编译运行swift程序Swift教程02-抓住下一个浪潮之巅Swift教程03-playground剖析swift语言Swift教程04-定义声明变量重要原则Swift教程05-基本数据类型(一)整型浮点型Swift教程06-基本数据类型(二)Bool布尔类型对比Java-boolean,Objc-BOOLSwift教

  5. swift皮筋弹动发射飞机ios源码

    这是一个款采用swift实现的皮筋弹动发射飞机游戏源码,游戏源码比较详细,大家可以研究学习一下吧。

  6. Swift2.0不深入只浅出入门教程-01-The Basic

    本套视频教程是Swift2.0的入门教程,如果你看过其他的教程,可以不看这套教程,录制这套教程的目的,一个是为了自学,一个是为之后自己的另一套教程打基础。本期教程主要介绍Swift语言的一些基础知识。由于CSDN学院的课程审核还没有通过,所以暂时就放到了百度网盘。

  7. Swift教程-视频拍摄教程

    在此教程中,我们将拍摄一段保存到手机相册的视频。教程运行在iOS8.4和Xcode6.4下。打开Xcode并创建一个newSingleViewApplication,项目名称为IOS8SwiftTakeVideoPlayerTutorial,接着填上你的OrganizationName和OrganizationIdentifier,选择Swift语言,在设备一栏只选择iPhone。ImagePickerController的数据可以是Camera或Movie两种类型。视频的maximum长度设置为10秒。

  8. 详解 SiriKit - SiriKit 教程Part 2

    此文章是SiriKit教程系列的第二篇,建议先去阅读第一篇。处理SiriKit请求为了让集成的Siri更有用,可以使用INSendMessageIntentHandling协议的回调方法增加信息内容。协议有以下可选方法:只要实现这些方法,就可以给SiriKit提供更多信息,例如接收者、内容、小组名字、服务名字或者发送者。后面会详细说明区别,现在先介绍如何使用Siri提供的数据。Siri传入的intent对象包含文字版的消息内容。现在当我们尝试发送消息时,SiriKit就明白必须要提供内容值。

  9. swift 学习资源 - Swift 语言指南

    对于精选项目及文章,可直接访问《Swift项目精选》和《Swift文章精选》。对于Swift开源及跨平台开发的同学,可以关注swift.org教程文章开源项目推荐网站苹果官方Swift:Swift概述、博客以及开发资源。swift.org:开源后独立出来的Swift开源社区。ksm/SwiftInFlux:作者将AppleDeveloperForums上有关Swift特性、缺陷及变更讨论分类汇总并更新到GitHub,具有很好的可读性。从中可以一窥Swift缺陷及未来潜在地变化。近期第一时间出了三本Swif

  10. 10.5 Swift类方法

    /**类型方法通过类名称来调用的方法,就像类型属性一样。

随机推荐

  1. 基于EJB技术的商务预订系统的开发

    用EJB结构开发的应用程序是可伸缩的、事务型的、多用户安全的。总的来说,EJB是一个组件事务监控的标准服务器端的组件模型。基于EJB技术的系统结构模型EJB结构是一个服务端组件结构,是一个层次性结构,其结构模型如图1所示。图2:商务预订系统的构架EntityBean是为了现实世界的对象建造的模型,这些对象通常是数据库的一些持久记录。

  2. Java利用POI实现导入导出Excel表格

    这篇文章主要为大家详细介绍了Java利用POI实现导入导出Excel表格,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  3. Mybatis分页插件PageHelper手写实现示例

    这篇文章主要为大家介绍了Mybatis分页插件PageHelper手写实现示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  4. (jsp/html)网页上嵌入播放器(常用播放器代码整理)

    网页上嵌入播放器,只要在HTML上添加以上代码就OK了,下面整理了一些常用的播放器代码,总有一款适合你,感兴趣的朋友可以参考下哈,希望对你有所帮助

  5. Java 阻塞队列BlockingQueue详解

    本文详细介绍了BlockingQueue家庭中的所有成员,包括他们各自的功能以及常见使用场景,通过实例代码介绍了Java 阻塞队列BlockingQueue的相关知识,需要的朋友可以参考下

  6. Java异常Exception详细讲解

    异常就是不正常,比如当我们身体出现了异常我们会根据身体情况选择喝开水、吃药、看病、等 异常处理方法。 java异常处理机制是我们java语言使用异常处理机制为程序提供了错误处理的能力,程序出现的错误,程序可以安全的退出,以保证程序正常的运行等

  7. Java Bean 作用域及它的几种类型介绍

    这篇文章主要介绍了Java Bean作用域及它的几种类型介绍,Spring框架作为一个管理Bean的IoC容器,那么Bean自然是Spring中的重要资源了,那Bean的作用域又是什么,接下来我们一起进入文章详细学习吧

  8. 面试突击之跨域问题的解决方案详解

    跨域问题本质是浏览器的一种保护机制,它的初衷是为了保证用户的安全,防止恶意网站窃取数据。那怎么解决这个问题呢?接下来我们一起来看

  9. Mybatis-Plus接口BaseMapper与Services使用详解

    这篇文章主要为大家介绍了Mybatis-Plus接口BaseMapper与Services使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

  10. mybatis-plus雪花算法增强idworker的实现

    今天聊聊在mybatis-plus中引入分布式ID生成框架idworker,进一步增强实现生成分布式唯一ID,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部