×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
基础篇-Java Web开发实战经典-(JSP.Servlet.Struts.AJAX)-附DVD视频光盘1张

基础篇-Java Web开发实战经典-(JSP.Servlet.Struts.AJAX)-附DVD视频光盘1张

1星价 ¥30.0 (4.3折)
2星价¥29.3 定价¥69.8

温馨提示:5折以下图书主要为出版社尾货,大部分为全新(有塑封/无塑封),个别图书品相8-9成新、切口有划线标记、光盘等附件不全详细品相说明>>

图文详情
  • ISBN:9787302231585
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:16开
  • 页数:555页
  • 出版时间:2010-08-01
  • 条形码:9787302231585 ; 978-7-302-23158-5

本书特色

本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。 本书适合Java Web开发的入门者使用,也可以作为普通高校、应用型高校、部分高职院校等以实用性为主的在校大学生作为参考书。

内容简介

本书用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。全书分4部分共17章,内容包括JavaWeb开发简介,HTML、JavaScript简介,XML简介,Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,Struts高级开发。另外,附录中还介绍了实用工具、MyEclipse开发工具和HTTP状态码及头信息。本书所有知识均以实用性为主,讲解的是开发的核心内容,几乎全部用实例和代码讲解。本书配备32小时同步教学视频,以及几乎全部实例的源程序,服务网站提供了电子教案等教学配套资料。本书适合JavaWeb开发的入门者使用,也可以作为普通高校、应用型高校、部分高职院校等以实用性为主的在校大学生作为参考书。

目录

