Java Web应用设计及实战(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-06 07:43:00

点击下载

作者:肖睿 喻晓路

出版社:人民邮电出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Java Web应用设计及实战

Java Web应用设计及实战试读:

前言

JSP是开发Java Web应用程序的基础技术,它秉承了Java的高安全性、易移植的特点。国内多家银行的网上银行均采用了JSP技术实现,即是对JSP安全性的肯定。在Windows操作系统上开发的JSP应用很容易移植到UNIX等其他操作系统上。通过在JSP中嵌入Java代码,JSP也可以处理业务逻辑,面向对象的编程思想和各种编程技巧也将在Java Web应用程序中有所体现。另外,JSP需要运行在应用服务器上,本书中要学习的Tomcat就是一种非常流行的应用服务器。而Ajax则是一种用于创建更好、更快、交互性更强的Web应用程序的技术,它使Web应用程序可以提供非常友好的用户体验。

在本书中,你将学习到以下几方面的内容。

第一部分(第1章~第3章):讲解JSP技术,包括动态网页开发基础、JSP页面组成、JSP内置对象、在JSP中使用JavaBean、JNDI和连接池、三层结构、实现分页和文件上传。通过本部分的学习将掌握JSP的主要内容,能够开发出满足企业需要的简单网站。

第二部分(第4章):讲解JSTL和EL表达式,以简化JSP页面的设计。

第三部分(第5章):通过Servlet、过滤器和监听器对Java Web应用中的功能实现进行改进和完善,并且还将拓展一些实用的功能。

第四部分(第6章~第8章):学习Ajax异步请求技术,优化Web应用的请求响应流程,提升应用的执行效率,改善用户体验。通过项目融会贯通所学知识,积累Web应用程序的项目开发经验。

第五部分(第9章~第10章):学习如何安装并管理Linux操作系统,以及在Linux操作系统中安装软件和部署Web应用。

实践是检验程序员的唯一标准。在项目开发的训练中,实践是最重要的。一定不要养成眼高手低的坏习惯,对于每一条命令、每一行代码一定要多加思考、亲自实践。

本书的案例是“新闻发布系统”,几乎贯穿每章内容,利用各章所学技能可以对该案例功能进行实现或优化。学完本书后,将同时完成一个完整的项目案例,在学习技能的同时获得项目开发经验,一举两得。

本书由课工场大数据开发教研团队组织编写,参与编写的还有喻晓路、朱微、张超、戴立坤、刘帅等院校老师。尽管编者在写作过程中力求准确、完善,但书中不妥或错误之处仍在所难免,殷切希望广大读者批评指正!编者2017年9月关于引用作品的版权声明

为了方便读者学习,促进知识传播,本书选用了一些知名网站的相关内容作为学习案例。为了尊重这些内容所有者的权利,特此声明,凡在书中涉及的版权、著作权、商标权等权益均属于原作品版权人、著作权人、商标权人。

为了维护原作品相关权益人的权益,现对本书选用的主要作品的出处给予说明(排名不分先后)。

以上列表中并未全部列出本书所选用的作品。在此,我们衷心感谢所有原作品的相关版权权益人及所属公司对职业教育的大力支持!第1章Java Web开发初体验技能目标

掌握Web项目的创建与部署

掌握JSP基本语法

掌握数据获取与中文显示

掌握JSP内置对象

会解决中文乱码问题

掌握转发与重定向本章任务

学习本章,需要完成以下4个工作任务。记录学习过程中遇到的问题,可以通过自己的努力或访问kgc.cn解决。

任务1:构建第一个Java Web项目

配置Web应用开发环境,并实现Web项目的部署与访问。

任务2:使用JSP生成Web页面

使用JSP实现新闻系统中新闻标题和内容的输出显示。

任务3:在JSP中获取用户注册信息

使用JSP获取用户注册提交的数据并显示。

任务4:在JSP中合理存储数据

使用JSP实现数据保存,并能够在多个JSP中实现数据共享。任务1 构建第一个Java Web项目

关键步骤如下。

安装Tomcat服务器。

配置Tomcat服务器。

在工具中创建Web项目。

部署Web项目。1.1.1 认识常见程序架构

进行项目开发时,首先要确立的是程序架构的类型。在明确程序架构的基础后才能开展后续开发工作,下面将介绍两种常用的程序架构。

1.C/S架构

在程序架构中,C/S架构是一种客户端/服务器的工作模式,由两个部分组成。“C”表示Client,即客户端;“S”表示Server,即服务器。C/S架构的程序最显著的特点就是,在使用前首先需要在用户本地安装客户端,然后调用服务器得到相应的服务,即由服务器来提供服务,由客户端来使用服务。

使用基于C/S架构开发的应用程序,在使用时都必须安装客户端,当应用程序有变化时需要重装或更新客户端,维护的成本很高,而B/S架构则解决了这个问题。

2.B/S架构

在B/S架构中,程序采用了浏览器/服务器的工作模式,又称为请求/响应模式。其中“B”表示Browser,即浏览器;而“S”则依然表示的是Server,即服务器。从这种工作模式不难看出,原来的客户端被浏览器所代替,用户无须在本地进行烦琐的客户端安装,只需要连通网络,打开浏览器窗口即可使用服务器端提供的各种服务。

使用B/S架构,在很大程度上降低了对用户本地设备环境的要求。同时,也极大地降低了程序维护的成本,非常方便。

B/S架构采用浏览器请求,服务器响应的工作模式。B/S架构的工作原理如图1.1所示。图1.1 B/S架构的工作原理

B/S架构的工作原理,总结起来包括以下4点。(1)客户端(通常是浏览器)接受用户的输入:一个用户在IE(一种常用浏览器)中输入用户名、密码。(2)客户端向应用服务器端发送请求:客户端把请求消息(包含用户名、密码等信息)发送到应用服务器端,等待服务器端的响应。(3)服务器端程序进行数据处理:应用服务器端通常使用服务器端技术,如JSP等,对请求进行数据处理。(4)发送响应:应用服务器端向客户端发送响应消息(从服务器端检索到的数据),并由用户的浏览器解释执行响应文件,呈现到用户界面。1.1.2 认识URL

URL(Uniform Resource Locator,统一资源定位符)是Internet上标准的资源地址。一个完整的URL由以下几部分组成,例如:

http://www.kgc.cn/news/201609/newslist.jsp?page=6

协议:http是传输数据时所使用的协议。

主机:www.kgc.cn可以定位到课工场的主机,如果知道主机的IP地址,这里也可以替换成具体的IP地址来进行定位。

资源的位置:news/201609是我们要访问的资源的位置或者资源的路径,而newslist.jsp则是我们要访问的资源的名称。

参数:page=6是我们访问某个资源时所携带的参数。

◆ 表示在该URL中含有参数需要进行传递。

◆ page=6表示参数名称为“page”,值为6。

◆ 如果需要传递多个参数,使用&符号进行连接,如page=6&size=10。1.1.3 了解Web服务器

1.Web服务器概述

Web服务器是可以向发出请求的浏览器提供文档的程序,它的主要功能就是提供网上信息浏览服务。

目前在Web应用中,有多种Web服务器可供选择,常用的服务器主要有:

IIS:IIS是源自Microsoft公司的一种信息服务器,服务对象是基于Windows系统平台开发的程序应用。

Tomcat:Tomcat是Apache基金会旗下的一款免费、开源的Web服务器软件。

2.Tomcat服务器

Tomcat是Apache基金会开发的一个小型的轻量级应用服务器,技术先进、性能稳定,而且免费,占用的系统资源小、运行速度快。

安装Tomcat的过程很简单,可以使用解压版,无须安装即可使用。提示

在安装Tomcat之前,确认在本地已经安装了JDK,以免造成Tomcat运行错误。

Tomcat安装好后,会产生一些目录,每个目录功能介绍如表1-1所示。表1-1 Tomcat目录结构

对于Tomcat的配置、启动和停止,操作很简单,这里不再做详细介绍。了解具体配置请扫描二维码。

Tomcat运行时最常见的错误是端口冲突和未配置环境变量,请大家注意。

配置Tomcat1.1.4 在MyEclipse中构建Java Web项目

1.在MyEclipse中配置Tomcat

在使用MyEclipse开发Web项目之前,还需要配置Tomcat服务器,配置的过程比较简单,直接在MyEclipse中找到Server服务器进行配置,设置为Tomcat相应安装目录即可。了解具体配置请扫描二维码。

集成Tomcat

2.Web项目的创建与部署

Web项目根据MyEclipse的工具提示进行创建即可。开发完毕后,必须要部署到服务器中才能被访问。了解具体配置请扫描二维码。部署Web项目的方式包括以下两种。

导出war包方式实现部署。

通过复制项目文件的方式实现部署。

创建部署Web应用任务2 使用JSP生成Web页面

关键步骤如下。

使用out对象输出显示数据。

使用表达式输出新闻内容。

使用转义字符输出特殊字符。1.2.1 什么是JSP

了解服务器、掌握其配置方法、能够部署Web项目,这些仅仅是进行Web项目开发必备的基础技能。要真正地开始进行Web项目的开发工作,还必须熟练掌握JSP技术,否则就谈不上具备Web项目开发的能力。下面就介绍JSP技术。

1.JSP概述

Java Server Page简称JSP,是一种运行在服务器端的Java页面,最初是由Sun公司倡导、许多公司共同参与,一同建立起来的一种动态网页技术标准。

JSP在开发时是采用HTML语言嵌套Java代码的方式实现的。

2.JSP工作原理

JSP运行在服务器端,当用户通过浏览器请求访问某个JSP资源时,Web服务器会使用JSP引擎对请求的JSP进行编译和执行,然后将生成的页面返回给客户端浏览器进行显示,整个工作原理如图1.2所示。

3.JSP执行过程

当JSP请求提交到服务器时,Web容器会通过如下三个阶段进行处理。

翻译阶段:当Web服务器接收到JSP请求时,首先会对JSP文件进行翻译,将编写好的JSP文件通过JSP引擎转换成可识别的Java文件(.java文件)。图1.2 JSP的工作原理

编译阶段:经过翻译后的JSP文件相当于我们编写好的Java源文件,此时仅有Java源文件是不够的,必须要将Java源文件编译成可执行的字节码文件(.class文件)。所以Web容器处理JSP请求的第二阶段就是进行编译。

执行阶段:Web容器接受了客户端的请求后,经过翻译和编译两个阶段,生成了可被执行的二进制字节码文件,此时就进入执行阶段。当执行结束后,会得到处理请求的结果,Web容器再把生成的结果页面返回到客户端显示。

Web容器处理JSP文件请求的三个阶段如图1.3所示。

一旦Web容器把JSP文件翻译和编译完,Web容器会将编译好的字节码文件保存在内存中,如果客户端再次访问相同的JSP文件,就可以重用这个编译好的字节码文件,没有必要再把同一个JSP进行翻译和编译了,这就大大提高了Web应用系统的性能。与之相反的情况是,如果对JSP进行了修改,Web容器就会及时发现改变,此时Web容器就会重新进行翻译和编译。所以,在第一次请求JSP时会比较慢,后续访问时速度就很快,当然如果JSP文件发生了变化,同样需要重新进行编译。

Web容器对同一个JSP文件的二次请求的处理过程如图1.4所示。图1.3 Web容器处理JSP请求的三个阶段图1.4 Web容器处理JSP文件的第二次请求1.2.2 JSP指令与注释

1.page指令

page指令通过设置内部的多个属性来定义JSP文件中的全局特性,需要强调的是每个JSP都有各自的page指令,如果没有对某些属性进行设置,JSP容器将使用默认的属性设置。page指令的语法如下。

<%@ page language="属性值" import="属性值" contentType="属性值"%>

language属性用于指定JSP使用的语言,JSP中默认是“Java”。

import属性用于引用脚本语言中使用到的类。

contentType属性用于指定页面生成内容的MIME类型,通常为text/html类型。其中,还可以使用charset指定字符编码方式。

page指令是JSP非常重要的指令之一,常见的page指令设置如下:

<%@ page language="java" contentType="text/html;charset=UTF-8" pageEncoding=" UTF-8"%>

2.JSP注释

在JSP中实现注释的方式有如下三种。

HTML注释:,使用这种方式注释的内容在浏览器通过查看源代码的方式可以看到。

JSP注释:<%--JSP注释--%>,使用这种方式注释的内容在浏览器通过查看源代码的方式不可见。

JSP脚本注释:<%//JSP单行注释%>、<%/*JSP多行注释*/%>,由于JSP脚本中的代码就是Java语言,因此在脚本中进行代码注释就等同于对Java代码进行注释。1.2.3 使用JSP构建页面内容

在学习了JSP中几个重要的语法知识后,下面将要学习如何在JSP中进行输出显示。

1.使用out对象输出显示

out对象是JSP提供的一个内置对象,它的作用就是向客户端输出数据。out对象最常用的方法如表1-2所示。表1-2 out对象的常用方法示例1

使用out对象输出新闻标题,并在JSP中应用三种注释方式。

关键代码:

……

<%--新闻标题 --%>

<%

/*新闻标题*/

out.println("谈北京精神");//标题1

out.print("再谈北京精神");

%>

……

运行效果如图1.5所示。图1.5 使用out对象输出显示

示例1的代码运行结果在页面中输出新闻标题,但是显示的内容并没有实现换行输出,在浏览器中查看页面的源代码,如图1.6所示。图1.6 查看源文件代码

可以发现在经过解析后的页面源代码中,两条输出语句是经过换行处理的,这是因为使用out对象输出的代码通过JSP脚本实现内容直接换行,而能够被HTML页面识别的换行是
标签,因此才会造成图1.8和图1.9所示的效果差异。

输出新闻内容的实现过程与输出新闻标题的实现过程非常类似,只是内容变化而已,这里就不再举例说明。

2.表达式与变量(1)表达式

使用out对象输出信息时需要在HTML标签中进行嵌套,页面会显得混乱。JSP还提供了另外一种输出显示的方式,就是借助表达式实现输出显示。表达式的语法如下:

<%=Java表达式 %>

Java表达式通常情况下会用一个Java变量来代替,也可以是带有返回值的方法。提示

使用表达式进行输出时,在表达式的结尾处不能添加分号来表示结束,否则JSP会提示错误。

在JSP中,表达式通常用于输出变量的值,可以用在任何地方。(2)变量

在之前的学习中,已经熟练掌握了如何在程序中使用变量,那么在JSP中该如何使用变量呢?

在JSP中,变量根据其作用范围可分为局部变量和全局变量。除了作用域不同,声明的方式也有所不同。变量声明的语法如下。

声明局部变量:

<% type name=value; %>

声明全局变量:

<%! type name=value; %>示例2

使用变量保存新闻内容,并使用表达式实现输出显示。

分析如下。

要实现这个功能,只需要将原来在页面中写好的新闻内容分别保存在不同的变量中,然后使用表达式一一输出显示即可。

关键代码:

<%

……

String title="谈北京精神";     //新闻标题

String author="Kgc";       //新闻发布者

String category="新闻信息";    //新闻分类

//新闻摘要

String summary="北京是一座拥有灿烂文明的古城, …";

//新闻内容

String content="

侯仁之先生在谈到北京的城市建设时曾经提到过3个里程碑:…

";%>

<%=title %>

发布者:<%=author %> 分类:<%=category%>

摘要:<%=summary%><%= content%>

本任务的运行效果如图1.7所示。图1.7 使用JSP输出显示

3.转义字符的输出

如果希望在页面中输出一些特殊的符号,如输出单引号或者双引号,必须要使用转义字符进行输出,否则输出显示将会出现异常。在JSP中使用转义字符输出的语法非常简单,使用“\”符号添加到需要输出的特殊字符前即可。

4.JSP的错误调试方法

JSP在运行过程中有时会因为不同的原因出现错误,而这些错误在JSP中都会有不同的错误代码与之对应。掌握这些常见错误代码及调试方法,对于开发Web项目是非常重要的。JSP常见的错误及调试方法如表1-3所示。表1-3 JSP常见错误及调试方法任务3 在JSP中获取用户注册信息

关键步骤如下。

正确使用表单提交数据。

使用request对象读取表单数据。

解决数据显示时的中文乱码问题。

使用转发或者重定向实现页面的跳转。1.3.1 HTML表单与request内置对象

1.表单回顾

在HTML中,表单用于填写数据,并通过提交实现数据的请求。在这里,我们再简单回顾一下表单的结构。提交表单时有两种常见方式,分别是POST方式和GET方式,这两种提交方式的区别如表1-4所示。表1-4 POST与GET的区别

2.request对象

在之前章节中介绍了使用out对象实现页面输出,同样request对象也是JSP的一个内置对象,所以在JSP中可以直接使用。在request对象中保存了用户的请求数据,通过调用相关方法就可以实现请求数据的读取。request对象获取表单数据的常用方法如表1-5所示。表1-5 request对象获取数据的常用方法示例3

获取用户在注册页面中输入的数据,并在JSP中显示。

实现步骤如下。(1)创建用户注册输入页面。(2)提交表单到JSP。(3)使用request对象获取表单数据。

关键代码如下。

注册页面关键代码:

用户注册

用户名

密码

do UserCreate.jsp关键代码:

<%

String username=request.getParameter("username"); //读取用户名

out.print("用户名:"+username+"
");

out.print("密码:"+request.getParameter("password")); //读取密码并输出

out.print("
");

String email=request.getParameter("email");

out.print("邮箱:"+email);

%>1.3.2 中文乱码问题

1.中文乱码产生的原因

使用request对象可以获取表单提交的数据,进而可以实现页面输出显示。但是当用户在表单中提交中文信息时,有时候会在页面中显示中文乱码,如图1.8和图1.9所示。图1.8 中文注册信息图1.9 中文乱码显示

中文乱码产生的最根本原因是JSP页面的默认编码格式不支持中文。JSP页面默认的编码方式为“ISO-8859-1”,这个编码方式不支持中文。在进行JSP开发时,支持中文的编码如表1-6所示。表1-6 支持中文的编码

2.中文乱码解决方案

在JSP中解决中文乱码问题时,依据请求的方式不同,解决的方式也有所不同。(1)POST方式提交时的解决方案

如果表单提交的方式是采用POST方式,那么通过设置请求和响应的编码方式就可以解决中文乱码的显示问题。

设置请求的编码方式如下。

request.setCharacterEncoding("UTF-8");

设置响应的编码方式如下。

response.setCharacterEncoding("UTF-8");

如果在JSP中已经对page指令中的contentType中的charset设置了编码方式为UTF-8的话,则该语句可省略。示例4

在获取用户注册数据时,设置编码方式解决中文乱码问题。

分析如下。

在JSP中使用request对象读取数据之前,先对页面请求和响应进行重新编码,然后再获取数据实现输出。

关键代码:

<%

//设置请求的编码方式

request.setCharacterEncoding("UTF-8");

//设置响应的编码方式

response.setCharacterEncoding("UTF-8");

String username=request.getParameter("username"); //读取用户名

out.print("用户名:"+username+"
");

out.print("密码:"+request.getParameter("password")); //读取密码并输出

out.print("
");

String email=request.getParameter("email");

out.print("邮箱:"+email);

%>

重新运行注册页面,再次提交时,填写的中文信息就可以正常显示了,效果如图1.10所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载