J2EE+Web+应用开发技术教材
文件大小: 4453k
源码售价: 10 个金币 积分规则     积分充值
资源说明:第1章 J2EE的基本概念和规范....................................................................................................2 1.1. J2EE定义.................................................................................................................................2 1.2. J2EE规范构成.........................................................................................................................3 1.3. J2EE体系结构.........................................................................................................................3 1.3.1. Java 语言系统 .................................................................................................................3 1.3.2. 客户端程序设计模型 .....................................................................................................4 1.3.3. 中间层基础结构 .............................................................................................................4 1.3.4. 程序员企业级 API...........................................................................................................4 1.4. J2EE N-TIERS结构....................................................................................................................4 1.5. C/S与B/S结构区别.................................................................................................................6 1.6. 小结.........................................................................................................................................7 第2章 WEB服务器和WEB应用服务器.......................................................................................8 2.1. WEB服务器(WEB SERVER)......................................................................................................8 2.2. 应用程序服务器(THE APPLICATION SERVER).........................................................................8 2.3. 一个例子.................................................................................................................................9 2.3.1. 情景 1 :不带应用程序服务器的 Web 服务器 ................................................................9 2.3.2. 情景 2 :带应用程序服务器的 Web 服务器 ....................................................................9 2.3.3. 附加说明 .........................................................................................................................9 2.4. 应用程序服务器(THE APPLICATION SERVER).......................................................................10 2.4.1. BEA Weblogic................................................................................................................10 2.4.2. IBM Webshpere..............................................................................................................10 - ii - 2.4.3. JBoss..............................................................................................................................10 2.4.4. Tomcat...........................................................................................................................10 2.5. 小结.......................................................................................................................................11 第3章 利用TOMCAT创建和发布WEB应用.................................................................................12 3.1. TOMCAT与SERVLET容器........................................................................................................13 3.2. TOMCAT结构..........................................................................................................................13 3.2.1. server.xml 文件属性 .......................................................................................................15 3.3. JAVA WEB应用简介...............................................................................................................16 3.4. TOMCAT的工作模式..............................................................................................................17 3.4.1. 独立的 Servlet 容器 ........................................................................................................17 3.4.2. 进程内的 Servlet 容器 ....................................................................................................17 3.4.3. 进程外的 Servlet 容器 ....................................................................................................18 3.5. TOMCAT的版本......................................................................................................................18 3.6. TOMCAT安装配置..................................................................................................................19 3.6.1. j2sdk 的安装 ...................................................................................................................19 3.6.2. 使用可执行文件安装 Tomcat........................................................................................20 3.6.3. 解压安装 Tomcat...........................................................................................................20 3.7. 基本的安装测试...................................................................................................................20 3.8. TOMCAT ADMIN的安装..........................................................................................................22 3.9. TOMCAT启动分析..................................................................................................................23 3.10. TOMCAT目录结构..................................................................................................................24 3.11. 创建和发布WEB应用............................................................................................................24 3.11.1. Web 应用的目录结构 ....................................................................................................24 3.11.2. Eclipse + MyEclipse 开发 helloapp 的 Web 应用 ..............................................................25 3.12. 手工部署开发式目录结构...................................................................................................38 3.12.1. 在 server.xml 文件中加入 元素 .....................................................................38 3.13. 利用TOMCAT配置虚拟主机..................................................................................................38 3.14. 小结.......................................................................................................................................39 第4章 JAVA SERVLET..............................................................................................................40 4.1. 第一个SERVLET.....................................................................................................................40 4.1.1. 基本结构 .......................................................................................................................40 4.1.2. 输出纯文本的 Servlet....................................................................................................44 4.1.3. Servlet 的编译和安装 ....................................................................................................45 4.2. 处理表单数据.......................................................................................................................49 4.2.1. 表单数据概述 ...............................................................................................................49 4.2.2. 实例:读取表单变量 ...................................................................................................50 4.2.3. 实例:输出所有表单数据 ...........................................................................................52 4.2.4. 实例:测试表单 ...........................................................................................................54 4.3. 读取HTTP请求.......................................................................................................................56 4.3.1. http 请求头概述 .............................................................................................................56 4.3.2. 实例:在 Servlet 中读取请求头 ....................................................................................57 4.3.3. 实例:输出所有的请求头 ...........................................................................................57 4.4. 访问CGI变量........................................................................................................................59 - iii - 4.4.1. CGI 概述 ........................................................................................................................59 4.4.2. 标准 CGI 变量的 Servlet 等价表示 .................................................................................60 4.4.3. 实例:读取 CGI 变量 ....................................................................................................61 4.5. HTTP应答状态.......................................................................................................................63 4.5.1. 状态代码概述 ...............................................................................................................63 4.5.2. 设置状态代码 ...............................................................................................................64 4.5.3. HTTP. 状态代码及其含义 .............................................................................................64 4.5.4. 实例:访问多个搜索引擎 ...........................................................................................67 4.6. 设置HTTP应答头.................................................................................................................70 4.6.1. HTTP 应答头概述 .........................................................................................................70 4.6.2. 常见应答头及其含义 ...................................................................................................71 4.6.3. 实例:定时刷新页面的例子 .......................................................................................72 4.7. 处理COOKIE...........................................................................................................................74 4.7.1. Cookie 概述 ....................................................................................................................74 4.7.2. Servlet 的 Cookie API.....................................................................................................74 4.7.3. 几个 Cookie 工具函数 ....................................................................................................76 4.8. 会话状态...............................................................................................................................79 4.8.1. 会话状态概述 ...............................................................................................................79 4.8.2. 会话状态跟踪 API.........................................................................................................80 4.8.3. 查看当前请求的会话对象 ...........................................................................................80 4.8.4. 查看和会话有关的信息 ...............................................................................................80 4.8.5. 在会话对象中保存数据 ...............................................................................................81 4.8.6. 实例:显示会话信息 ...................................................................................................82 4.9. 小结.......................................................................................................................................84 第5章 JAVA SERVER PAGE.....................................................................................................85 5.1. 概述.......................................................................................................................................85 5.2. JSP和其他类似技术比较.....................................................................................................86 5.3. JSP语法概要表.....................................................................................................................86 5.4. 脚本元素、指令和预定义变量............................................................................................88 5.4.1. JSP 脚本元素 .................................................................................................................88 5.4.2. JSP 指令 .........................................................................................................................89 5.4.3. 实例:脚本元素和指令的应用 ...................................................................................91 5.5. JSP预定义变量.....................................................................................................................92 5.5.1. HttpServletRequest 类的 Request 对象 ................................................................92 5.5.2. HttpServletResponse 类的 Respone 对象 ............................................................92 5.5.3. JspWriter 类的 out 对象 ..............................................................................................92 5.5.4. HttpSession 类的 session 对象 .................................................................................93 5.5.5. ServletContex 类的 application 对象 .....................................................................93 5.5.6. ServletConfig 类的 Config 对象 ................................................................................93 5.5.7. PageContext 类的 PageContext 对象 .....................................................................93 5.5.8. Object 类的 Page (相当于 this )对象 .....................................................................93 5.5.9. exception........................................................................................................................93 5.6. JSP动作.................................................................................................................................95 5.6.1. jsp:include 动作 .............................................................................................................96 - iv - 5.6.2. jsp:useBean 动作 ...........................................................................................................97 5.6.3. 关于 jsp:useBean 的进一步说明 ....................................................................................99 5.6.4. jsp:setProperty 动作 .....................................................................................................100 5.6.5. jsp:getProperty 动作 ....................................................................................................103 5.6.6. jsp:forward 动作 ..........................................................................................................104 5.6.7. jsp:plugin 动作 .............................................................................................................104 5.6.8. 附录: JSP 注释和字符引用约定 ...............................................................................104 5.7. JSP/SERVLET应用程序优化................................................................................................104 5.7.1. 在 HttpServlet init() 方法中缓存数据 ..........................................................................104 5.7.2. 禁用 servlet 和 Jsp 的自动装载功能 .............................................................................105 5.7.3. 控制 HttpSession..........................................................................................................105 5.7.4. 使用 gzip 压缩 ..............................................................................................................106 5.7.5. 不要使用 SingleThreadModel......................................................................................106 5.7.6. 使用线程池 .................................................................................................................107 5.7.7. 选择正确的包括机制 .................................................................................................107 5.7.8. 在 useBean 动作中使用合适的范围 ............................................................................107 5.7.9. 其他技术 .....................................................................................................................107 5.8. 实例:BOOKSTORE应用......................................................................................................108 5.8.1. Web 服务器层 ..............................................................................................................108 5.8.2. 数据库层 .....................................................................................................................108 5.8.3. JavaBean 和实用类 .....................................................................................................122 5.8.4. 发布 bookstore 应用 .....................................................................................................132 5.9. 小结.....................................................................................................................................132 第6章 JDBC技术.......................................................................................................................133 6.1. 概述.....................................................................................................................................133 6.2. JDBC的设计目的................................................................................................................133 6.3. JDBC的主要功能................................................................................................................133 6.4. 与ODBC相比JDBC特点.....................................................................................................135 6.5. JDBC结构............................................................................................................................135 6.6. JDBC工作原理....................................................................................................................136 6.7. 数据库应用的模型.............................................................................................................138 6.8. 通过JDBC 实现对数据库的访问......................................................................................139 6.8.1. 编写访问数据库程序的步骤 .....................................................................................139 6.8.2. 实现对数据库的一般查询 Statement..........................................................................141 6.8.3. 预编译方式执行 SQL 语句 PreparedStatement............................................................143 6.8.4. 执行存储过程 CallableStatement................................................................................143 6.8.5. ResultSet 对象 ..............................................................................................................143 6.8.6. 数据转换 .....................................................................................................................144 6.8.7. 对应 JAVA 与 SQL 类型 .................................................................................................144 6.8.8. NULL 结果值 ...............................................................................................................147 6.8.9. 获得结果集中的结构信息 .........................................................................................147 6.9. 更新数据库.........................................................................................................................148 6.9.1. 对表中的记录进行操作 .............................................................................................148 6.9.2. 创建和删除表 .............................................................................................................150 - v - 6.9.3. 增加和删除表中的列 .................................................................................................150 6.9.4. 利用 PreparedStatement 对象实现数据更新 ...............................................................151 6.10. 参数的输入与输出.............................................................................................................151 6.11. 事务处理.............................................................................................................................152 6.12. 批量处理JDBC语句提高处理速度....................................................................................154 6.13. 处理中文编码问题.............................................................................................................155 6.14. 通过JDBC访问数据库的JSP范例程序..............................................................................157 6.15. 在BOOKSTORE应用中通过JDBC访问数据库.....................................................................159 6.16. 数据源DATASOURCE...........................................................................................................164 6.16.1. 数据源和连接池 .........................................................................................................165 6.16.2. 数据源和 JNDI 资源 ....................................................................................................165 6.17. 在TOMCAT中配置数据源....................................................................................................166 6.17.1. server.xml 中加入 元素 .............................................................................166 6.17.2. 在应用程序的 web.xml 中加入 元素 ....................................................168 6.18. 程序中访问数据源.............................................................................................................168 6.18.1. 通过数据源访问数据库的 JSP 范例程序 ...................................................................168 6.18.2. 在 bookstore 应用中通过数据源访问数据库 ..............................................................170 6.19. 小结.....................................................................................................................................175 第7章 STRUTS与MVC设计模式............................................................................................177 7.1. STRUTS与JAVA WEB应用.....................................................................................................177 7.1.1. Web 组件的三种关联 ..................................................................................................177 7.1.2. MVC 概述 ....................................................................................................................179 7.1.3. JSP Model1 和 JSP Model2.........................................................................................181 7.1.4. Struts 概述 ....................................................................................................................182 7.2. 从HELLOAPP开始STRUTS应用.............................................................................................187 7.2.1. helloapp 的需求 ...........................................................................................................187 7.2.2. 组建 Struts 框架 ............................................................................................................187 7.2.3. 创建工程 .....................................................................................................................187 7.2.4. 创建视图组件 .............................................................................................................189 7.2.5. 创建控制器组件 .........................................................................................................196 7.2.6. 创建模型组件 .............................................................................................................199 7.2.7. 配置文件 .....................................................................................................................199 7.3. 配置STRUTS组件.................................................................................................................201 7.3.1. Web 应用部署描述符 ................................................................................................202 7.3.2. ActionServlet 的参数 ..................................................................................................204 7.3.3. Struts 配置 ....................................................................................................................207 7.3.4. Struts 配置元素 ..........................................................................................................209 7.3.5. Struts config 骨架 .........................................................................................................215 7.3.6. 应用资源文件 .............................................................................................................216 7.3.7. 配置 Struts 核心 ..........................................................................................................217 7.3.8. 配置模块化应用 .........................................................................................................219 7.4. STRUTS控制器组件.............................................................................................................220 7.4.1. Action 类 ......................................................................................................................221 7.4.2. RequestProcessor 类 ....................................................................................................222 - vi - 7.4.3. action 类 .......................................................................................................................223 7.4.4. 使用内置的 struts action 类 .........................................................................................225 7.4.5. 利用 token 解决重复提交 ............................................................................................226 7.4.6. 实用类 .........................................................................................................................227 7.5. STRUTS模型组件.................................................................................................................229 7.5.1. 模型在 MVC 中的地位 .................................................................................................229 7.5.2. 模型的概念和类型 .....................................................................................................230 7.5.3. 业务对象 (BO).............................................................................................................230 7.5.4. 业务对象的持久化 .....................................................................................................231 7.5.5. 小结 .............................................................................................................................233 7.6. STRUTS视图组件.................................................................................................................233 7.6.1. 视图概述 .....................................................................................................................233 7.6.2. 在视图中使用 JavaBean.............................................................................................234 7.6.3. 使用 ActionForm..........................................................................................................235 7.7. 扩展STRUTS框架.................................................................................................................240 7.7.1. PlugIn..........................................................................................................................240 7.7.2. 请求是如何被处理的 .................................................................................................242 7.7.3. 创建你自己的 RequestProcessor................................................................................246 7.7.4. ActionServlet...............................................................................................................247 7.7.5. 结论 .............................................................................................................................248 7.8. STRUTS应用国际化.............................................................................................................248 7.8.1. 本地化与国际化的概念 .............................................................................................248 7.8.2. Web 应用的中文本地化 ..............................................................................................248 7.8.3. Java 对 I18N 的支持 ......................................................................................................249 7.8.4. Web 容器中 Locale 对象的来源 ....................................................................................250 7.8.5. 在 Web 应用中访问 Locale 对象 ....................................................................................250 7.8.6. 在 Struts 应用中访问 Locale 对象 .................................................................................250 7.8.7. ResourceBundle 类 .......................................................................................................251 7.8.8. MessageFormat 类和符合消息 ...................................................................................251 7.8.9. Struts 框架对国际化的支持 ........................................................................................251 7.8.10. 异常处理的国际化 .....................................................................................................253 7.8.11. 小结 .............................................................................................................................253 7.9. VALIDATOR验证框架...........................................................................................................254 7.10. 异常处理.............................................................................................................................255 7.11. STRUTS标签.........................................................................................................................258 7.11.1. 在 Struts 应用中使用标签库 ........................................................................................259 7.11.2. Struts HTML 标签库 ....................................................................................................259 7.11.3. Struts Bean 标签库 .......................................................................................................261 7.11.4. Struts Logic 标签库 ......................................................................................................261 7.11.5. Struts Template 标签库 ................................................................................................263 7.11.6. Struts Nested 标签库 ....................................................................................................263 7.12. 使用TILES框架....................................................................................................................263 7.12.1. Tiles 配置和基本配置文件介绍 ..................................................................................264 7.12.2. 使用 Tiles.....................................................................................................................267 - vii - 7.12.3. 小结 .............................................................................................................................267 7.13. 用STRUTSTESTCASE测试STRUTS应用................................................................................268 7.13.1. 准备 StrutsTestCase......................................................................................................268 7.13.2. 初试 StrutsTestCase......................................................................................................271 7.13.3. 深入 StrutsTestCase......................................................................................................272 7.13.4. 关于 Web.xml 和 Struts-Config.xml................................................................................273 7.13.5. 小结 .............................................................................................................................273 第8章 HIBERNATE与JAVA对象持久化技术........................................................................274 8.1. QUICK START........................................................................................................................274 8.1.1. 准备工作 .....................................................................................................................274 8.1.2. 构建 Hibernate 基础代码 ...........................................................................................274 8.1.3. 由数据库产生基础代码 .............................................................................................275 8.2. HIBERNATE 配置.................................................................................................................283 8.2.1. 准备 .............................................................................................................................283 8.2.2. 第一段代码 .................................................................................................................284 8.2.3. Hibernate 基础语义 .....................................................................................................287 8.3. HIBERNATE高级特性...........................................................................................................288 8.3.1. XDoclet 与 Hibernate 映射 ........................................................................................288 8.3.2. 数据检索 .....................................................................................................................296 8.3.3. Hibernate Query Language (HQL).............................................................................299 8.4. 数据关联.............................................................................................................................299 8.4.1. 一对一关联 .................................................................................................................299 8.4.2. 一对多关联 .................................................................................................................302 8.4.3. 多对多关联 .................................................................................................................310 8.5. 数据访问.............................................................................................................................314 8.5.1. PO 和 VO......................................................................................................................314 8.5.2. 关于 unsaved-value......................................................................................................317 8.5.3. Inverse 和 Cascade.......................................................................................................318 8.5.4. 延迟加载( Lazy Loading ) .......................................................................................318 8.5.5. 事务管理 .....................................................................................................................321 8.5.6. 基于 JDBC 的事务管理 ...............................................................................................322 8.5.7. 基于 JTA 的事务管理 ...................................................................................................322 8.5.8. 锁( locking ) .............................................................................................................325 8.5.9. 悲观锁( Pessimistic Locking ) .................................................................................325 8.5.10. 乐观锁( Optimistic Locking ) ...................................................................................326 8.5.11. Hibernate 分页 .............................................................................................................329 8.5.12. Cache 管理 ...................................................................................................................331 8.5.13. Session 管理 .................................................................................................................334 第9章 轻量级框架SPRING..........................................................................................................338 9.1. SPRING概述.........................................................................................................................338 9.1.1. Spring 是什么? ..........................................................................................................338 9.1.2. Spring 项目 ..................................................................................................................339 9.1.3. 入门指引 .....................................................................................................................339 - viii - 9.1.4. Putting a Spring into Hello World : Spring 之 Hello World.........................................344 9.2. SPRING基础.........................................................................................................................351 9.2.1. Introducting Inversion of Control :控制反转介绍 ....................................................351 9.2.2. Types of Inversion of Control :控制反转类型 ...........................................................351 9.2.3. Inversion of Control in Spring : Spring 中的控制反转 ...............................................353 9.2.4. Dependency Injection with Spring :使用 Spring 依赖注入 ........................................353 9.2.5. Configuring the BeanFactory :配置 Bean 工厂( BeanFactory ) .............................356 9.2.6. Injection Parameters :注入参数 ...............................................................................360 9.2.7. Understanding Bean Naming :理解 Bean 命名 ..........................................................370 9.2.8. Bean Instantiation Modes : Bean 实例化模式 ............................................................372 9.2.9. Resolving Dependency :依赖解析 .............................................................................374 9.2.10. Auto-Wiring Your Beans :自动装配你的 Bean..........................................................375 9.2.11. Checking Dependency :依赖检查 .............................................................................378 9.2.12. Bean Inheritance : Bean 继承 .....................................................................................380 9.2.13. 小结 .............................................................................................................................381 9.3. ASPECT ORIENTED PROGRAMMING WITH SPRING:基于SPRING的AOP编程........................382 9.3.1. AOP Concepts : AOP 概念 ..........................................................................................382 9.3.2. Types of AOP : AOP 的种类 ........................................................................................383 9.3.3. AOP in Spring : Spring 中的 AOP...............................................................................383 9.3.4. Advisors and Pointcuts in Spring : Spring 里的通知者和切入点 ..............................401 9.3.5. All About Proxies :关于代理 .....................................................................................413 9.3.6. Advanced Use of Pointcuts :切入点的高级使用 ......................................................418 9.3.7. Getting Started with Introductions :引入初步 ...........................................................419 9.3.8. Framework Services for AOP : AOP 框架服务 ..........................................................419 9.3.9. 小结 .............................................................................................................................419 9.4. 基于SPRING的数据访问......................................................................................................420 9.4.1. Exploring the JDBC Infrastructure :探索 JDBC 的底层结构 ....................................420 9.4.2. Spring JDBC Infrastructure : Spring JDBC 底层机制 ...............................................420 9.4.3. Database Connection and DataSources :数据库连接和数据源 ..............................420 9.4.4. Using DataSources in DAO Classes :在 DAO 类中使用数据源 ................................420 9.4.5. Exception Handling :异常处理 .................................................................................420 9.4.6. The JDBC Template Class : JDBC 模板类 .................................................................420 9.4.7. Selecting The Data as Java Objects :选出作为 Java 对象的数据 .............................420 9.4.8. Updating Data :更新数据 .........................................................................................420 9.4.9. Inserting Data :插入数据 ..........................................................................................420 9.4.10. Transactions :事务 ....................................................................................................421 9.4.11. Why JDBC :为什么用 JDBC......................................................................................421 9.4.12. Using JDBC Data Access in the Sample Application :在示例程序中使用 JDBC 数据访 问 421 9.4.13. 小结 .............................................................................................................................421 9.5. 在SPRING应用中使用HIBERNATE.......................................................................................421 9.5.1. What Is Hibernate :什么是 Hibernate........................................................................421 9.5.2. The Hibernate Query Language : Hibernate 查询语言 ..............................................421 9.5.3. Selecting Data :选择数据 .........................................................................................421 - ix - 9.5.4. Updating and Inserting Data :更新并插入数据 .......................................................421 9.5.5. Using Hibernate in the Sample Appliction :在示例应用中使用 Hibernate..............421 9.5.6. 小结 .............................................................................................................................421 9.6. 基于SPRING的应用程序设计及实现..................................................................................422 9.6.1. Designing to Interfaces :面向接口的设计 ................................................................422 9.6.2. Impact of Spring on Interface-Based Design : Spring 对于基于接口设计的冲击 ....422 9.6.3. Building a Domain Object Model :域对象模型的构建 ............................................422 9.6.4. Designing and Building the Data Access Tier :持久层设计与构建 .........................422 9.6.5. Designing the Business Tier :业务层设计 .................................................................423 9.6.6. 小结 .............................................................................................................................423 9.7. 基于SPRING的WEB应用开发..............................................................................................423 9.7.1. Introducing Spring MVC :介绍 Spring MVC.............................................................423 9.7.2. Using Handler Mappings :使用 Handler Mappings..................................................423 9.7.3. Using Handler Interceptors :使用处理拦截器 .........................................................423 9.7.4. Woking with Controllers :让控制器工作起来 ..........................................................423 9.7.5. Views , Locales , and Themes :视图, Locales ,主题 ............................................424 9.7.6. Using Command Controllers :使用命令控制器 .......................................................424 9.7.7. Using Spring MVC in the Sample Appliction :在范例应用种使用 Spring MVC.......424 9.7.8. 使用 Spring 中 JSP 标记 ................................................................................................424 9.7.9. Using Velocity :使用 Velocity.....................................................................................425 9.7.10. Using XSLT Views :使用 XSLT 视图 ...........................................................................425 9.7.11. Using PDF Views :使用 PDF 视图 .............................................................................425 9.7.12. Using Excel Views :使用 Excel 视图 ...........................................................................425 9.7.13. Using Tiles :使用 Tiles................................................................................................425 9.8. SPRING和STRUTS.................................................................................................................425 9.8.1. Exploring the Struts Architecture :考察 Struts 体系结构 ............................................425 9.8.2. A Struts Appliction :一个 Sturts 程序 ..........................................................................425 9.8.3. Accessing Spring Beans :访问 Spring Bean...............................................................425 9.8.4. Using Other Views :使用第三方 Views......................................................................425 9.8.5. Using Struts Actions as Spring Beans :将 Struts Action 定义为 Spring Bean..............426 9.8.6. Combining Struts and Spring MVC :整合 Struts 和 Spring MVC................................426 9.8.7. 小结 .............................................................................................................................426
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。