目 录第1部分 Web开发前奏 第1章 Java Web开发简介 21.1 Web发展历程 21.2 企业开发架构 61.3 Java EE架构 71.4 Java EE核心设计模式 101.5 Struts开发框架 111.6 本章摘要 12第2章 HTML、JavaScript简介 13 视频讲解:1小时45分钟2.1 服务器与浏览器 132.2 HTML简介 142.2.1 HTML元素概览 142.2.2 创建显示Web页 162.2.3 创建表单Web页 192.3 JavaScript简介 212.3.1 JavaScript的基本语法 212.3.2 事件处理 292.3.3 window对象 352.4 本章摘要 402.5 开发实战讲解 40第3章 XML简介 41 视频讲解:2小时16分钟3.1 认识XML 413.2 XML解析 483.2.1 DOM解析操作 483.2.2 SAX解析操作 573.2.3 XML解析的好帮手:JDOM 603.2.4 *出色的解析工具:DOM4J 643.3 使用JavaScript操作DOM 673.4 本章摘要 713.5 开发实战讲解(基于Oracle数据库) 71第4章 Tomcat服务器的安装及配置 73 视频讲解:1小时04分钟4.1 Web容器简介 734.2 Tomcat简介 744.3 Tomcat服务器的下载及配置 754.3.1 Tomcat下载 754.3.2 Tomcat安装 754.3.3 服务器配置 784.4 编写**个JSP文件 824.5 交互性 854.6 本章摘要 86 第2部分 Web基础开发 第5章 JSP基础语法 88 视频讲解:2小时11分钟5.1 JSP注释 885.2 Scriptlet 895.2.1 **种Scriptlet: 895.2.2 第二种Scriptlet: 905.2.3 第三种Scriptlet: 915.3 scriptlet标签 955.4 page指令 955.4.1 设置页面的MIME 965.4.2 设置文件编码 1005.4.3 错误页的设置 1015.4.4 数据库连接操作 1035.5 包含指令 1075.5.1 静态包含 1075.5.2 动态包含 1095.6 跳转指令 1135.7 实例操作:用户登录程序实现 (JSP+JDBC实现) 1145.7.1 创建数据库表 1155.7.2 程序实现思路 1155.7.3 程序实现 1165.8 本章摘要 1195.9 开发实战讲解(基于Oracle数据库) 120第6章 JSP内置对象 121 视频讲解:3小时42分钟6.1 JSP内置对象概览 1216.2 4种属性范围 1226.2.1 page属性范围(pageContext) 1236.2.2 request属性范围 1256.2.3 session属性范围 1276.2.4 application属性范围 1296.2.5 深入研究page属性范围 1316.3 request对象 1326.3.1 乱码解决 1336.3.2 接收请求参数 1356.3.3 显示全部的头信息 1416.3.4 角色验证 1426.3.5 其他操作 1446.4 response对象 1456.4.1 设置头信息 1466.4.2 页面跳转 1486.4.3 操作Cookie 1506.5 session对象 1546.5.1 取得Session Id 1556.5.2 登录及注销 1576.5.3 判断新用户 1606.5.4 取得用户的操作时间 1616.6 application对象 1626.6.1 取得虚拟目录对应的绝对路径 1626.6.2 范例讲解:网站计数器 1656.6.3 查看application范围的属性 1676.7 Web安全性及config对象 1686.7.1 Web安全性 1686.7.2 config对象 1706.8 out对象 1716.9 pageContext对象 1726.10 本章摘要 1746.11 开发实战讲解(基于Oracle数据库) 175第7章 JavaBean 182 视频讲解:2小时11分钟7.1 JavaBean简介 1827.2 在JSP中使用JavaBean 1847.2.1 Web开发的标准目录结构 1847.2.2 使用JSP的page指令导入所需要的JavaBean 1857.2.3 使用指令 1867.3 JavaBean与表单 1887.4 设置属性: 1907.4.1 设置指定的属性 1917.4.2 指定设置属性的参数 1927.4.3 为属性设置具体内容 1927.5 取得属性: 1937.6 JavaBean的保存范围 1947.6.1 page范围的JavaBean 1947.6.2 request范围的JavaBean 1957.6.3 session范围的JavaBean 1967.6.4 application范围的JavaBean 1977.7 JavaBean的删除 1977.8 实例操作:注册验证 1987.9 DAO设计模式 2027.9.1 DAO设计模式简介 2027.9.2 DAO开发 2047.9.3 JSP调用DAO 2147.10 本章摘要 2177.11 开发实战讲解(基于Oracle数据库) 218第8章 文件上传 223 视频讲解:1小时30分钟8.1 SmartUpload上传组件 2238.1.1 上传单个文件 2248.1.2 混合表单 2258.1.3 为上传文件自动命名 2268.1.4 批量上传 2298.2 FileUpload 2308.2.1 使用FileUpload接收上传内容 2328.2.2 保存上传内容 2358.2.3 开发FileUpload组件的专属操作类 2378.3 本章摘要 2428.4 开发实战讲解(基于Oracle数据库) 243 第3部分 Web高级开发 第9章 Servlet程序开发 248 视频讲解:4小时08分钟9.1 Servlet简介 2489.2 永远的“HelloWorld”:**个Servlet程序 2499.3 Servlet与表单 2539.4 Servlet生命周期 2559.5 取得初始化配置信息 2599.6 取得其他内置对象 2609.6.1 取得HttpSession实例 2609.6.2 取得ServletContext实例 2619.7 Servlet跳转 2639.7.1 客户端跳转 2639.7.2 服务器端跳转 2649.8 Web开发模式:Mode I与Mode II 2669.8.1 Mode I 2669.8.2 Mode II:Model-View-Controller 2679.9 实例操作:MVC设计模式应用 2699.10 过滤器 2779.10.1 过滤器的基本概念 2779.10.2 实现过滤器 2789.10.3 过滤器的应用 2819.11 监听器 2839.11.1 对application监听 2849.11.2 对session监听 2879.11.3 对request监听 2929.11.4 监听器实例——在线人员统计 2959.12 本章摘要 2989.13 开发实战讲解(基于Oracle数据库) 298第10章 表达式语言 305 视频讲解:1小时07分钟10.1 表达式语言简介 30510.2 表达式语言的内置对象 30610.2.1 访问4种属性范围的内容 30710.2.2 调用内置对象操作 30810.2.3 接收请求参数 30910.3 集合操作 31110.4 在MVC中应用表达式语言 31310.5 运算符 31810.6 本章摘要 32210.7 开发实战讲解(基于Oracle数据库) 322第11章 Tomcat数据源 326 视频讲解:23分钟11.1 数据源操作原理 32611.2 在Tomcat中使用数据库 连接池 32711.3 查找数据源 32911.4 本章摘要 331第12章 JSP标签编程 332 视频讲解:2小时04分钟12.1 标签编程简介 33212.2 定义一个简单的标签—— 空标签 33312.3 定义有属性的标签 33612.4 TagSupport类 33912.5 定义有标签体的标签库 34212.6 开发迭代标签 34512.7 BodyTagSupport类 34812.8 TagExtraInfo类和 VariableInfo类 35012.9 使用BodyTagSupport开发 迭代输出 35212.10 简单标签 35512.11 DynamicAttributes接口 36112.12 本章摘要 363第13章 JSP标准标签库 364 视频讲解:2小时04分钟13.1 JSTL简介 36413.2 安装JSTL 1.2 36513.3 核心标签库 36713.3.1 标签 368目 录第1部分 Web开发前奏 第1章 Java Web开发简介 21.1 Web发展历程 21.2 企业开发架构 61.3 Java EE架构 71.4 Java EE核心设计模式 101.5 Struts开发框架 111.6 本章摘要 12第2章 HTML、JavaScript简介 13 视频讲解:1小时45分钟2.1 服务器与浏览器 132.2 HTML简介 142.2.1 HTML元素概览 142.2.2 创建显示Web页 162.2.3 创建表单Web页 192.3 JavaScript简介 212.3.1 JavaScript的基本语法 212.3.2 事件处理 292.3.3 window对象 352.4 本章摘要 402.5 开发实战练习 40第3章 XML简介 41 视频讲解:2小时16分钟3.1 认识XML 413.2 XML解析 483.2.1 DOM解析操作 483.2.2 SAX解析操作 573.2.3 XML解析的好帮手:JDOM 603.2.4 *出色的解析工具:DOM4J 643.3 使用JavaScript操作DOM 673.4 本章摘要 723.5 开发实战练习(基于Oracle数据库) 73第4章 Tomcat服务器的安装及配置 75 视频讲解:1小时04分钟4.1 Web容器简介 754.2 Tomcat简介 764.3 Tomcat服务器的下载及配置 774.3.1 Tomcat下载 774.3.2 Tomcat安装 774.3.3 服务器配置 804.4 编写**个JSP文件 844.5 交互性 874.6 本章摘要 88 第2部分 Web基础开发 第5章 JSP基础语法 90 视频讲解:2小时11分钟5.1 JSP注释 905.2 Scriptlet 915.2.1 **种Scriptlet: 915.2.2 第二种Scriptlet: 925.2.3 第三种Scriptlet: 935.3 scriptlet标签 975.4 page指令 975.4.1 设置页面的MIME 985.4.2 设置文件编码 1025.4.3 错误页的设置 1035.4.4 数据库连接操作 1055.5 包含指令 1095.5.1 静态包含 1095.5.2 动态包含 1115.6 跳转指令 1155.7 实例操作:用户登录程序实现 (JSP+JDBC实现) 1165.7.1 创建数据库表 1175.7.2 程序实现思路 1175.7.3 程序实现 1185.8 本章摘要 1215.9 开发实战练习(基于Oracle数据库) 122第6章 JSP内置对象 123 视频讲解:3小时42分钟6.1 JSP内置对象概览 1236.2 4种属性范围 1246.2.1 page属性范围(pageContext) 1256.2.2 request属性范围 1276.2.3 session属性范围 1296.2.4 application属性范围 1316.2.5 深入研究page属性范围 1336.3 request对象 1346.3.1 乱码解决 1356.3.2 接收请求参数 1376.3.3 显示全部的头信息 1436.3.4 角色验证 1446.3.5 其他操作 1466.4 response对象 1476.4.1 设置头信息 1486.4.2 页面跳转 1506.4.3 操作Cookie 1526.5 session对象 1566.5.1 取得Session Id 1576.5.2 登录及注销 1596.5.3 判断新用户 1626.5.4 取得用户的操作时间 1636.6 application对象 1646.6.1 取得虚拟目录对应的绝对路径 1646.6.2 范例讲解:网站计数器 1676.6.3 查看application范围的属性 1696.7 Web安全性及config对象 1706.7.1 Web安全性 1706.7.2 config对象 1726.8 out对象 1736.9 pageContext对象 1746.10 本章摘要 1766.11 开发实战练习(基于Oracle数据库) 177第7章 JavaBean 184 视频讲解:2小时11分钟7.1 JavaBean简介 1847.2 在JSP中使用JavaBean 1867.2.1 Web开发的标准目录结构 1867.2.2 使用JSP的page指令导入所需要的JavaBean 1877.2.3 使用指令 1887.3 JavaBean与表单 1907.4 设置属性: 1927.4.1 设置指定的属性 1937.4.2 指定设置属性的参数 1947.4.3 为属性设置具体内容 1947.5 取得属性: 1957.6 JavaBean的保存范围 1967.6.1 page范围的JavaBean 1967.6.2 request范围的JavaBean 1977.6.3 session范围的JavaBean 1987.6.4 application范围的JavaBean 1997.7 JavaBean的删除 1997.8 实例操作:注册验证 2007.9 DAO设计模式 2047.9.1 DAO设计模式简介 2047.9.2 DAO开发 2067.9.3 JSP调用DAO 2167.10 本章摘要 2197.11 开发实战练习(基于Oracle数据库) 220第8章 文件上传 225 视频讲解:1小时30分钟8.1 SmartUpload上传组件 2258.1.1 上传单个文件 2268.1.2 混合表单 2278.1.3 为上传文件自动命名 2288.1.4 批量上传 2318.2 FileUpload 2328.2.1 使用FileUpload接收上传内容 2348.2.2 保存上传内容 2378.2.3 开发FileUpload组件的专属操作类 2398.3 本章摘要 2448.4 开发实战练习(基于Oracle数据库) 245 第3部分 Web高级开发 第9章 Servlet程序开发 250 视频讲解:4小时08分钟9.1 Servlet简介 2509.2 永远的“HelloWorld”:**个Servlet程序 2519.3 Servlet与表单 2559.4 Servlet生命周期 2579.5 取得初始化配置信息 2619.6 取得其他内置对象 2629.6.1 取得HttpSession实例 2629.6.2 取得ServletContext实例 2639.7 Servlet跳转 2659.7.1 客户端跳转 2659.7.2 服务器端跳转 2669.8 Web开发模式:Mode I与Mode II 2689.8.1 Mode I 2689.8.2 Mode II:Model-View-Controller 2699.9 实例操作:MVC设计模式应用 2719.10 过滤器 2799.10.1 过滤器的基本概念 2799.10.2 实现过滤器 2809.10.3 过滤器的应用 2839.11 监听器 2859.11.1 对application监听 2869.11.2 对session监听 2899.11.3 对request监听 2949.11.4 监听器实例——在线人员统计 2979.12 本章摘要 3009.13 开发实战练习(基于Oracle数据库) 300第10章 表达式语言 307 视频讲解:1小时07分钟10.1 表达式语言简介 30710.2 表达式语言的内置对象 30810.2.1 访问4种属性范围的内容 30910.2.2 调用内置对象操作 31010.2.3 接收请求参数 31110.3 集合操作 31310.4 在MVC中应用表达式语言 31510.5 运算符 32010.6 本章摘要 32410.7 开发实战练习(基于Oracle数据库) 324第11章 Tomcat数据源 328 视频讲解:23分钟11.1 数据源操作原理 32811.2 在Tomcat中使用数据库 连接池 32911.3 查找数据源 33111.4 本章摘要 333第12章 JSP标签编程 334 视频讲解:2小时04分钟12.1 标签编程简介 33412.2 定义一个简单的标签—— 空标签 33512.3 定义有属性的标签 33812.4 TagSupport类 34112.5 定义有标签体的标签库 34412.6 开发迭代标签 34712.7 BodyTagSupport类 35012.8 TagExtraInfo类和 VariableInfo类 35212.9 使用BodyTagSupport开发 迭代输出 35412.10 简单标签 35712.11 DynamicAttributes接口 36312.12 本章摘要 365第13章 JSP标准标签库 366 视频讲解:2小时04分钟13.1 JSTL简介 36613.2 安装JSTL 1.2 36713.3 核心标签库 36913.3.1 标签 37013.3.2 标签 37113.3.3 标签 37313.3.4 标签 37413.3.5 标签 37513.3.6 、、 标签 37613.3.7 标签 37813.3.8 标签 38113.3.9 标签 38213.3.10 标签 38313.3.11 标签 38413.4 国际化标签库 38513.4.1 标签 38613.4.2 标签 38713.4.3 读取资源文件 38813.4.4 数字格式化标签 39113.4.5 日期时间格式化标签 39413.4.6 设置时区 39713.5 SQL标签库 39813.5.1 标签 39813.5.2 数据库操作标签 39913.5.3 事务处理 40413.6 XML标签库 40513.6.1 XPath简介 40613.6.2 标签 40713.6.3 标签 40713.6.4 标签 40813.6.5 标签 40913.6.6 、、 标签 41013.6.7 标签 41213.7 函数标签库 41313.8 本章摘要 41513.9 开发实战练习(基于Oracle 数据库) 415第14章 Ajax开发技术 417 视频讲解:1小时21分钟14.1 Ajax技术简介 41714.2 XMLHttpRequest对象 41814.3 **个Ajax程序 42014.4 异步验证 42114.5 返回XML数据 42514.6 本章摘要 42714.7 开发实战练习(基于Oracle 数据库) 428 第4部分 框架开发 第15章 Struts基础开发 436 视频讲解:42分钟15.1 Struts简介 43615.2 配置Struts开发环境 43715.3 开发**个Struts程序 44115.4 Struts工作原理 44615.5 深入Struts应用 44715.6 本章摘要 45015.7 开发实战练习(基于Oracle 数据库) 451第16章 Struts常用标签库 453 视频讲解:1小时26分钟16.1 Struts标签库简介 45316.2 Bean标签 45416.2.1 标签 45416.2.2 标签 45616.2.3 资源访问标签 45716.2.4 标签 46016.2.5 标签 46116.2.6 标签 46216.2.7 国际化与标签 46316.3 Logic标签 46516.3.1 和 标签 46616.3.2 和 标签 46716.3.3 关系运算标签 46816.3.4 标签 47016.3.5 重定向标签: 47216.4 Html标签 47416.4.1 标签 47416.4.2 与 标签 47516.4.3 标签 47616.4.4 标签 47616.4.5 标签 47716.4.6 按钮标签 47716.4.7 实例:编写基本表单 47716.4.8 复选框标签 48016.4.9 下拉列表框 48416.5 本章摘要 48716.6 开发实战练习(基于Oracle 数据库) 487第17章 Struts高级开发 489 视频讲解:1小时32分钟17.1 Struts多人开发 48917.2 Token 49017.3 文件上传 49517.4 动态ActionForm 49817.5 Action深入 50017.5.1 ForwardAction 50017.5.2 IncludeAction 50217.5.3 DispatchAction 50217.6 验证框架 50417.7 本章摘要 51017.8 开发实战练习(基于Oracle 数据库) 510 第5部分 附录 附录A 实用工具 524 视频讲解:1小时09分钟A.1 JavaMail 524A.1.1 James邮件服务器的下载及配置 524A.1.2 JavaMail简介及配置 529A.1.3 发送普通邮件 531A.1.4 发送带附件的HTML风格邮件 535A.2 操作Excel文件 538A.2.1 JExcelAPI简介 538A.2.2 创建一个Excel文件 540A.2.3 读取Excel文件 541A.2.4 格式化文本 542A.3 本章摘要 544附录B MyEclipse开发工具 545 视频讲解:15分钟B.1 MyEclipse简介 545B.2 MyEclipse的安装 546B.3 MyEclipse的使用 546B.4 配置Tomcat服务器 549B.5 MyEclipse卸载 552B.6 本章摘要 552附录C HTTP状态码及头信息 553C.1 HTTP状态码 553C.2 HTTP头信息 554
展开全部

