分享
 
 
 

Base-Jsp-1-基本概念

王朝java/jsp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

v 基本概念

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

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

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

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

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

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

浏览器 服务器

<html> <html>

<body> <body>

动态内容 Jsp元素

</body> </body>

</html> </html>

Ø 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:usebean>),自定义行为元素和JSP标准标记库(JSTL),

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

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

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

… … <uri>orataglib</uri>

<ora:motd category=”thoughts”/> <tag>

<name>motd</name>

<tag-class>

Com.ora.tags.MotdTag

</tag-class>

</taglib>

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

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

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

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

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

请求参数发送出去。

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有