当前位置:文档之家› 动态网页(JSP+Servlet)教程

动态网页(JSP+Servlet)教程

动态网页(JSP+Servlet)目录第一章J2EE简介 (7)1.1简介 (7)1.2J2EE体系架构 (7)1.2.1 层技术:从C/S到B/S到J2EE (7)1.2.2 四层分布式架构 (10)1.3J2EE的优越性 (11)1.4总结 (13)第二章TOMCAT 简介 (14)2.1T OMCAT目录结构 (15)2.2T OMCAT下载,安装以及在E CLIPSE中的配置 (16)2.3T OMCAT S ERVER.XML 配置 (18)2.4T OMCAT应用的部署 (20)2.5总结 (20)第三章SERVLET简介 (21)3.1简介 (22)3.2HTTP基础知识 (23)3.2.1 HTTP请求、响应和头信息 (23)3.2.2 GET和POST方法区别 (24)3.3S ERVLET简介和优点 (25)3.4第一个S ERVLET例程 (26)3.5S ERVLET的体系结构 (28)3.5.1 Servlet应用程序体系结构 (28)3.5.2 Servlet层次结构 (29)3.6S ERVLET的生命周期 (35)3.7总结 (43)第四章JSP简介 (44)4.1简介 (45)4.2JSP的概念 (45)4.3JSP页面构成 (46)4.3.1 注释 (48)4.3.2 静态内容 (49)4.3.3 JSP指令 (49)4.3.4 表达式 (50)4.3.5 代码片段 (50)4.3.6 声明 (50)4.3.7 动作 (50)4.5JSP的优点 (53)4.5.1 内容生成与表示相分离 (53)4.5.2 强调可重用组件 (54)4.5.3 简化页面开发 (54)4.6总结 (55)第五章JSP语法之脚本元素和指令 (56)5.1简介 (57)5.2JSP脚本元素 (57)5.2.1 表达式 (57)5.2.2 代码片段 (58)5.2.3 声明 (60)5.3JSP指令 (62)5.3.1 page指令 (63)5.3.2 include指令 (65)5.3.3 taglib指令 (66)5.4转义 (67)5.5错误处理 (69)5.5.1 转译时错误 (70)5.5.2 请求时错误 (70)5.6总结 (74)第六章JSP语法之隐式对象 (75)6.1简介 (76)6.2与输入输出有关的隐式对象 (76)6.2.1 request对象 (76)6.2.2 response对象 (77)6.2.3 out对象 (80)6.3与S ERVLET有关的隐式对象 (81)6.3.1 page对象 (81)6.3.2 config对象 (82)6.4与错误有关的隐式对象 (83)6.5与作用域通信有关的隐式对象 (84)6.5.1 session对象 (84)6.5.2 application对象 (88)6.5.3 pageContext对象 (90)6.6属性和范围 (92)6.6.1 Page范围 (94)6.6.2 Request范围 (96)6.6.3 Session范围 (100)6.7总结 (104)第七章JSP语法之标准动作和JAVABEAN (105)7.1简介 (106)7.2JSP标准动作及其分类 (106)7.2.1 <jsp:param> (107)7.2.2 <jsp:include> (107)7.2.3 <jsp:forward> (109)7.3什么是J AVA B EAN (111)7.3.1 <jsp:useBean> (117)7.3.2 <jsp:getProperty> (120)7.3.3 <jsp:setProperty> (120)7.4总结 (126)第八章EL表达式语言 (127)8.1简介 (128)8.1.1 静态文本 (128)8.1.2 标签和自定义标签属性 (130)8.1.3 JavaBean中使用EL表达式 (130)8.2变量的获得 (132)8.3EL运算符 (132)8.4禁用EL表达式 (133)8.5总结 (134)第九章WEB应用乱码问题 (135)9.1简介 (136)9.2常见的中文编码问题及其解决方案 (136)9.3页面显示非英文乱码问题举例 (137)9.4页面间传递非英文参数乱码问题举例 (141)9.5数据库操作中非英文乱码问题举例 (146)9.6总结 (147)第十章XML及DOM4J简介 (148)10.1简介 (149)10.1.1 XML简介 (149)10.1.2 DOM4J (150)10.2DOM4J的接口 (150)10.3下载与安装 (151)10.4程序示例 (152)10.4.1 读取并解析XML文档 (152)10.4.3 遍历XML树 (152)10.4.4 字符串与XML的转换 (153)10.4.5 创建XML (153)10.4.6 文件输出 (154)10.5用D OM4J解析XML及中文问题 (154)10.5.1 建立一个XML文档 (154)10.5.2 修改XML文档 (156)10.5.3 格式化输出和指定编码 (159)10.6总结 (160)第十一章AJAX (161)11.1简介 (162)11.2基本原理和技术 (162)11.2.1 AJAX 使用Http 请求 (162)11.2.2 第一个AJAX应用程序 (163)11.2.3 更多有关XMLHttpRequest 对象的知识 (165)11.2.4 向服务器发送一个请求 (166)11.2.5 服务器端的脚本 (167)11.3高级应用 (168)11.3.1 表单提示 (168)11.4总结 (172)第十二章LOG4J (173)12.1背景 (174)12.2定义配置文件 (174)12.3格式化日志信息 (175)12.4配置LOG4J的步骤 (176)12.4.1 步骤描述 (176)12.4.2 在Eclipse中配置Log4J演示 (177)12.5总结 (188)第十三章使用SVN进行版本控制 (189)13.1简介 (190)13.2SVN实践 (191)13.2.1 Check out (191)13.2.2 Update (192)13.2.3 Commit (193)13.3总结 (196)第十四章MVC设计模式 (197)14.2J2EE架构下的MVC模式 (198)14.3为什么使用MVC (199)14.4总结 (200)第一章J2EE简介1.1 简介J2EE是一种利用Java2平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。

