JSP实用教程的介绍
JSP实用教程包含实用教程、习题、实验、综合应用等几个部分。实用教程部分比较系统地介绍了HTML语言、JSP基础、JSP服务器对象、JSP与JavaBean、JSP操作数据库、JSP综合应用实例、JavaBean综合应用实例及JSP页面设计常用技术等内容。“实用教程”一般是在讲解内容后紧跟实例。“习题”部分突出了JSP基础内容训练。“实验’’部分与教程配套和同步,通过实例先引导编程,然后在原来基础上自己进行修改和扩充练习。“综合应用”是进行JSP综合应用训练。通过本教程的学习、上机操作指导和对综合应用实例的模仿,读者基本能够掌握用JSP解决小的应用问题。
JSP的介绍
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它1是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中的java扩展(以 形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。
详细讲解JSP自定义标签
一 基本概念 标签(Tag) 标签是一种XML元素 通过标签可以使JSP网页变得简洁并且易于维护 还可以方便地实现同一个JSP文件支持多种语言版本 由于标签是XML元素 所以它的名称和属性都是大小写敏感的 标签库(Tag library) 由一系列功能相似 逻辑上互相联系的标签构成的集合称为标签库 标签库描述文件(Tag Library Descriptor) 标签库描述文件是一个XML文件 这个文件提供了标签库中类和JSP中对标签引用的映射关系 它是一个配置文件 和web xml是类似的 标签处理类(Tag Handle Class) 标签处理类是一个Java类 这个类继承了TagSupport或者扩展了SimpleTag接口 通过这个类可以实现自定义JSP标签的具体功能 二 自定义JSP标签的格式 为了使到JSP容器能够使用标签库中的自定义行为 必须满足以下两个条件 )从一个指定的标签库中识别出代表这种自定义行为的标签 )找到实现这些自定义行为的具体类 第一个必需条件 找出一个自定义行为属于那个标签库 是由标签指令的前缀(Taglib Directive s Prefix)属性完成 所以在同一个页面中使用相同前缀的元素都属于这个标签库 每个标签库都定义了一个默认的前缀 用在标签库的文档中或者页面中插入自定义标签 所以 你可以使用除了诸如jsp jspx java servlet sun sunw(它们都是在JSP白皮书中指定的保留字)之类的前缀 uri属性满足了以上的第二个要求 为每个自定义行为找到对应的类 这个uri包含了一个字符串 容器用它来定位TLD文件 在TLD文件中可以找到标签库中所有标签处理类的名称 当web应用程序启动时 容器从WEB INF文件夹的目录结构的META INF搜索所有以 tld结尾的文件 也就是说它们会定位所有的TLD文件 对于每个TLD文件 容器会先获取标签库的URI 然后为每个TLD文件和对应的URI创建映射关系 在JSP页面中 我们仅需通过使用带有URI属性值的标签库指令来和具体的标签库匹配 三 自定义JSP标签的处理过程 在JSP中引入标签库 在JSP中使用标签库标签 Web容器根据第二个步骤中的prefix 获得第一个步骤中声明的taglib的uri属性值 Web容器根据uri属性在web xml找到对应的元素 从元素中获得对应的元素的值 Web容器根据元素的值从WEB INF/目录下找到对应的 tld文件 从 tld文件中找到与tagname对应的元素 凑元素中获得对应的元素的值 Web容器根据元素的值创建相应的tag handle class的实例 Web容器调用这个实例的doStartTag/doEndTag方法完成相应的处理 四 创建和使用一个Tag Library的基本步骤 创建标签的处理类(Tag Handler Class) 创建标签库描述文件(Tag Library Descrptor File) 在web xml文件中配置元素 在JSP文件中引人标签库 五 TagSupport类简介 处理标签的类必须扩展javax servlet jsp TagSupport TagSupport类的主要属性 A parent属性 代表嵌套了当前标签的上层标签的处理类 B pageContex属性 代表Web应用中的javax servlet jsp PageContext对象 JSP容器在调用doStartTag或者doEndTag方法前 会先调用setPageContext和setParent方法 设置pageContext和parent 因此在标签处理类中可以直接访问pageContext变量 在TagSupport的构造方法中不能访问pageContext成员变量 因为此时JSP容器还没有调用setPageContext方法对pageContext进行初始化 六 TagSupport处理标签的方法 TagSupport类提供了两个处理标签的方法 public int doStartTag() throws JspException public int doEndTag() throws JspException doStartTag:但JSP容器遇到自定义标签的起始标志 就会调用doStartTag()方法 doStartTag()方法返回一个整数值 用来决定程序的后续流程 A Tag SKIP_BODY:表示?>…之间的内容被忽略 B Tag EVAL_BODY_INCLUDE:表示标签之间的内容被正常执行 doEndTag:但JSP容器遇到自定义标签的结束标志 就会调用doEndTag()方法 doEndTag()方法也返回一个整数值 用来决定程序后续流程 A Tag SKIP_PAGE:表示立刻停止执行网页 网页上未处理的静态内容和JSP程序均被忽略任何已有的输出内容立刻返回到客户的浏览器上 B Tag_EVAL_PAGE:表示按照正常的流程继续执行JSP网页 七 用户自定义的标签属性 如果在标签中还包含了自定义的属性 那么在标签处理类中应该将这个属性作为成员变量 并且分别提供设置和读取属性的方法 八 创建标签处理类的步骤 创建包含JSP网页静态文本的文件(即是要替换自定义JSP标签的文本) 在Web应用启动时装载静态文本 创建标签处理类 九 如何创建包含JSP网页静态文本的文件 使用java util Properties类来存放要替换网页中自定义JSP标签的静态文本 Properties类代表了一系列属性的集合 其实例既可以被保存到流中 也可以从流中加载 这些文本以key/value的形式存放在WEB INF目录下 例如key=value 在属性列表中这些key/value都是String类型的 十 Properties类的常用API setProperty(String key String value) 调用Hashtable类的put方法添加属性 getProperty(String key) 获取属性列表中key对应的属性值 load(InputStream in) 从输入流对象InputStream中读取属性列表(Properties list) store(OutputStream out String Ment) 使用适当的格式将属性列表的属性对写入输出流对象中 默认使用ISO 编码格式 以行的方式处理输入 属性的key/value之间以 = 配对 以回车 换行分隔key/value配对 十一 ServletContext类的常用API getContext(String uripath) 返回服务器中uripath所代表的ServletContext对象 getInitParameter(String name) 返回ServletConfig对象中name参数的值 getMineType(String file) 返回file参数代表的文件的MIME类型 getRequestDispatcher(String path) 返回path代表的RequestDispacher对象 getResourceAsStream(String path) 以输入流的形式返回path对应的资源 在输入留中对象可以为任意形式的数据 path参数必须以 / 开始且相对于Context Root 十二 如何使用ServletContxt读取并保存属性文件 创建java util Properties类对象 获取ServletContext对象 将属性文件以输入流的形式读入到某个输入流对象中 将输入流对象加载到Properties对象中 将Properties对象保存到ServletContext对象中 十三 如何在Web应用启动时装载静态文本 创建继承了HttpServlet类的子类 在web xml中配置这Servlet时设置load on startup属性 someclass somepackage SomeClass 在这个Servlet的init()方法中创建java util Properties类 获取当前Web应用的ServletContext对象 将WEB INF目录下的属性文件读入到输入流InputStream中 InputStream in = context getResourceAsString( WEB INF/someproperties properties ) 将输入流加载到属性对象中 ps load(in) 将属性对象保存到上 context setAttribute( attributeName ps) 十四 如何创建标签处理类 引入必需的资源 import javax servlet jsp *; import javax servlet *; import java util *; import java io *; 继承TagSupport类并覆盖doStartTag()/doEndTag()方法 从ServletContext对象中获取java util Properties对象 从Properties对象中获取key对应的属性值 对获取的属性进行相应的处理并输出结果 十五 创建标签库描述文件(Tag Library Descriptor) 标签库描述文件 简称TLD 采用XML文件格式 定义了用户的标签库 TLD文件中的元素可以分成 类 A 标签库元素 B 标签元素 C 标签属性元素 标签库元素用来设定标签库的相关信息 它的常用属性有 A shortname:指定Tag Library默认的前缀名(prefix) B uri:设定Tag Library的惟一访问表示符 标签元素用来定义一个标签 它的常见属性有 A name:设定Tag的名字 B tagclass:设定Tag的处理类 C bodycontent:设定标签的主体(body)内容 )empty:表示标签中没有body; )JSP:表示标签的body中可以加入JSP程序代码 )tagdependent:表示标签中的内容由标签自己去处理 标签属性元素用来定义标签的属性 它的常见属性有 A name:属性名称 B required:属性是否必需的 默认为false; C rtexprvalue:属性值是否可以为request time表达式 也就是类似于的表达式 十六 在Web应用中使用标签 如果Web应用中用到了自定义JSP标签 则必须在web xml文件中加入元素 它用于声明所引用的标签所在的标签库 /sometaglib /WEB INF/someTLD tld 设定Tag Library的惟一标示符 在Web应用中将根据它来引用Tag Libray; 指定和Tag Library对应的TLD文件的位置 在JSP文件中需要加入 prefix表示在JSP网页中引用这个标签库的标签时的前缀 uri用来指定Tag Library的标识符 它必须和web xml中的属性保持一致 lishixinzhi/Article/program/Java/hx/201311/25941
如何使用jsp自定义标签 JspTag 使用入门
1
jsp自定义标签需要引入两个jar 分别是
javax.servlet.jsp.jarjavax.servlet.jar
2
建立tld文件,建议目录为WEB-INF下,tld文件结构为下图,uri为整个标签库的名称,可以理解为java类,每一个tag分支,可以理解为java类中的每一个方法,我们在调用jsp自定义标签的时候就和调用java类一样,通过类找方法。tag分支重点要讲tag-class,该属性为该标签方法所指向的java类。attribute为参数,相信属性看步骤三附图。
3
关于tld文件属性的说明,可以参考下图
4
将tld文件引入web.xml中,建议名称与tld文件标签库名称一致
5
编写jsp自定义标签类,该类继承TagSupport类,我们需要做的就是重写doStartTag,我们可以通过JspWriter将后台处理的东西直接输出到jsp页面。当然了,输出的内容在实际操作中肯定经过了非常复杂的逻辑。
6
页面调用,首先需要引入标签,<%@
taglib uri="option" prefix="option"%> option为标签名
定义在tld文件中,引用之后就可以在页面调用自定义标签了,简单的一行代码。即可实现一个grid的输出,且可以重复利用。
用JSP操作Cookie
说起来 Cookie应该是一种应用较久的技术了 早在HTML刚刚出现的时候 在每个独立的页面之间没有办 法记录和标识不同的用户 后来人们就发明了Cookie技术 当用户访问网页时 它能够在访问者的机器上创立一个文件 我们把它叫作Cookie 写一段 内容进去 来标识不同的用户 如果下次用户再访问这个网页的时候 它又能够读出这个文件里面的内容 这样网页就知道上次这个用户已经访问过该网页了 虽然现在网页的制作技术比起几年以前已经发展了许多 不过有些时候 Cookie还是能够帮我们很多忙的 接下来 我们就来看看 如何在写jsp文件的时候 用JSP操作Cookie 二 写入Cookie 其实用JSP操作Cookie是非常简单的 我们来看下面一段JSP程序 (中间略) <% String cookieName="Sender"; Cookie cookie=new Cookie(cookieName "Test_Content"); cookie setMaxAge( ); response addCookie(cookie); %> (其他内容) 这样我们就设置了一个Cookie 很简单吧? 我们来仔细研究一下这段代码 Cookie cookie=new Cookie(cookieName "Test_Content"); 这一行建立了一个Cookie对象 初始化有两个参数 第一个参数cookieName定义了Cookie的名字 后一个参数 也是一个字符串 定义了Cookie的内容 也就是我们希望网页在用户的机器上标识的文件内容 接下来一行 cookie setMaxAge( ) 调用了Cookie中的setMaxAge方法 设定Cookie在用户机器硬盘上的 存活期为 秒 一个Cookie在用户的硬盘里面存在的时间并不是无限期的 在建立Cookie对象的时候 我们必须制定Cookie的存活期 超过了 这个存活期后 Cookie文件就不再起作用 会被用户的浏览器自行删除 如果我们希望用户在下次访问这个页面的时候 Cookie文件仍然有效而且可以 被网页读出来的话 我们可以将Cookie的存活期设得稍微长一些 比如cookie setMaxAge( * * * )可以让 Cookie文件在一年内有效 三 读出Cookie Cookie文件创建好后 自然还需要我们把它读出来 否则我们不是白费力气吗?接下来我们看看如何读出在用户硬盘上的Cookie (中间略) Name value <% Cookie cookies[]=request getCookies(); Cookie sCookie=null; String svalue=null; String sname=null; for(int i= ;i{ sCookie=cookies[i]; svalue=sCookie getValue(); sname=sCookie getName(); %> <% } %> name value <%=name%> <%=svalue%> (其他内容) 这一小段JSP文件可以读出用户硬盘上的所有有效的Cookie 也就是仍然在存活期内的Cookie文件 并用表格的形式列出每个Cookie的名字和内容 我们来逐行分析一下这段代码 Cookie cookies[]=request getCookies() 我们用request getCookies()读出用户硬盘上的Cookie 并将所有的Cookie放到一个cookie对象数组里面 接下来我们用一个循环语句遍历刚才建立的Cookie对象数组 我们用sCookie=cookies[i]取出数组中的一个Cookie对 象 然后我们用sCookie getValue()和sCookie getName()两个方法来取得这个Cookie的名字和内容 通过将取出来的Cookie的名字和内容放在字符串变量中 我们就能对其进行各种操作了 在上面的例子里 可通过循环语句的遍历 将所有Cookie放在一张表格中进行显示 四 需要注意的一些问题 通过上面两个简单的例子 可以看到 用JSP进行Cookie的操作 是非常简单的 不过我们在实际操作中还要注意一些问题 Cookie的兼容性问题 Cookie的格式有 个不同的版本 第一个版本 我们称为Cookie Version 是最初由Netscape公司制定的 也被几乎所有的浏览器支持 而较新的版本 Cookie Version 则是根据RFC 文档制定的 为了确保兼容性 java规定 前面所提到的涉及Cookie的操作都是针对旧版本的Cookie进行的 而新版本的Cookie目前还不被Javax servlet 包所支持 Cookie的内容 同样的Cookie的内容的字符限制针对不同的Cookie版本也有不同 在Cookie Version 中 某些特殊的字符 例如 空格 方括号 圆括号 等于号(=) 逗号 双引号 斜杠 问号 @符号 冒号 分号都不能作为Cookie的内容 这也就 是为什么我们在例子中设定Cookie的内容为"Test_Content"的原因 lishixinzhi/Article/program/Java/JSP/201311/20084
cookie的在jsp中
jsp中使用cookie完成状态管理:cookie也算http消息报头的一部分,它的作用有以下方面:一 记录访客的某些信息。例如可以利用cookie记录用户光临的网页次数,或者访客曾经输入过的信息。某些网站可以自动记录用户上次登录的用户名,用的就是cookie。二 页面之间传递变量。浏览器并不会保存当前页面上任何变量的信息,当页面被关闭时,页面上的所有变量信息将随之消失。使用举例在jsp中创建简单的cookie:String cookiename=visitTimes;Cookie cookie=new Cookie(cookiename,1); setMaxAge(10*60);//设置cookie存活期 addCookie(cookie);//将cookie写入客户端 在jsp中处理cookie数据的常用方法:getDomain();返回cookie的域名.getMaxAge();返回cookie的存活时间getName();返回cookie的名字getPath();返回cookie适用的路径getSecure();如果浏览器通过安全协议发送Cookie将返回true值,如果浏览器使用标准协议刚返回false值getValue();返回cookie的值getVersion();返回cookie所遵从的协议版本setComment(String purpose);设置cookie的注释setPath(String url);设置Cookie的适用路径setSecure(Boolean flag);设置浏览器是否仅仅使用安全协议来发送cookie,例如使用Https或sslsetValue(String newvalue);cookie创建后设置一个新的值setVersion(int v);设置cookie所遵从的协议版本。
图书目录是怎么地安排的
如果你的问题够清楚,我也没有理解错误的话,你想问的是图书是怎样分类的,是吗?
我国通用的图书分类法有两种:
第一种,中国图书馆图书分类法,简称中图法
A
马克思主义、列宁主义、毛泽东思想 1 马克思、恩格斯著作
2 列宁著作
3 斯大林著作
4 毛泽东著作
5 马克思、恩格斯、列宁、斯大林、毛泽东著作汇编
7 马克思、恩格斯、列宁、斯大林、毛泽东的生平和传记
8 马克思主义、列宁主义、毛泽东思想的学习和研究
B
哲学 0 哲学理论
1 世界哲学
2 中国哲学
3 亚洲哲学
4 非洲哲学
5 欧洲哲学
6 大洋洲哲学
7 美洲哲学
80 逻辑科学(总论)
81 逻辑学
82 伦理学
83 美学
84 心理学
9 无神论、宗教
C
社会科学总论 0 社会科学理论与方法论
1 社会科学现状、概况
2 机关、团体、会议
3 社会科学研究方法
4 社会科学教育与普及
5 社会科学丛书、文集、连续性出版物
6 社会科学参考工具书
[7] 社会科学文献检索工具书
8 统计学
91 社会学
92 人口学
93 管理学
[94] 系统论(系统学、系统工程)
96 人才学
D
政治、法律 0 政治理论
1/3共产主义运动、共产党
4 工人、农民、青年、妇女运动与组织
5/7世界各国政治
8 外交、国际关系
9 法律
E
军事 0 军事理论
1 世界军事
2 中国军事
3/7各国军事
8 战略、战役、战术
9 军事技术
99 军事地形学、军事地理学
F
经济 0 政治经济学
1 世界各国经济概况、经济史、经济地理
2 经济计划与管理
3 农业经济
4 工业经济
5 交通运输经济
6 邮电经济
7 贸易经济
8 财政、金融
G
文化、科学、教育、体育 0 文化理论
1 世界各国文化事业概况
2 信息与知识传播
3 科学、科学研究
4 教育
8 体育
H
语言、文字 0 语言学
1 汉语
2 中国少数民族语言
3 常用外国语
4 汉藏语系
5 阿尔泰语系
7 印欧语系
I
文学 0 文学理论
1 世界文学
2 中国文学
3/7各国文学
J
艺术 0 艺术理论
1 世界各国艺术概况
2 绘画
3 雕塑
4 摄影艺术
5 工艺美术
6 音乐
7 舞蹈
8 戏剧艺术
9 电影、电视艺术
K
历史、地理 0 史学理论
1 世界史
2 中国史
3 亚洲史
4 非洲史
5 欧洲史
6 大洋洲史
7 美洲史
81 传记
85 文学考古
89 风俗习惯
9 地理
N
自然科学总论
O
数理科学和化学 1 数学
3 力学
4 物理学
6 化学
7 晶体学
P
天文学、地理科学 1 天文学
2 测绘学
3 地球物理学
4 气象学
5 地质学
7 海洋学
9 自然地理学
Q
生物科学 1 普通生物学
2 细胞学
3 遗传学
4 生理学
5 生物化学
6 生物物理学
7 分子生物学
81 生物工程学
91 古生物学
93 微生物学
94 植物学
95 动物学
96 昆虫学
98 人类学
R
医学、卫生 1 预防医学、卫生学
2 中国医学
3 基础医学
4 临床医学
5 内科学
6 外科学
8 特种医学
9 药学
S
农业科学 1 农业基础科学
2 农业工程
3 农学(农艺学)
4 植物保护
5 农作物
6 园艺
7 林业
8 畜牧、兽医、狩猎、蚕、蜂
9 水产、渔业
T
工业技术 TB 一般工业技术
TD 矿业工程
TE 石油、天然气工业
TF 冶金工业
TG 金属学、金属工艺
TH 机械、仪表工业
TJ 武器工业
TK 动力工程
TL 原子能技术
TM 电工技术
TN 无线电电子学、电信技术
TP 自动化技术、计算技术
TQ 化学工业
TS 轻工业、手工业
TU 建筑科学
TV 水利工程
U
交通运输 1 综合运输
2 铁路运输
4 公路运输
6 水路运输
[8] 航空运输
V
航空、航天 1 航空、航天技术的研究与探索
2 航空
4 航天(宇宙航行)
[7] 航空、航天医学
X
环境科学、劳动保护科学(安全科学) 1 环境科学基础理论
2 环境保护管理
3 环境综合研究
4 灾害及其防治
5 环境污染及其防治
7 三废处理与综合利用
8 环境质量评价与环境监测
9 劳动保护科学(安全科学)
Z
综合性图书 1 丛书
2 百科全书、类书
3 辞典
4 论文集、全集、选集、杂著
5 年签、年刊
6 期刊、连续性出版物
8 图书目录、文摘、索引
从以上我们可以看出,石油天然气工业类的图书在T大类下的TE类,读者欲查阅该类图书,请到技术科学书库书库内查TE类就可找到所需图书。
------
另一种,中国科学院图书馆图书分类法,简称科图法(以我们学校为例,2007年以前用的是中图法,之后到现在正在转向科图法分类)
00 马克思列宁主义、毛泽东思想
10 哲学
20 社会科学概论
21 历史、历史学
27 经济、经济学
31 政治、社会生活
34 法律、法学
36 军事、军事学
37 文化、科学、教育、体育
41 语言、文字学
42 文学
48 艺术
49 无神论、宗教学
50 自然科学总论
51 数学
52 力学
53 物理学
54 化学
54.9 晶体学
55 天文学
56 地球科学
58 生物科学
61 医药、卫生
65 农业科学
71 工程技术
72 能源学、动力工程
73 电技术、电子技术
74 矿业工程
75 金属学(物理冶金)
76 冶金学
77 金属工艺、金属加工
78 机械工程、机器制造
81 化学工业
83 食品工业
85 轻工业、手工业及生活供应技术
86 土木建筑工程
87 运输工程
90 综合性图书
================
初学JSP应该看什么书好
深入浅出Servlet&JSP
作 者: (美)巴沙姆, 等著
定价:¥98.00
你将会熟练掌握Servlet和JSP,并顺利通过Sun的Web组件开发人员认证(SCWCD)14考试。也许你并不在意考试,但会在下一个项目中运用Servlet和JSP。你在为按时完成项目而努力,已为引而导致咖啡因摄入过量,所以你不能再为一本只有专家才能理解而让人昏昏入睡的书而浪费时间了。
没问题。《学放浅出Servlet & JSP》绝对不会令你昏昏入睡,它会将知识直接灌入你的大脑。你会通过不寻常的方式同Servlet和JSP打交道,学得更深入、更快,而且最重要的是,你能真正地学以致用。你可以看看为什么那么评论者说这本书让他们“手来释卷”。我们不会为了通过考试而让你昏昏入睡,更不会让你第二天就忘了所学的一切。
你会了解到怎么写Servlet和JSP,容器的哪些方面很受推崇,以及哪些方面让它倍爱责观,如何使用JSP表达式语方,JSP里哪些不该写,怎么编部署描述文件,如何编写安全的应用程序,以及如何使用一些服务器端设计模式。你不只是能通过考试而已,你将实实在在掌握这些内容,真正地将其加以应用。
jsp有那些好的书?
JSP设计
【内容简介】
“Hans Bergsten是一位经验老道的JSP专家组成员,他对JSP做出了卓越的贡献。Hans不仅充分而准确地领会了JSP 2.0和JSTL 1.1的新特性,而且通过这本书以一种组织得当、易于理解的方式表述出来。书中还提供了大量点睛的绝好例子,因此对于所有严谨的JSP 2.0开发人员来说,都应当将这本书作为‘必备’手册放在身边。”——Mark Toth,JSP 2.0规范首席设计师,Sun Microsystems公司
自1999处JSP 1.0发布以来,JavaServer Pages(JSP)可谓掀起了一场风暴,其追随者蜂拥而至。JSP为企业Java开发人员提供了一个开发动态Web网站和Web应用的灵活工具。随着JSP标准标记库(JSTL)的引入,JSP规范第一版中略显粗糙的方面也有了大幅改进,JSP 2.0则将此技术又推向了一个新的高度。 《JSP设计(第三版)》得到了充分的修订和更新,以涵盖JSP 2.0和JSTL 1.1规范。其中详细介绍了JSP 2.0中新增的表达式语言(EL)、JSTL 1.1标记库和新的函数库、支持定制标记库开发(而无须Java代码)的新标记文件格式、简化的Java标记库API、在JSP XML语法方面所做出的改进等等。不仅如此,在此还详尽地描述了Apache Tomcat服务器的建立、JSP和JSTL语法和特征、错误处理和调试、鉴别和个人化、数据库访问、XML处理和国际化等诸多内容。 希望学习JSP的专业人士可以划归为两大阵营,而这本书也充分认识到这两大阵营存在着不同的需求:网页设计人员感兴趣的是如何在Web页面中使用JSP元素,而程序员则更希望了解JSP API,以及如何将JSP有效地用做企业应用的一部分。如果你身为网页设计人员,那么会从本书第二部分的实用Web应用示例中获益匪浅。如果你是一个程序员,则会对第三部分详细介绍的高级主题倍加推崇,例如如何使用流行的Apache Struts MVC(模型-视图-控制器)框架将Servlet和JavaBeans组件与JSP集成,以及如何使用JSP API开发定制标记库,在此还提供了一些实际示例,开发你自己的标记库时可以将这些示例作为起点。
【编辑推荐】
“Hans Bergsten是一位经验老道的JSP专家组成员,他对JSP做出了卓越的贡献。Hans不仅充分而准确地领会了JSP 2.0和JSTL 1.1的新特性,而且通过这本书以一种组织得当、易于理解的方式表述出来。书中还提供了大量点睛的绝好例子,因此对于所有严谨的JSP 2.0开发人员来说,都应当将这本书作为‘必备’手册放在身边。”
—Mark Toth,JSP 2.0规范首席设计师,Sun Microsystems公司
【作译者介绍】
本书提供作译者介绍
Hans Bergsten是Gefion Software的创始人,这家公司主要致力于基于J2EE技术的服务器端Java服务和产品的开发。从Servlet和JSP规范诞生之日起,Hans就一直是相应工作级别中的一位积极参与者。他还对其他一些相关的JCP规范也有所贡献。如JSP标准记库和FJavaServer Faces。作为Apache Jakarta项目管理委员会的最初成员之一,他还大力推动了Servlet和JSP的Apache Tomcat参考实现的开发。
<< 查看详细
【目录信息】
前言
第一部分 JSP应用初步
第一章 JavaServer Pages入门
什么是JavaServer Pages?
为什么使用JSP?
如何起步
第二章 HTTP和Servlet基础
HTTP请求/响应模型
Servlet
第三章 JSP概述
Servlet
JSP页面剖析
JSP处理
采用MVC模型的JSP应用设计
第四章 建立JSP环境
安装Java软件开发工具包