党的二十大报告指出,世界百年未有之大变局正在加速演进,新一轮科技革命和产业变革也在深入发展。在这个时代背景下,实现高水平科技自立自强,进入创新型国家前列成为我国发展的总体目标之一。目标的实现依靠的是各领域科技人才这个第一资源,因此对优秀人才的培养工作至关重要。在信息技术领域,云计算、大数据等网络服务技术是当前信息技术领域发展的热点,互联互通的信息化技术应用已经覆盖社会生活各个领域。各类网站、管理信息系统、大数据应用甚至是移动终端应用在开发时大量使用Web服务向终端用户提供应用接入方式。具体到Web服务开发领域,Java Web相关技术具有性能优越、框架丰富、技术成熟度高等优点,在市场上被广泛应用。因此,许多高校的计算机相关专业以及市场培训机构都开设了Java Web应用开发的相关课程,此类课程偏向于实际应用,可定位为技能实践类课程。高校非常重视学生实践应用能力的培养,对内容新颖、特色鲜明、配备优质微视频资源的实践类教材市场需求量比较大,但此类教材品种数量有限。为此,作者结合自身丰富的教学经验和项目实战经验精心编制了这本实践类的Java Web技术教程,力求为信息技术领域的人才培养做出绵薄贡献。 天津理工大学中环信息学院每年都会招收专升本学生,根据专升本招生工作的信息化建设需求,编写本书的教师团队选用Java Web技术自主设计开发了一个招生考试报名系统,并进行了多次迭代优化升级。在此基础上,作者结合多年的教学经验对这个实际的项目资源进行提炼,将其转换为适于实践教学的项目,并完成了本书的编著,以期能够满足实践教学之需。 本书在第1版的基础上,参照优化升级后的学院招生考试报名系统,重新编写了项目源码,调整了部分系统功能,增加了对数据库通用操作的封装以及DAO层组件设计,优化了前端页面视图代码,设计了请求参数的服务端校验框架,应用了Servlet 3.0中的新技术规范。此外,为进一步简化业务逻辑以及控制代码,设计了一些工具类,分别用于封装请求和响应相关方法、日期时间处理转换方法、密码加密方法、二维码生成方法、 Excel文件数据读取并导入数据库方法等。本书在内容组织时不再简单地以用户角色功能模块为单元,而是以实际业务流程推进为主线来组织,章节的衔接更加合理自然;在关键技术要点的应用讲解时,凸显出软件代码的迭代过程,循序渐进地将代码初始版本编写、封装优化、技术迭代等具体演进过程呈现给读者。对初学者而言,在演进模式下学习实践关键技术,更加符合学习认知实践规律。尽管本书中的实训项目规模不大,但足以覆盖Java Web项目开发的基本知识点和关键技术,可为读者日后学习应用更高层次的开发框架奠定坚实基础。 本书各章节的内容组织如下:第1章首先对Web应用技术的基础知识、Web前端的三大核心技术(HTML、CSS、JavaScript)进行了简要的梳理总结,接着针对开发工具的选择与安装、Web服务器配置、Web项目创建与部署等环节讲解了Java Web项目开发及运行环境的搭建过程,最后在实际的开发环境中结合案例分别对JSP、EL表达式、JSTL标签库、Servlet、过滤器、监听器等Java Web开发的核心技术进行了逐一讲解,帮助读者理解并掌握技术原理;第2章对招考报名系统的开发背景、业务流程和功能需求进行了总体介绍;第3章介绍了项目数据库的详细设计并使用MySQL数据库完成了项目数据库的具体实现;第4章从管理信息系统的本质—数据管理的角度出发,对数据的存储、流转、转换过程进行分析,实现了Java实体类的设计封装,接着讲解了使用Java语言对 MySQL数据库进行操作的基本流程,并对一些通用的数据操作进行了封装设计,为系统业务功能模块的开发提供底层的数据操作支撑;第5章封装实现了DAO层组件,进一步屏蔽了具体数据存取技术的实现细节;第6章结合MVC分层设计思想,分层对项目资源进行统一组织和规划,然后对系统功能页面视图的总体布局以及局部要素进行了详细设计;第 7章完成了系统在初始时需要具备的一些基础功能;从第 8章起,按照报考系统的实际业务需求分阶段推进,依次完成了招考信息管理、用户注册与登录、在线报名、现场确认与报名表打印、报名信息综合查询、准考证号码编排与考场分配、在线打印准考证、考试入场签到、成绩与录取信息导入及查询等业务功能的设计与实现。 本书的项目案例中覆盖了数据库操作封装、EL表达式与JSTL标签应用、密码加密、权限控制、验证码生成、表单的前端校验、请求参数的获取方法封装、请求参数的服务端校验框架、表单输入值的驻留、文件上传、在线打印、Excel表数据操作、数据库备份与恢复等在项目开发时常用的技术要点,读者可以在设计开发Java Web项目时参考借鉴。此外,本书配套提供了1200分钟的项目教学视频,完整地呈现了项目设计与开发的全部过程,为读者提供更详实生动的学习资源。 本书由周建锋任主编,贺树猛、孙道贺、张蕊任副主编,周建锋负责统稿。其中第 1章由贺树猛编写,第2~4章由张蕊编写,第5~12章由周建锋编写,第13、14章由孙道贺编写。另外,周建锋负责项目代码的设计编写以及项目教学视频的录制。 最后,感谢读者选择使用本书。由于编者水平有限,书中难免有疏漏之处,敬请广大读者提出意见和建议,编者将不胜感激。 编者 2024年4月 云计算、大数据等网络服务是当前计算机行业发展热点,这些应用大多基于网站作为其应用接入方式。Java技术因其优越性能,在网络服务方面占有一席之地,在计算机培训市场已经形成了基于Java的一系列培训课程。目前有关Java Web应用的书籍较多,有的是技术参考书,有的是以技术知识点讲解为主的教材。这些书籍中设计的示例编码规模相对较小,系统设计与实际应用也存在一定差距,学生学会了知识点,却体会不到如何用软件工程的方法去设计软件,不能满足应用技术型人才培养的需要。 天津理工大学中环信息学院2012年获批招收专升本学生,结合专升本招生工作的需要,自主开发了一个在线网络报名系统。系统采用Tomcat服务器,MySQL数据库,运用HTML、JavaScript、JSP、Servlet、过滤器、监听器等编程语言和技术,遵循MVC框架模式要求,构建了一个基于B/S模式的在线专升本招生报名管理信息系统。在此系统基础上,组织人员按照软件工程的思想,对该系统的需求分析、站点资源组织规划、设计与实现等进行了梳理,编写了本书,以期满足应用技术型计算机人才的培养需要。 本书侧重实践教学,结合实际项目,按照网站开发过程,系统、全面地介绍如何应用Java Web的基本技术开发Web应用。本书编写突出以下特点。 突出“软件工程”的思想,展示一个典型的基于B/S的管理信息系统的设计实现过程,尽管软件规模不大,但足以让读者真实体会学习管理信息系统类软件的设计实现过程。 贯穿“项目驱动”的思想,紧紧围绕系统实现时所使用的技术进行组织安排编写本书,密切结合 MyEclipse软件,讲解具体技术工程化实现办法。理论部分以够用为度,部分未使用到的技术已经略去。 本书第 1章侧重系统中所用技术的讲解,包括 HTML、CSS、JSP基本内置对象、 EL表达式、JSTL、Servlet和过滤器等。每个知识点都有典型的示例演示,其中,Servlet、过滤器、JSTL等是结合系统使用方式,使用MyEclipse软件独立设计的小型示例,使读者可以清楚数据的传递流程。第2章介绍系统需求,第3章是项目数据库设计,第4章是站点资源组织与用户界面设计,体现了系统的MVC模式设计,后续人员的分工合作是基于此展开的。从第5章开始介绍系统的设计实现过程,侧重代码的实现、数据流程讲解。第5章介绍过滤器在系统中的使用,第6章是用户模块的设计实现,第7章是招考信息管理模块的实现,第8章介绍监听器的作用,第9章是在线报名与打印模块设计,第10章是报考信息管理与现场确认模块的实现,第 11章是考号与考场分配功能模块的实现,第12章是成绩管理模块的实现,第13章是数据库备份与恢复。 本书可以作为高等院校和职业院校学生学习Java Web应用程序开发课程的教材,也可以作为Java Web应用开发人员的参考用书。 本书由孙道贺、周建锋、张蕊、尉寅玮编著,孙道贺任主编并负责统稿,周建锋任副主编,其中第1章、第6章由孙道贺编写,第2章、第4章、第5章、第8章由周建锋编写,第3章、第7章由张蕊编写,第9~13章由尉寅玮编写。另外,杨帆参与了系统的设计和测试工作,协助完成本书资料收集与整理工作。 感谢读者选择使用本书。由于编者水平有限,时间仓促,书中难免有疏漏和不当之处,敬请广大读者提出意见和建议,编者将不胜感激。 编者 2016年9月