站内搜索: 请输入搜索关键词

当前页面: 开发资料首页JSP 专题Base-Jsp-1-基本概念

Base-Jsp-1-基本概念

摘要: Base-Jsp-1-基本概念

v 基本概念

Ø Jsp是一种用来开发含有动态内容网页的技术。

动态内容:可以根据任意变量改变网页自身的内容。

Ø Jsp页面包含标准的标记语言元素,入HTML标签,也包含特殊的Jsp元素。这些元素使

得服务器可以把动态内容插入到网页中。

当用户请求一个Jsp页面时,服务器先执行Jsp元素,并把结果同网页的静态部分向结

合,然后把动态合成的页面送回到浏览器。

浏览器 服务器

<body> <body>

动态内容 Jsp元素

</body> </body>

Ø Jsp允许将特殊的元素嵌入HTML页面中,这些元素看起来和HTML元素类似,但它们实际上是组件化的Java程序。

ØJsp页面在有服务器进行处理前通常会得到编译。一次编译后,随后的请求会直接调用编译后的结果代码。

Ø 对于web应用程序中的页面,如果路径是以斜线开始的,容器会将其解释为环境相关的路径(从应用程序安装目录根部开始的文件路径)

Øweb application的目的是利用你当前拥有的任何一种设备(pc、pda),取得所需要的所有信息和服务,要做到这一点,就必须详细的规定客户端和服务器直接的通信协议,这正是HTTP的目的。

HTTP所定义的通信模型是所有web application设计的基础。

ØHTTP 请求/应答模型:一个客户端为了得到服务器上的一种资源而向服务器发出一个请求,服务器则返回一个与所请求相对应的应答。

i) HTTP是一种无状态的协议,即服务器发送应答后,不会保留客户端的任何信息,因此已经无法分辨来自同一个客户端的多个请求肯相同(session、cookie的出现)。

ii) Web application无法提供即时反馈,客户端和服务器的每一次交换都需要一次请求/应答。(JavaScript的出现)

iii) HTTP中不包含任何服务器端调用客户端特有函数的方法,也没有信息告诉服务器一个请求是如何产生的。

Ø 用户单击网页上的一个链接,提交一个表单、或在浏览器的地址栏中输入一个Web地址,

用户就相服务器发送了一个请求。

为了知道和哪个服务器进行通信,需要用HTTP URL来指定。如:

http://www.google.com:8080/index.html

表明请求需要HTTP协议,www.google.com是服务器名称、8080是web服务器等待从

每个特定的TCP/IP端口进入的请求(标准端口80不需要在URL中指定),index.html

确定了客户端所请求的资源。

Ø URI不必对应服务器上的某个静态文件,它可以标识一个可执行程序,数据库中的一条记录等,事实上没有办法知道/index.html直观URI所对应的是一个文件还是什么东西,它只是一个名称,这就是为什么使用通称“资源”的原因。经过配置,web服务器可以把名称和资源对应起来。

Ø 对应浏览器而言,请求的处理方式无关紧要,它所关心的只是要得到一个应答。

Ø 请求参数可以用两种方式来发送

i) 以请求字符串的形式发送(get,查询字符串以’?’号开始,’&’号分隔名称/值对组成,这些名称/值对必须经过URL编码,编码方式为16进制的ASCII码,即非字母是数字的特殊符合都要经过编码,以免和URI中的其他组成部分混淆)。

对于get方法,浏览器可以硬编码URL作为书签保存,应答将被保存在浏览器客户端,这样再次发送一次geg请求的话,不会造成任何的破坏。而post方法则不容易做到这点。

ii) 作为请求消息主体的一部分发送(post)

Jsp页面分析

i) 页面中任何不是JSP元素的东西都叫做模板文本,模板文本可以是任何文本:HTML、XML等,模板文本一般直接传送到浏览器。

ii) 在处理一个JSP页面请求时,模板文本将和JSP元素产生的动态内容组合起来,组合的结果将作为应答发送个浏览器。

iii) 服务器执行JSP时首先转换为servlet,所有的模板文本被转换为println()语句,所有的JSP元素都被实现为相应的Java代码,然后容器再编译servlet.

Ø JSP有3中类型的元素

i) 指令元素:指定关于页面本身的一些信息,这些信息在各个页面请求间保持不变。如<%@ page…%><%@ include…%> <%@ taglib…%>,指令元素只在翻译阶段执行。

ii) 行为元素:在浏览器请求JSP页面时,根据它所需要的信息来执行某些动作。包括标准行为元素(),自定义行为元素和JSP标准标记库(JSTL),

行为元素是在运行时执行的动态行为。所有标准行为元素都是有规范定义的,因此不需要用taglib指令声明标准行为。

web应用程序启动时,容器会自动扫描整个WEB-INF目录结构,查找带有.tld扩展名的文件(这是TLD文件必须的扩展名),以及在它们的META-INF目录中含有扩展名.tld的文件。换句话说,就是容器会查找所有TLD文件。tag引用的URL不必是现有的网页,它只是一个标示符。容器并不会试图通过Internet来访问它。

<%taglib prefix=”ora” uri=”orataglib”%>

… … orataglib

motd

Com.ora.tags.MotdTag

对于行为指令,容器对待属性值与对待bean属性值一样,都会同样做类型转换。

iii) 脚本元素:添加到页面的小段代码(一般为Java代码),现已不提倡使用。

Ø web application中MVC分为:商业逻辑(模型)、外观呈现(视图)和请求处理(控制)。

ØJSP元素和属性名是区分大小写的。

Ø 用户在表单文本框输入的值、单选按钮、复选框选择后,这些值会作为请求中的HTTP

请求参数发送出去。

Ø MIME类型,HTML->text/html; XML->text/xml;PDA: ->Text/vnd.wap.wml。

Content-type作为应答首部发送给浏览器,因此浏览器知道如何解释

↑返回目录
前一篇: Base-Jsp-2-JavaBeans
后一篇: JSP代码(添加,查询)