《基于JAVA技术的Web应用开发》试题(简答) 下载本文

内容发布更新时间 : 2024/6/3 19:47:15星期一 下面是文章的全部内容请认真阅读。

Unit 1 Web使用体系架构简介

1. 简述Web使用模型的B/S结构。

答:Web使用是基于B/S结构的,也就是浏览器/服务器结构。

最早的使用程序,无论表示层逻辑、业务逻辑和数据库都集中在一台计算机上,各部分之间是紧密耦合的。随着技术的发展,出现C/S结构,即客户端/服务器结构。在这种结构中,有了专门的数据库服务器,但客户端还要运行客户端使用程序,这时是胖客户端。在B/S结构中,客户端在浏览器中只负责表示层逻辑的实现,业务逻辑和数据库都在服务器端运行。也就是说,使用程序部署在服务器端,客户端通过浏览器访问使用程序。通常,客户端发送HTTP请求消息传给服务器,服务器将请求传递给Web使用程序,Web使用程序处理请求,并把响应的HTML页面传给客户端。 2. 描述HTTP请求响应模型。

答:HTTP协议基于请求/响应模型。存在两种HTTP消息:请求消息和响应消息。

一个完整的HTTP会话过程包括:首先,客户端和Web服务器建立连接,通常通过默认的80端口。建立连接后,客户端向Web服务器发送HTTP请求消息,Web服务器处理请求,并将响应消息传送给客户端,这样一个来回后,这个连接就关闭了。 2. 以下HTTP消息的题头域的含义是什么?

Accept、Accept-Language、Content-Type、Host和User-Agent。 答: 名称 Accept 目的 举例 指示响应可以接受的媒体类型。如果没有Accept题accept :image/gif 头域,则服务器可以安全的假设客户端接受所有的媒accept:image/jpeg 介类型。 Accept-Language:en-us Content-type:text/html Host:172.23.77.94 User-Agent:Mozilla/4.0 Accept-Language 指示客户端希望响应优先使用的语言。 Content-Type Host User-Agent 指示发送到接受者的消息体的媒介类型。 指示所请求的资源的主机名称和端口号。 包含发出请求消息的客户端的信息。 4. 以下HTTP响应状态码的含义是什么? 200、400、401、404和500。 答: 响应状态码 200 400 401 文本描述 OK 不良请求 未授权 含义 请求成功 由于语法错误而导致服务器无法理解请求信息 请求要求身份验证和/或授权 404 500 未发现 内部服务器错误 服务器未发现和请求URI匹配的内容 服务器出错,无法处理请求 5. 简述两大Web服务器端技术ASP.NET和JSP的特性。

答:ASP.NET是建立在微软.NET平台上的网络技术。它的特性有以下几点:

? 页面表现和代码的分离——ASP.NET将页面表现和程序代码分离,在ASPX页面中

只有负责页面显示的HTML标记、Web控件标记等。而随后绑定的aspx.cs或aspx.vb页面包含了页面的程序代码。

? 能够使用多种语言——页面表现和代码的分离使得程序员可以在代码页面使用多种

语言,如VB.NET、C#等。

? 编译执行——ASP.NET程序是编译执行的。

JSP 是使用Java语言的Web服务器端技术。它也提供了在 HTML 代码中混合程序代码、由语言引擎执行程序代码的能力。它的特性包括:

? 使用 Java 语言;

? 在 HTML 代码中混合程序代码、由语言引擎执行程序代码; ? JSP被编译成 Servlet 并由 Java 虚拟机执行,这种编译操作仅在对 JSP 页面的第一

次请求时发生;

Unit 2 J2EE简介

1. MVC设计模式包含哪些组件,其作用各是什么?

答:MVC设计模式是软件设计中的典型结构之一。MVC是Model/View/Control的缩写。在这种设计结构下,使用程序分为三个组成部分:Model模型、View视图和Controller控制器,每个部分负责不同的功能。

Model提供使用业务逻辑,是指对业务数据、业务信息的处理模块,包括对业务数据的存取、加工、综合等;