J2EE技术的基础就是核心Java平台或Java2平台的标准版,J2EE不仅巩固了标准版中的许多优点,例如"编写一次、随处运行"的特性、方便存取数据库的JDBC API、CORBA技术以及能够在Internet应用中保护数据的安全模式等等,同时还提供了对EJB(Enterprise JavaBeans)、Java Servlets API、JSP(JavaServerPages)以及XML技术的全面支持。

其最终目的就是成为一个能够使企业开发者大幅缩短投放市场时间的体系结构。

1.2 J2EE体系架构1.2.1 层技术:从C/S到B/S到J2EE层(layer)这个概念在计算机领域是非常了不得的一个概念。

计算机本身就体现了一种层的概念:系统调用层、设备驱动层、操作系统层、CPU指令集。

每个层都负责自己的职责。

网络同样也是层的概念,最著名的OSI的七层协议。

层到了软件领域也一样好用。

让我们先看三个例子:例子1:一个电子商务系统。

要求能够同时处理大量用户的请求,用户的范围遍及全球,而且数字还在不断增长。

但是领域逻辑很简单,无非是订单的处理,以及和库存系统的连接部分。

这就要求我们1、表示层要友好,能够适应最广泛的用户,因此采用html技术;2、支持分布式的处理,以胜任同时几千的访问;3、考虑未来的升级。

例子2:一个租借系统。

系统的用户少的多,但是领域逻辑很复杂。

这就要求我们制作一个领域逻辑非常复杂的系统,另外,还要给他们的用户提供一个方便的输入界面。

这样,CS架构是一个不错的选择。

例子3:简单的系统。

非常简单,用户少、逻辑少。

但是也不是没有问题,简单意味着要快速交付,并且还要充分考虑日后的升级。

因为需求在不断的增加之中。

这样的三个例子,就要求我们不能够一概而论的解决问题,而是应该针对问题的具体情况制定具体的解决方法。

这三个例子比较典型。

第二个例子中,可能需要严格的分成三个层次,而且可能还要加上另外的中介(mediating)层。

例3则不需要,如果你要做的仅是查看数据,那仅需要几个server页面来放置所有的逻辑就可以了。

【客户服务器架构(C/S)】客户写明地址,贴上邮票后,把包裹交给邮局。

剩下的事情就全权交给邮局了,客户不用关心邮局如何将邮件分类,检验,运送以及投递。

大部分的服务和工作量都由邮局承担。

这就是一个典型的两层架构的客户服务器模式(Client-Server). 我们熟悉的QQ, MSN就是在C/S架构的系统。

以下是Client/Server架构图:图1.1【浏览器/服务器架构(B/S)】B/S就是由浏览器作为客户端的一种C/S架构。

最早的B/S架构的服务器是由Web服务器和CGI程序构成,功能非常简陋。

这里需要澄清的问题是B/S架构,即浏览器-服务器架构也是C/S架构,B/S架构是一种特殊的C/S架构,即使用标准的客户机——浏览器。

这个发展的好处是系统维护工作大大简化了,尤其是对那些远离中心的客户机。

象搜狐,当当网以及金融机构的呼叫中心都是B/S架构的系统。

下面就是一个典型的B/S架构图:图1.2图1.3【J2EE三层架构】在介绍J2EE三层架构的概念前,我们先看一个现实生活中三层结构:投资者户通过打电话,邮件或者其他方式请远在千里之外的证券经纪人帮忙交易。

客户先查了电话黄页或者自己的联系名单,然后拨号给经纪人。

客户并不知道经纪人的具体位置、通话的传输介质、通话的传输协议、通话有没有被监听,他也不关心经纪人如何与证券交易系统联系,是用了呼叫转移、信号是走卫星还是走微波、对方是否是集群呼叫中心、信号是否被加密等等;总之客户只是一心要经纪人为他提供必要的交易服务。

我们仔细看看,客户、中介经纪人、证券系统不就是三层结构吗?单就工作量来看,"证券系统"在其中做了大量实际而不被人们所注意的事情,这正对应了现代因特网的工作范畴。

而从服务与回报看,"经纪人"提供了服务,证券系统也提供了服务。

相关主题