节选

《名师讲坛:Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)》用通俗易懂的语言和丰富多彩的实例,通过对Ajax、JavaScript、HTML等Web系统开发技术基础知识的讲解,并结合MVC设计模式的理念,详细讲述了使用JSP及Struts框架进行Web系统开发的相关技术。全书分4部分共17章,内容包括Java Web开发简介,HTML、JavaScript简介,XML简介,Tomcat服务器的安装及配置,JSP基础语法,JSP内置对象,JavaBean,文件上传,Servlet程序开发,表达式语言,Tomcat数据源,JSP标签编程,JSP标准标签库(JSTL),Ajax开发技术,Struts基础开发,Struts常用标签库,Struts高级开发。另外,附录中还介绍了实用工具、MyEclipse开发工具和HTTP状态码及头信息。本书所有知识均以实用性为主,讲解的是开发的核心内容,几乎全部用实例和代码讲解。本书配备32小时同步教学视频,以及几乎全部实例的源程序,服务网站提供了电子教案等教学配套资料。本书适合Java Web开发的入门者使用,也可以作为普通高校、应用型高校、部分高职院校等以实用性为主的在校大学生作为参考书。

相关资料

第1章 Java Web开发简介通过本章的学习可以达到以下目标:? 了解Web的发展过程。? 理解Web开发的主要技术及作用范围。? 掌握企业开发的整体架构。随着互联网的兴起,Web技术已经应用得越来越广泛,而且已经有越来越多的语言开始支持Web的开发。本章将介绍Web的发展历程和Web常见的开发语言。1.1 Web发展历程在早期,人们为了方便开展科学研究,设计出了Internet用于连接美国的少数几个**研究机构,之后随着进一步的发展,人们开始应用HTTP协议(Hypertext Transfer Protocol,超文本传输协议)进行超文本(hypertext)和超媒体(hypermedia)数据的传输,从而将一个个的网页展示在每个用户的浏览器上。今天的Web已经从*早的静态Web发展到了动态Web阶段,随之而来的像网上银行、网络购物等站点的兴起,更是将Web带进了人们的生活和工作中。*早的Web是以静态Web出现的,用户在浏览器中输入网址将请求通过HTTP协议传送到Web服务器上,服务器会根据用户的请求找到相应的网页文件(*.htm、*.html),接着再通过HTTP协议传回到客户端浏览器上进行显示,如图1-1所示。 图1-1 静态Web处理流程但是这种Web返回的只是电子文本的形式,在服务器生成之后,内容永远是固定的。在*初阶段,一些科学家可以通过这些静态Web的方式进行论文研究,而且很多的企业也并没有发现这座“金矿”,而*初可以实现静态Web的主要手段也就是使用HTML(超文本标记语言)。随后,一些人对于Web就有更高的要求了,希望可以得到一些更加绚丽的效果,而此时SUN公司推出的Applet正好满足了这种需求。SUN公司在1995年正式推出了Applet程序,而Applet(应用小程序,简称小程序)允许开发人员编写可以嵌入在Web页面上的小应用程序,只要用户使用了支持Java的浏览器就可以直接运行此程序,那么此时的Web处理结构如图1-2所示。 图1-2 Web处理结构Applet程序虽然带来了很多好处,但是Applet程序本身也存在着一些限制。例如,不允许进行文件读写,也无法进行数据库的操作,而且Applet属于胖客户端程序,下载速度也是非常缓慢。从图1-2中可以分析出,Applet技术本身只能运行在客户端,所以此时虽然带来了一些动态的效果,但是服务器端依然没有做太大的改变,还是采用了请求及回应机制,客户端需要哪些资源,服务器端就返回哪些资源。当然,除Applet技术外,像JavaScript语言也可以实现客户端动态效果,但不管如何实现,这种在客户端完成的动态效果在代码的开发上也是很复杂的,而现在的JavaScript在开发中也只是完成一些简单的表单验证功能的实现(这一点以后会讲解到)。 在客户端实现动态效果似乎已经成为了一件很麻烦的事情,那么人们只能在服务器端做出改变,而这种改变真正造就了动态Web的发展。下面先来看一下动态Web的执行图,并观察与静态Web的区别,如图1-3所示。 图1-3 动态Web流程图从图1-3中可以发现,此时的客户端已经不再需要JVM的支持了,而只是一个普通的浏览器,但是服务器端却发生了重大的改变。首先,所有请求不再直接提交给Web服务器,而是通过Web服务插件进行接收,此插件的主要目的是用于区分用户所发出的请求是动态请求还是静态请求。如果用户发出的是静态请求,则会将用户请求交给Web服务器,并通过文件系统将用户所需要的资源发回给客户端浏览器,这一点与*初的静态Web处理流程是完全一样的;但如果此时的请求是动态请求,则会将所有请求交给Web容器进行处理,在Web容器中将会采用拼凑代码的形式(主要是拼凑HTML)动态地生成数据并通过Web服务器发回给客户端浏览器。动态Web的*大特点就是具备交互性,所谓交互性就是服务器端会自动根据用户请求的不同而显示不同的结果。它类似于使用搜索引擎那样,只要输入关键字,服务器端就会根据这些指定的关键字,返回检索结果。要想实现一个动态Web,可以采用如下5种方式。? CGI(Common Gateway Interface,公共网关接口):CGI是*早出现的实现动态Web的操作标准,可以采用任何语言实现(如C或VB),但是这种传统的CGI程序本身是采用多进程的机制进行处理的,每当一个新用户连接到服务器上时,服务器都会为其分配一个新的进程,很明显,这种程序的执行效率是很低的。? PHP(Hypertext Preprocessor,超文本预处理):PHP是一种跨平台的服务器端的嵌入式脚本语言。它大量地借用C、Java和Perl语言的语法,并结合PHP自身的特性,使Web开发者能够迅速地写出动态页面。而且PHP是完全免费的,用户可以从PHP官方站点自由下载。但是PHP本身也有缺点,就是需要运行在Apache服务器下,只有在使用MySQL数据库时才可以达到性能的*大发挥,所以一般都只适合于个人或小型项目开发。? ASP(Active Server Pages,动态服务页):ASP是一个动态Web服务器端的开发环境,利用它可以产生和运行动态的、交互的、高性能的Web服务应用程序。ASP采用脚本语言VBScript(JavaScript)作为自己的开发语言。由于ASP技术出现较早,所以一直到今天还在被陆续使用着,但是ASP技术本身有一个*大的问题就是平台的支持,ASP只能运行在IIS(Internet Information Services,互联网信息服务)服务器上,且只能在SQL Server数据库上才可以得到*大发挥。但是这套开发相对于使用Java开发而言,性能是很差的,所以一般用于个人或中小型项目 开发。? ASP.NET:ASP.NET是微软公司继ASP之后推出的新一代动态网站开发技术。ASP.NET基于.NET框架平台,用户可以选择.NET框架下自己喜欢的语言进行开发。ASP.NET技术是ASP技术的更新,也是微软公司目前主推的技术,但是由于微软的产品永远都会受到平台的限制,所以此技术往往用于中型项目的开发。? JSP(Java Server Page,Java服务页):使用Java完成的动态Web开发,代码风格与ASP类似,都属于在HTML代码中嵌入Java代码以实现功能,由于Java语言的跨平台特性,所以JSP不会受到操作系统或开发平台的制约,而且有多种服务器可以支持,如Tomcat、WebLogic、JBoss、Websphere等,所以经常在中大型项目开发中使用。JSP的前身是Servlet(服务器端小程序),但是由于Servlet开发过于复杂,所以SUN公司的开发人员根据ASP技术的特点,将Servlet程序重新包装,而形成新的一门开发技术——JSP。1.2 企业开发架构在现代的企业平台开发中已经大量地使用了B/S开发模式,不管是使用何种动态Web实现手段,其操作形式都是一样的,核心操作的大部分都是围绕着数据库进行的。但是如果直接使用编程语言进行数据库的开发则程序员要处理许多诸如事务、安全等操作,所以现在的开发往往都会通过中间件进行过渡,即程序运行在中间件上,并且通过中间件进行数据库的操作,而具体一些相关的处理,如事务、安全等完全由中间件负责,这样程序员只需要负责具体功能的开发即可,此种模式如图1-4所示。 图1-4 企业开发的核心架构在图1-4中可以发现,企业的平台需要操作系统的支持,所有数据库都是建立在操作系统上的,之后开发平台(Java EE就是一种开发平台)通过中间件进行数据库的操作。1.3 Java EE架构Java EE(Java Enterprise Edition,在2005年之前称为J2EE)是在Java SE基础之上建立起来的一种标准开发架构,主要用于企业级应用程序的开发。在Java EE的开发中是以B/S作为主要的开发模式,在Java EE中提供了多种组件及各种服务,如图1-5所示。 图1-5 Java EE架构从图1-5中可以发现,整个Java EE架构都是基于Java SE基础构建的,主要由容器、组件和服务三大核心部分构成,下面分别进行介绍。1.Java EE容器容器负责一种组件的运行,在Java EE中一共提供了4种容器,即Applet Container、Application Client Container、Web Container和EJB Container。各个容器负责处理各自的程序,且互相没有任何影响,而如果需要运行Web程序,则一定要有Web容器的支持。2.Java EE组件每一种Java EE组件实际上都表示着一种程序的开发,例如,Application程序就是使用主方法(main())运行的一种组件。在Java EE中提供了4种容器,每一种容器中都运行各自的组件,读者可以发现在Web容器中运行的是JSP和Servlet组件。EJB组件本身提供的是一个业务中心,由于EJB属于分布式开发的范畴,所以本书暂不对此做深入讲解。3.Java EE服务Java EE之所以应用广泛,主要是由于Java EE提供了各种服务,通过这些服务可以方便用户进行开发。例如,如果要进行数据库操作,则应使用JDBC服务。在Java EE中的主要服务有如下几种。? HTTP(Hypertext Transfer Protocol):在Java EE中主要采用了HTTP协议作为通信标准,包括Web开发中的主要协议也是HTTP协议。? RMI-IIOP(Remote Method Invocation over the Internet Inter-ORB Protocol):远程方法调用,融合了Java RMI和CORBA(Common Object Request Broker Architecture,公共对象请求代理体系结构)两项技术的优点而形成的新的通信协议,在使用Application或Web端访问EJB端组件时使用。? Java IDL(Java Interface Definition Language):Java接口定义语言,主要用于访问外部的CORBA服务。? JTA(Java Transaction API):用于进行事务处理操作的API,但在Java EE中所有的事务应该交由容器处理。? JDBC(Java Database Connectivity):为数据库操作提供的一组API。? JMS(Java Message Service):用于发送点对点消息的服务,需要额外的消息服务中间件支持。? JavaMail:用于发送邮件,需要额外的邮件服务器支持。? JAF(JavaBeans Activation Framework):用于封装传递的邮件数据。? JNDI(Java Naming and Directory Interface):在Java EE中提供的核心思想就是 “key→value”,为了体现这种思路,可以通过JNDI进行名称的绑定,并且依靠绑定的名字取得具体的对象。? JAXP(Java API for XML Parsing):专门用于XML解析操作的API,可以使用DOM或SAX解析,在*新的Java EE中提供了一种新的解析组件——STAX。? JCA(J2EE Connector Architecture):Java连接器架构,通过此服务可以连接不同开发架构的应用程序。? JAAS(Java Authentication and Authorization Service):用于认证用户操作,可以让当前运行的代码更加可靠。? JSF(Java Server Faces):Java EE官方提供的一套MVC实现组件。? JSTL(JSP Standard Tag Library):JSP页面的标签支持库。? Web服务组件:主要用于异构的分布式程序开发,主要服务有SAAJ(SOAP with Attachments API for Java)、JAXR(Java API for XML Registries)等。但是在整个企业的应用环境中,Java EE架构只是工作在中间层的一种组件,如图1-6所示。 图1-6 Java EE在企业环境中的位置在整个企业开发中主要分为如下3个层次。? 客户层:分为内部用户及外部用户,客户端可以使用Web浏览器,也可以是Java编写的应用程序。? 中间层:为客户访问提供服务,使用Java EE中的各种组件技术进行搭建,且各个容器之间允许互相调用。? 企业信息系统层(Enterprise Information Systems,EIS):例如,保存数据的数据库就是工作在此层。客户端一般不会直接去操作企业信息系统层,而是会通过中间层提供的服务进行访问,开发人员所需要完成的就是为所有的客户端提供更方便的操作。1.4 Java EE核心设计模式在整个Java EE中*核心的设计模式就是MVC(Mode-View-Controller)设计模式,且被广泛应用。Java EE中的标准MVC设计模式如图1-7所示。 图1-7 Java EE中的标准MVC设计模式在标准的MVC设计模式中,用户一旦发出请求之后会将所有请求交给控制层处理,然后由控制层调用模型层中的模型组件,并通过这些组件进行持久层的访问,再将所有结果都保存在JavaBean(Java类)中,*终由JSP和JavaBean一起完成页面的显示。但是此种设计模式,在不同的开发架构中也会存在一些区别,因为在开发中如果没有特殊的需要不一定会使用EJB技术,这一点在本书中会有具体的讲解。1.5 Struts开发框架使用标准MVC设计模式进行开发,则肯定要求进行过多的复杂设计,这对于一般项目而言是非常麻烦的,所以Apache专门提供了一套用于进行MVC开发的框架——Struts。Struts的软件包依然用于Web层次的开发,使用Struts可以更方便地对代码开发进行严格的管理。图1-8列出了Struts框架的基本组成。 图1-8 Struts框架的基本组成从图1-8中可以发现,Struts框架的主要作用还是在Web层上,也就是说Struts是对JSP和Servlet的一种变相应用,其核心的内部原理依然是MVC,而且由于Struts出现较早,使用较为广泛,所以现在俨然已经成为了Java EE的一套标准框架,是每一个从事Java EE开发人员必须具备的一项基本技能。1.6 本 章 摘 要1.Web运行环境经历了静态Web和动态Web两个时期,静态Web与动态Web*本质的区别就在于资源(数据库)的访问上。2.动态Web的常见实现手段有CGI、ASP、PHP、JSP/Servlet等。3.Java EE架构主要由组件、容器、服务组成,在整个Java EE中MVC是其核心设计思路。4.Struts开发主要是为了解决Web层的开发问题,可以节约设计的成本。

作者简介

李兴华:著名JAVA培训讲师,JAVA EE高端培训讲师,北京魔乐科技(MLDN软件实训中心)教学总监,中科软通系统架构师,火车票网技术总监,北京伟仕嘉禾科技发展有限公司系统架构师,8年软件开发经验,5年高端培训经验,先后为40多家大中型企业做过培训,在JAVA培训方面享有很高的知名度。王月清:江苏泰州人,中科软通CEO兼人事总监,E商联盟主席,易维博科技术总监,是一位在IT领域拥有十几年实践经 验的资深专业人士。主持开发过多个大型计算机系统,并研发了具有通用意义的web验证框架、灵活的自定义表单系统、文件传 输系统等。拥有自己的知识产权。

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航