关于我们
书单推荐
新书推荐
|
JSP程序设计
JavaWeb应用程序是当前主流的服务器端技术。本书通过大量实例深入浅出地介绍Java Web应用的开发, 全书共14章, 内容包括: Java Web开发上手、JSP中的超文本、JSP语法、JSP内置对象、JSP中使用JavaBean、用Maven管理项目、Servlet技术、监听器和过滤器、MVC设计模式、JDBC访问数据库、表达式语言EL、标准标签库JSTL、持久层框架MyBatis、Spring MVC。
JSP是一种广泛使用的动态网页技术标准。JSP能够响应客户端的请求,并动态生成HTML、XML或其他格式文档的Web页面。JSP以Java语言作为脚本语言,可以使用Java语言的大部分类库。 JSP页面中既可以有静态的HTML标签,也可以有动态的Java脚本。当一个JSP页面□□次被请求时,应用服务器首先将JSP页面编译成Servlet(.java),然后调用Java编译器将Servlet编译成字节码文件(.class),□后将字节码文件实例化成Java对象,并调用这个对象的service()方法为客户端请求提供服务。编译JSP页面仅仅发生在该页面□□次被请求时。对于后续的请求,应用服务器将直接使用内存中的Java对象提供服务。当然,如果JSP页面在服务器运行期间被修改,应用服务器也会重新编译这个JSP页面。 Servlet是一种运行在服务器端的Java应用程序。Servlet由应用服务器加载,并由应用服务器维护其生命周期。服务器根据客户端请求的方法调用Servlet中对应的方法。Servlet读取浏览器或其他HTTP客户端发来的请求参数,动态生成响应返回给客户端。 Servlet监听器可以监听Web应用中发生的各种事件。利用监听器,当事件发生时可以在后台自动执行某些代码。Servlet过滤器可以截获HTTP的请求和响应。多个过滤器形成一个过滤器链。利用过滤器可以将一些公共代码从Servlet和JSP中分离出来。 JSP表达式语言(Expression Language,EL)使得访问存储在JavaBean中的数据□得非常简单,EL提供了在JSP页面中以更简洁的语法输出数据的机制。JSP标准标签库(Java Server Pages Standard Tag Library,JSTL)为Java Web开发者提供了一个标准的通用标签库。通过JSTL,可以部分取代传统JSP程序中嵌入Java代码的做法,使得JSP页面的风格趋于统一,且容易维护。 MVC设计模式是Web开发常用的设计模式,核心思想是有效地组合模型(Model)、视图(View)和控制器(Controller),每个部分各有所长,分工明确。模型负责业务逻辑处理和封装数据,视图只负责显示的界面,控制器控制着模型和视图之间的交互过程。JSP作为视图,Servlet作为控制器,JavaBean作为模型,JSP+Servlet+JavaBean可以实现符合MVC设计模式的Java Web程序。 Maven是一个软件项目管理的综合工具。基于项目对象模型(Project Object Model,POM),Maven可以通过一小段XML描述信息来管理项目的构建、报告和文档。Maven还是一个依赖管理工具,它提供了中央仓库,能够自动下载构件(Artifact)。组ID、构件ID、版本三个元素□□定位一个构件。 JDBC是Java Database Connectivity的缩写,职责是为Java应用程序访问数据库提供一种通用手段。JDBC API为Java开发者使用数据库提供了统一的编程接口,它由一组Java类和接口组成。 对象关系映射(Object Relational Mapping,ORM)是一种为了解决面向对象与关系数据□□在的互不匹配现象的技术。ORM可以在对象和关系数据库之间建立映射,使得程序可以通过操作对象的方式来访问关系数据库。MyBatis是一个优秀的Java持久化框架,可以实现ORM映射、查询缓存等常用功能。 Spring为Java开发提供了各种基础设施,Spring框架是Spring提供的支持企业级应用开发的项目,其核心是一个控制反转(Inversion of Control,IoC)和面向切面(Aspect Oriented Programming,AOP)的容器。控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就从应用转移到了外部容器,控制权的转移就是所谓反转。依赖注入是指在运行时,由外部容器动态地将依赖对象注入到组件中。Spring框架就是一个大容器,可以将所有对象的创建和依赖关系的维护交给Spring框架管理。 JSP程序设计(第□版)前言Spring MVC是Spring框架的一个模块,是一个MVC设计模式的Web框架。Spring MVC中的控制器可以被注入Spring容器中的服务层组件,而服务层组件可以被注入持久层组件。Spring MVC的Web应用由三层架构组成: Web层、业务层、持久层。注解@Controller和@RestController用于定义Web层的控制器,注解@Service用于定义服务层组件,注解@Re□□□itory用于定义持久层的数据访问组件,而注解@Autowired使得Spring可以自动组装组件。 Spring为主流的应用框架提供了集成支持。在Spring中集成持久层框架MyBatis,开发者可在XML映射文件中编写SQL语句,给出Mapper的实现,这个XML映射文件就相当于数据访问对象的实现类。Spring扫描XML映射文件创建持久层组件,并将持久层组件注入到服务层组件中。 从头开始配置一个Spring MVC+Spring IoC+MyBatis的项目对于开发者理解控制反转、依赖注入、MVC设计模式、Web分层架构、面向切面等基础知识是必要的。Spring还提供了更简单的Spring Boot项目来创建和配置Spring应用,它可以创建独立运行的、产品等级的、只需□少配置的、基于Spring的应用。 本书从实践出发,通过大量的小例子深入浅出地介绍Java Web应用程序的设计开发。□□章介绍JSP的工作原理、Java Web应用程序的目录结构、常见的应用服务器、集成开发环境Eclipse。第□章介绍HTML标签,以及如何读取表单数据。第3章介绍JSP的基本语法,包括指令元素、脚本元素、动作元素。第4章介绍HTTP协议和全部9个JSP内置对象。第5章介绍使用JavaBean封装业务逻辑和在JSP页面中使用JavaBean。第6章介绍项目管理工具Maven,它还是一个依赖管理工具,提供了中央仓库,能够自动下载构件。第7章介绍JSP的基础Servlet技术,并用Servlet实现生成JPEG图片、发送电子邮件、上传文件。第8章介绍监听器和过滤器。监听器(Listener)用于监听并处理Web应用中发生的各种事件。过滤器(Filter)可以截获HTTP的请求和响应。第9章介绍MVC设计模式,使用JSP + Servlet + JavaBean可实现MVC模式。□□0章介绍JDBC连接MySQL数据库,除了介绍基本数据库操作之外,还介绍事务处理、存储过程、连接池和数据源等高级数据库技术。□□1章介绍表达式语言EL,它可以用更简洁的语法读取属性值。□□□章介绍JSP标准标签库JSTL,使用JSTL标签可以让页面更简洁并易于维护。□□3章介绍一种持久层框架MyBatis,它是一个SQL映射框架(半自动ORM框架),而不是一个完整的ORM框架。MyBatis使用简单的XML映射器就可以免除了几乎所有的JDBC代码。□□4章介绍Spring MVC,首先介绍控制反转和依赖注入的概念,接着介绍Spring MVC的概念和如何配置、接收多个请求参数、注入服务层组件、响应JSON、Spring和MyBatis的集成,以及使用AOP配置声明式数据库事务。 本书第6章使用Maven管理项目,之后的各章项目均使用Maven来管理JAR文件,学会用Maven管理项目至关重要。□□0章JDBC访问数据库的内容从第4章就开始使用,需提前学习如何连接MySQL数据库和执行SELECT语句。□□1章表达式语言EL和□□□章标准标签库JSTL的内容可以只掌握类似${student.name}的EL和迭代标签。Spring MVC + Spring IoC + MyBatis的方案是当前Java Web后端开发主流的企业级解决方案,□□3章持久层框架MyBatis和□□4章Spring MVC需要重点掌握。 Java Web开发是一门实践性很强的课程。本书在讲解每个知识点的时候都给出了对应的代码。希望这些代码对读者的实际开发有帮助,也希望读者能够亲自动手编写和调试这些代码。交流可以促进学习,欢迎您写信给本书作者并加入课程交流□。 佟强2022年4月
佟强博士2006年毕业于中国科学院计算技术, 拥有10余年的实际项目开发经验和编程类课程教学经验,目前正在讲授的课程有《计算机应用基础》、《Java面向对象程序设计》、《Web应用程序设计》和《C++程序设计》。2013年在清华大学出版社出版了《JSP程序设计》一书,目前正在改版和撰写新书《C++程序设计》的初稿。
第1章Java Web开发上手/1
1.1动态网页技术1 1.1.1CGI1 1.1.2ASP1 1.1.3ASP.NET2 1.1.4PHP2 1.1.5Servlet2 1.1.6JSP2 1.2JSP基本概念2 1.2.1JSP的工作原理2 1.2.2常见应用服务器3 1.2.3Java Web应用程序的目录结构3 1.2.4开发环境4 1.3JDK安装与配置4 1.4应用服务器Tomcat6 1.4.1Tomcat简介6 1.4.2安装Tomcat7 1.4.3启动/停止Tomcat7 1.4.4使用浏览器访问Tomcat9 1.4.5修改Tomcat监听端口9 1.4.6管理Web应用和虚拟主机10 1.4.7Tomcat运行为Windows服务12 1.5集成开发环境Eclipse15 1.5.1Eclipse简介15 1.5.2安装Eclipse15 1.5.3Eclipse中添加Tomcat16 1.5.4Web文件的字符编码16 1.5.5开发22个JSP程序17 1.5.6将Web应用打包成WAR文件23 本章小结25 习题一25 第2章JSP中的超文本/27 2.1页面27 2.2字体29 2.3文字布231 2.4图像35 2.5表格36 2.6框架41 2.7表单与请求参数42 2.8读取中文请求参数47 本章小结49 习题二50 JSP程序设计(第2版)目录第3章JSP语法/51 3.1JSP文件的组成51 3.1.1一个典型的JSP文件51 3.1.2分析JSP文件中的元素52 3.1.3JSP文件的运行结果52 3.1.4JSP转译的Java源文件53 3.2JSP中的注释55 3.3指令元素57 3.3.1page指令57 3.3.2include指令59 3.3.3taglib指令61 3.4脚本元素62 3.4.1声明<%!与%>62 3.4.2表达式 <%=与%>64 3.4.3小脚本 <%与%>65 3.4.4表达式语言 ${}67 3.5动作元素69 3.5.1提供参数69 3.5.2包含页面69 3.5.3转发请求71 3.5.4使用JavaBean73 本章小结73 习题三73 第4章JSP内置对象/75 4.1HTTP协议75 4.1.1统一资源定位符URL75 4.1.2HTTP工作原理76 4.1.3HTTP报文格式77 4.1.4Cookie80 4.2内置对象介绍81 4.2.1内置对象的功能81 4.2.2内置对象的类型81 4.3内置对象82 4.3.1out82 4.3.2request82 4.3.3response87 4.3.4session90 4.3.5application94 4.3.6config97 4.3.7page98 4.3.8pageContext98 4.3.9exception99 4.4JSP实例101 4.4.1用户登录102 4.4.22简单的购物小车103 4.4.3考研成绩查询系2206 本章小结112 习题四112 第5章JSP中使用JavaBean/115 5.1JavaBean介绍115 5.1.1JavaBean简介115 5.1.2编写JavaBean遵循的原则116 5.1.3JavaBean的属性116 5.2118 5.2.1的基本语法118 5.2.2JavaBean的条件化操作119 5.2.3JavaBean存放的位置121 5.2.4JavaBean的作用范围122 5.3获取JavaBean的属性123 5.3.1123 5.3.2使用EL获取JavaBean属性124 5.4125 5.4.1value给出属性的值125 5.4.2param给出HTTP请求参数的名字126 5.4.3自动匹配单个HTTP请求参数127 5.4.4自动匹配全部HTTP请求参数127 5.4.5索引属性的HTTP请求参数自动匹配128 5.5用户登录(JSP+JavaBean+MySQL)130 5.5.1用户表user130 5.5.2SHA256算法130 5.5.3用户类: User131 5.5.4JSP页面133 5.6购物小车(JSP+JavaBean+MySQL)135 5.6.1商品表和商品类Item135 5.6.2数据库工具类DatabaseUtils136 5.6.3商品表数据访问类ItemDao137 5.6.4购物小车类CartService139 5.6.5商品列表页面shopping.jsp141 5.6.6购物小车页面cart.jsp143 本章小结145 习题五146 第6章用Maven管理项目/148 6.1安装和配置Maven148 6.1.1下载和安装Maven148 6.1.2Maven的配置文件148 6.1.3Eclipse自带的Maven149 6.2创建Maven管理的动态网站项目150 6.2.1在Eclipse内部添加Tomcat150 6.2.2设置Web文件的字符集150 6.2.3创建动态网站项目151 6.2.4新建JSP文件152 6.2.5启动Server154 6.2.6使用浏览器访问JSP157 6.2.7转成Maven项目157 6.2.8在Eclipse内部构建Maven项目159 6.3Maven项目的目录结构162 6.3.1Maven目录的约定配置162 6.3.2调整项目的目录163 6.4管理项目依赖164 6.4.1搜索依赖的构件164 6.4.2依赖的作用范围165 6.5理解Maven构建的过程166 6.5.1Maven构建的阶段166 6.5.2Maven常用命令166 6.5.3使用mvn命令167 本章小结167 习题六168 第7章Servlet技术/169 7.1Servlet介绍169 7.1.1什么是Servlet169 7.1.2Servlet的特点169 7.1.3Servlet和JSP的比较170 7.2实现Servlet170 7.2.1Eclipse向导创建Servlet170 7.2.2Servlet处理请求参数172 7.3Servlet的工作原理174 7.3.1Servlet的生命周期174 7.3.2实现Servlet类175 7.3.3部署Servlet177 7.3.4Servlet存放的位置179 7.3.5获得其他JSP内置对象179 7.3.6启动装入优先级180 7.4Servlet高级示例181 7.4.1动态生成JPEG图片181 7.4.2JavaMail发送电子邮件183 7.4.3Commons FileUpload上传文件187 本章小结191 习题七191 第8章监听器和过滤器/193 8.1监听器193 8.1.1监听Web应用194 8.1.2监听HTTP会话195 8.1.3监听HTTP请求199 8.2监听器示例201 8.2.1统计在线人数201 8.2.2加载后台服务对象204 8.3过滤器206 8.3.1过滤器的概念206 8.3.2过滤器的链式结构207 8.3.3实现过滤器207 8.3.4部署过滤器209 8.4过滤器示例210 8.4.1字符集过滤器210 8.4.2用户认证过滤器212 8.4.3自定义日志过滤器214 本章小结217 习题八218 第9章MVC设计模式/219 9.1JSP的两种模式219 9.1.1模式一219 9.1.2模式二219 9.1.3两种模式的比较220 9.1.4JSP和Servlet的选择220 9.2MVC模式221 9.2.1MVC模式的概念221 9.2.2各种技术总结221 9.2.3MVC模式的实现222 9.3MVC示例222 9.3.1Hello MVC222 9.3.2个人主页模板225 本章小结233 习题九234 220章JDBC访问数据库/235 10.1JDBC的接口和类235 10.1.1JDBC简介235 10.1.2Driver235 10.1.3DriverManager236 10.1.4Connection236 10.1.5Statement237 10.1.6ResultSet237 10.1.7PreparedStatement238 10.1.8DatabaseMetadata238 10.1.9ResultSetMetadata238 10.2连接MySQL数据库238 10.2.1安装和使用MySQL238 10.2.2通过JDBC连接MySQL239 10.3基本数据库操作241 10.3.1查询数据242 10.3.2插入数据243 10.3.3带参数的SQL语句244 10.3.4更新数据245 10.3.5删除数据246 10.3.6获取元数据247 10.4高级数据库操作249 10.4.1获得数据库生成的主键249 10.4.2事务处理251 10.4.3存储过程254 10.4.4批处理257 10.4.5分页显示查询结果259 10.5连接池和数据源261 10.5.1Tomcat下配置数据源262 10.5.2JSP页面中使用数据源262 本章小结263 习题十264 221章表达式语言EL/265 11.1EL简介265 11.2EL语法265 11.2.1字面值266 11.2.2操作符“[]”和“.”266 11.2.3算术运算符269 11.2.4关系运算符269 11.2.5逻辑运算符269 11.2.6empty运算符269 11.2.7条件运算符270 11.3EL中的隐含对象270 11.3.1pageContext对象271 11.3.2范围对象272 11.3.3请求参数对象273 11.3.4请求头对象276 11.3.5Cookie对象277 11.3.6初始化参数277 本章小结278 习题十一278 222章标准标签库JSTL/280 12.1JSTL介绍280 12.1.1JSTL的功能280 12.1.2JSTL的优点280 12.1.3JSTL的安装281 12.1.4JSTL的使用281 12.2一般用途的标签282 12.2.1282 12.2.2283 12.2.3284 12.2.4285 12.3条件标签286 12.3.1286 12.3.2287 12.4迭代标签288 12.4.1288 12.4.2294 12.5SQL标签295 12.5.1295 12.5.2296 12.5.3297 12.5.4298 12.5.5299 12.5.6299 12.6投票系统(JSTL+MySQL)299 12.6.1创建投票数据库299 12.6.2数据库连接池配置300 12.6.3投票页面301 本章小结302 习题十二303 223章持久层框架MyBatis/305 13.1ORM和MyBatis305 13.1.1ORM相关概念305 13.1.2什么是MyBatis307 13.2MyBatis Generator307 13.2.1MyBatis Generator简介307 13.2.2安装MyBatis Generator308 13.2.3创建MySQL数据库309 13.2.4配置和运行MyBatis Generator311 13.3使用MyBatis314 13.3.1MyBatis配置文件314 13.3.2修改生成的代码315 13.3.3使用MyBatis访问表316 13.4理解MyBatis319 13.4.1关于SqlSessionFactory319 13.4.2核心对象的生命周期320 本章小结321 习题十三322 224章Spring MVC/324 14.1Spring框架简介325 14.1.1Spring框架的核心325 14.1.2Spring MVC简介325 14.2理解控制反转326 14.2.1添加Spring依赖326 14.2.2设计依赖注入需要的类327 14.2.3配置Spring依赖注入330 14.3Spring MVC起步331 14.3.1添加Sping MVC依赖331 14.3.2配置分发器DispatcherServlet332 14.3.3编写Spring MVC配置文件334 14.3.4编写Spring MVC控制器336 14.4接收多个请求参数338 14.4.1使用JavaBean接收338 14.4.2其他接收多个请求参数的方法340 14.5Spring MVC进阶344 14.5.1Model和ModelMap344 14.5.2映射下一级路径346 14.5.3控制器子包和多个控制器包347 14.5.4注入服务层组件348 14.5.5响应JSON格式的文本350 14.6Spring集成MyBatis352 14.6.1添加MyBatis相关的依赖352 14.6.2集成MyBatis的配置文件353 14.6.3MVC中使用MyBatis356 14.6.4AOP声明式事务管理365 14.7本章pom.xml文件366 本章小结370 习题十四371
你还可能感兴趣
我要评论
|