View是指用户界面,也就是用户和使用程序交互的接口。用户可以通过view输入信息,另一方面使用程序通过view将数据结果以某种形式显示给用户。

Controller则负责View和Model之间的流程控制。 2. MVC模式的优势有哪些?

答:MVC模式使使用程序的结构更加清晰,通过将代码按照层次划分为业务逻辑/数据层、用户界面和使用流程控制这三个层次,能够增强代码的稳定性。

对于Model、View、Controller这三部分功能来讲,View的实现一般是由界面设计人员和界面程序员来完成,Model则是由业务逻辑程序员来完成,Controller则一般由负责整体控制的程序员来完成。对于项目开发而言,三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。

另一方面, Controller部分的代码比较稳定,一般会实现一个通用的架构;而Model则跟随商务流程的变化而变化;View的更改则是随着用户需求的更改而更改。这种模块功能的划分有利于在代码修改过程中进行模块的隔离,而不需要把具有不同功能的代码混杂在一起造成混乱。

3. J2EE架构分为几层?各层的组件包括哪些? 答:J2EE架构分为三层:客户层、中间层及企业信息系统层(Enterprise Information System )。其中中间层又分为Web层和业务层。

Applets和Application Client是客户层中包含的组件,Web组件放置在Web层,还有Enterprise JavaBean放置在业务层。

4. J2EE容器包括哪些?容器的作用是什么? 答:J2EE容器包括四个: Applet容器和Application Client容器,这些是客户端容器;Web 组件容器 和EJB容器,这些是服务器端容器; 通常,容器提供了运行于其中的组件的控制环境。容器提供了其中的组件可以使用的通用服务,这样组件开发人员无须自己编写这些服务。 5. 简述J2EE组件和MVC架构的对应。

答:J2EE在Web容器中的Servlet提供了业务流程控制,实现了MVC中的Controller。 Bean实现了业务逻辑,也就是Model。三而J2EE在客户层中的Applet 以及Web层中的JSP实现了面向浏览器的数据表现,Application Client实现了面向桌面使用的数据表现。这是MVC架构中的View部分。

6. J2EE的标准服务和API有哪些? 答:J2EE的标准服务和API包括:

? HTTP: 超文本传输协议

? RMI-IIOP:允许 J2EE使用中的组件通过IIOP协议调用外部 CORBA 对象 ? Java IDL: Java接口定义语言 ? JDBC: Java数据库连接 ? JNDI: Java 命名和目录接口 ? JMS: Java消息服务

? Java Mail:在使用程序中加入邮件和通讯支持的支持。 并使用JAF来处理Email中

数据。

? JTA:提供了J2EE中处理事务的标准接口。 ? JCA:用于连接各种企业信息系统 ? JAAS:实现认证授权的访问

? JAXP:提供统一访问XML文档的接口 7. J2EE的优势体现在哪? 答:

? 首先,J2EE是一系列标准,它提供了标准的服务、组件、客户端和工具,这使使用

程序开发和移植非常方便,比如,我们在WebShpere平台开发的J2EE项目可以很容易的移植到WebLogic平台上。

? J2EE提供的组件模型很好的实现了MVC设计模式。从而实现了逻辑和显示的分离,

以及代码重用。

? 另外,J2EE机构提供了很强的可扩展性,可伸缩性,当使用程序规模较大,有较多

的访问请求,这时候我们可以将使用程序部署在不止一台服务器上,而通过路由器等实现负载平衡,从而提供更好的访问性能。

? J2EE还提供了对现有的企业信息系统很好的兼容性,我们可以通过标准的协议集成

已有的ERP等遗留系统。

? 在安全方面,J2EE也集成了对遗留系统安全设置的支持。 8. 简述J2EE打包和部署的标准。

答:J2EE 规范描述四种类型的模块:Web 模块、EJB 模块、使用程序客户端模块和资源适配器模块 。当部署到 J2EE 使用程序服务器时,通常会将所有这些模块都压缩到单个 J2EE 使用程序 EAR 文件中。 EAR是Enterprise Application Archive的缩写,EAR文件用来把一个或者多个J2EE组件封装到单个模块里面,以便一起部署并装入到服务器上。每个