《基于JAVA技术的Web应用开发》试题简答文档格式.docx

上传人:b****6 文档编号:19692095 上传时间:2023-01-08 格式:DOCX 页数:26 大小:369.55KB
下载 相关 举报
《基于JAVA技术的Web应用开发》试题简答文档格式.docx_第1页
第1页 / 共26页
《基于JAVA技术的Web应用开发》试题简答文档格式.docx_第2页
第2页 / 共26页
《基于JAVA技术的Web应用开发》试题简答文档格式.docx_第3页
第3页 / 共26页
《基于JAVA技术的Web应用开发》试题简答文档格式.docx_第4页
第4页 / 共26页
《基于JAVA技术的Web应用开发》试题简答文档格式.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

《基于JAVA技术的Web应用开发》试题简答文档格式.docx

《《基于JAVA技术的Web应用开发》试题简答文档格式.docx》由会员分享,可在线阅读,更多相关《《基于JAVA技术的Web应用开发》试题简答文档格式.docx(26页珍藏版)》请在冰豆网上搜索。

《基于JAVA技术的Web应用开发》试题简答文档格式.docx

Host

指示所请求的资源的主机名称和端口号。

Host:

172.23.77.94

User-Agent

包含发出请求消息的客户端的信息。

User-Agent:

Mozilla/4.0

4.以下HTTP响应状态码的含义是什么?

200、400、401、404和500。

响应状态码

文本描述

含义

200

OK

请求成功

400

不良请求

由于语法错误而导致服务器无法理解请求信息

401

未授权

请求要求身份验证和/或授权

404

未发现

服务器未发现与请求URI匹配的内容

500

内部服务器错误

服务器出错,无法处理请求

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语言;

 

在 

代码中混合程序代码、由语言引擎执行程序代码;

JSP被编译成 

Servlet 

并由 

Java 

虚拟机执行,这种编译操作仅在对 

页面的第一次请求时发生;

Unit2J2EE简介

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架构分为三层:

客户层、中间层及企业信息系统层(EnterpriseInformationSystem)。

其中中间层又分为Web层和业务层。

Applets和ApplicationClient是客户层中包含的组件,Web组件放置在Web层,还有EnterpriseJavaBean放置在业务层。

4.J2EE容器包括哪些?

容器的作用是什么?

J2EE容器包括四个:

Applet容器和ApplicationClient容器,这些是客户端容器;

Web组件容器和EJB容器,这些是服务器端容器;

通常,容器提供了运行于其中的组件的控制环境。

容器提供了其中的组件可以使用的通用服务,这样组件开发人员无须自己编写这些服务。

5.简述J2EE组件和MVC架构的对应。

J2EE在Web容器中的Servlet提供了业务流程控制,实现了MVC中的Controller。

Bean实现了业务逻辑,也就是Model。

三而J2EE在客户层中的Applet以及Web层中的JSP实现了面向浏览器的数据表现,ApplicationClient实现了面向桌面应用的数据表现。

这是MVC架构中的View部分。

6.J2EE的标准服务和API有哪些?

J2EE的标准服务和API包括:

HTTP:

超文本传输协议

RMI-IIOP:

允许J2EE应用中的组件通过IIOP协议调用外部CORBA对象

JavaIDL:

Java接口定义语言

JDBC:

Java数据库连接

JNDI:

Java命名和目录接口

JMS:

Java消息服务

JavaMail:

在应用程序中加入邮件和通讯支持的支持。

并使用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组件封装到单个模块里面,以便一起部署并装入到服务器上。

每个模块都有响应的部署描述符。

部署描述符是一个XML格式的文件,它描述了响应模块部署时的配置信息。

整个J2EE程序的EAR文件也有一个部署描述符:

application.xml。

Unit3基于Servlet和JSP的Web应用

1.什么是JavaServlet?

Servlet是一个标准的服务器端的Java应用程序,可以生成动态的Web页面。

它被装载到Web服务器或应用服务器的Java虚拟机内运行。

一个客户端程序,可以是一个Web浏览器,或者是非其他的可以连接上Internet的程序,它会访问Web服务器并发出请求。

这个请求被运行在Web服务器上的Servlet引擎处理,并传递给响应的Servlet。

Servlet通过HTTP将这个响应转发到客户端。

2.简述Servlet的任务。

Servlet能够做到:

读取客户端发送的所有数据

这些数据通常是在Web页面的表单中输入的,但也可能来自Javaapplet或HTTP客户端程序。

读取浏览器发送的HTTP请求数据

这些信息包括有关浏览器功能、Cookie、发出请求的客户端的主机名等详细信息。

生成结果

此过程可能需要与数据库通信、调用RMI或CORBA,调用遗留系统或直接计算得出响应。

在文档内设置结果的格式

在多数情况下,这种情况是将信息嵌入到HTML页面中。

设置合适的HTTP响应参数

这意味着告诉浏览器返回的文档类型(例如HTML)、设置Cookie和缓存参数以及其他类似任务。

将文档返回给客户端

可能以文本格式(HTML)、二进制格式(GIF图像)等发送该文档。

3.简述Servlet局限性。

在Servlet中使用硬编码的HTML输出作为请求的响应具有一些严重缺陷。

首先,也是最重要的缺点是,很难对HTML做出修改,因为每次修改都必须重新编译Servlet。

其次,由于HTML是硬编码的,所以维护不同的语言很困难。

判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。

最后一点,因为HTML嵌入在Servlet中,因此还存在职责问题。

Web设计人员构建HTML页面;

通常他们并不熟悉Java编程,更不要说熟练掌握面向对象设计和编程了。

当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。

4.JSP执行过程中和Servlet的关系是怎样的?

JSP页面的处理过程是先将JSP页面编译预处理成JavaServlet后,再执行生成的Servlet并产生结果的。

三.jsp文件经预处理后转换为.java文件。

此后,Java编译器编译源代码,并生成可由Servlet容器执行的.class文件。

5.JSP和Servlet都用在哪些场景?

Servlet也可以返回HTML页面,用于显示,但在Servlet中手动书写HTML代码非常繁琐,所以,通常来讲,Servlet主要用于Web应用程序的流程控制,验证用户输入合法性以及调用其他业务逻辑对象来访问数据等,而JSP主要用于页面显示。

Unit4运行环境设置

1.常用的Web服务器包括哪些?

目前常用的一些免费Web服务器包括以下几种:

ApacheTomcat

AllaireJRun

NewAtlanta的ServletExec

GefionSoftware的LiteWebServer(LWS)

2.如何安装设置TomcatWeb服务器?

下载并安装Java2SDK

下载并安装Tomcat

设置端口号

设置环境变量JAVA_HOME、CLASSPATH和PATH。

测试Tomcat

Unit5简单Web应用的开发样例

1.编写一个简单的HTML页面,并部署在Tomcat服务器上。

略。

2.编写一个简单的JSP页面,并部署在Tomcat服务器上。

3.编写一个简单的JavaServlet,并部署在Tomcat服务器上。

Unit6Servlet简介

1.Servlet相比于CGI的优点有哪些?

Servlet和传统的CGI程序相比有以下优点:

在可移植性和与平台无关性方面:

Servlet能够跨平台和不同的Web服务器交互。

几乎所有的主流服务器都直接或通过插件支持Servlet。

从持久性和性能上讲,传统的CGI对于每个HTTP请求都要启动一个新进程。

而Servlet只要被Web服务器装载一次,就能被每一个客户请求调用。

因此Servlet比CGI性能更高。

最后,Servlet是用java编写的,它继承了Java语言的所有优点。

所以,在未来的技术发展过程中,Servlet有可能彻底取代CGI。

2.简述Servlet的处理流程。

Servlet的处理流程:

客户端发送一个请求至服务器端;

服务器将请求信息发给Servlet;

Servlet引擎,也就是Web容器会调用Servlet的service方法;

Servlet构建一个响应,并将其传给服务器。

这个响应是动态构建的,相应的内容通常取决于客户端的请求,这个过程中也可以使用外部资源。

服务器将响应返回给客户端。

3.参照下图,简述客户端与Servlet的交互:

首先,Web容器装载Servlet1。

初识化Servlet的实例变量,并且在Servlet生命周期内保持激活状态,也就是持久状态。

两个客户浏览器请求了Servlet1的服务。

Web容器为每个请求生成一个新的线程。

每一个线程都能访问最初装载的实例变量,每一个线程处理它自己的请求,并把响应返回给请求客户。

4.创建一个生成简单HTML代码的Servlet。

代码如下:

packagemyServlet;

importjava.io.*;

importjavax.servlet.*;

importjavax.servlet.http.*;

publicclassMyHTMLServletextendsHttpServlet{

protectedvoiddoGet(HttpServletRequestrequest,

HttpServletResponseresponse)

throwsServletException,IOException{

response.setContentType(“text/html”);

PrintWriterout=response.getWriter();

out.println(“<

HTML>

<

TITLE>

Myservlet<

/TITLE>

BODY>

”);

H2>

Thisismysimpleservlet.<

/H2>

HR>

/BODY>

/HTML>

}

}

5.简述HttpServletRequest对象和HttpServletResponse对象的作用:

HttpServletRequest对象封装客户的请求信息,这些信息包括客户的环境信息和从客户端送到服务器端的数据。

HttpServletRequest类包含了从请求对象中抽取信息的一系列方法。

HttpServletResponse对象封装了动态产生的响应。

例如,一个返回给客户端的HTML页面,这个HTML页面一般是由来自HttpServletResquest对象的数据构成的。

除了HTML页面外,一个响应对象还可以是一个HTTP错误响应、指向另一个URL的重定向或者一个Servlet。

Unit7Servlet的生命周期

1.简述Servlet生命周期。

每一个Servlet都有一个生命周期,它定义了一个Servlet如何被加载和被初始化,它怎样接收请求、响应请求、怎样提供服务。

Servlet的生命周期从它被装入到Web应用服务器的内存开始,在终止或重新装入Servlet时结束。

Servlet生命周期由接口javax.servlet.Servlet定义。

所有的JavaServlet都必须直接或间接地实现这个接口。

javax.servlet.Servlet接口定义了一些方法,如init()方法,service()方法,destroy()方法等。

在Servlet的生命同期中,这些方法会在特定时间按照一定的顺序被调用。

2.根据下面这张图,简述Servlet生命周期顺序。

首先创建Servlet,当请求Servlet的服务时,Web应用服务器动态的装载和实例化Servlet。

服务器会创建Servlet的一个实例,并调用Servlet的init()方法初始化。

一旦初始化了Servlet,Servlet就能随时等候处理请求。

这时Servlet处于“可用服务”的状态。

每当有一个客户请求Servlet,WebContainer都会为这个请求创建一个新的Servlet线程。

对于每一个请求,通常调用service方法。

service方法会根据所接收到的HTTP请求的类型调用doGet、doPost或别的doXxx方法。

当web服务器卸载Servlet时,调用destroy方法。

Servlet会释放它使用的任何资源。

3.什么情况下初始化Servlet?

初始化方法在下列情况下发生:

第一种情况:

如果已经配置了自动装入选项,那么在启动服务器时自动装入Servlet,并初始化。

第二种情况是,没有配置自动装入选项,那么在服务器启动后,当客户端首次向Servlet发出请求时,初始化Servlet。

另外,重新装入Servlet时也会初始化Servlet。

4.简述下列web.xml文件中关于Servlet的元素的含义。

web-app>

<

display-name>

WelcometoTomcat<

/display-name>

description>

WelcometoTomcat

/description>

servlet>

servlet-name>

FirstSimpleServlet<

/servlet-name>

servlet-class>

/servlet-class>

init-param>

param-name>

parameter1<

/param-name>

param-value>

Thevalueoftheparameter1<

/param-value>

/init-param>

/servlet>

/web-app>

此XML文件web-app元素中的Servlet元素包含三个子元素,分别是servlet-name、servlet-class和init-param。

servlet-name元素是你想要用来访问该Servlet的名称,servlet-class元素给出此servlet的class类名,init-param给出初始化参数的名称和值。

5.SingleThreadModel接口的作用是什么?

一般来说,在多个并发线程正在执行的时候,如果有一个新的请求到来,Servlet容器将构造Servlet的一个实例,为每个用户请求建立一个新进程,这意味着,多个线程可能同时访问一些共享数据。

如果要阻止这种多线程的访问,可以使Servlet实现SingleThreadModel接口。

Unit8表单处理

1.解释下列请求头方法的功能:

getCookies()、getHeaderNames()、getMethod()和getProtocol()。

getCookies方法会返回Cookie头的内容,解析后会存放在Cookie对象的数组中;

getHeaderNames方法返回当前请求的所有头的名称的Enumeration。

getMethod方法返回请求方法,通常是GET或者POST;

getProtocol返回HTTP版本号;

2.解释下列Servlet常用的请求头的含义:

Accept、Accept-Language、Content-Length、Host和User-Agent。

Accept头指出浏览器能够处理的MIME模型。

Accept-Language头指出客户端倾向的语言。

如en。

Content-Length头以字节为单位给出POST数据的长度。

Host表明了主机和端口。

User-Agent头表明了发出请求的浏览器的信息。

3.简述下列设置常见HTTP头的方法的功能:

setContentType、setContentLength和addCookie。

setContentType方法用来设置响应头的Content-Type。

setContentLength方法用来设置响应头的Content-Length。

addCookie方法用来将cookie插入Set-Cookie头。

4.HTTP1.1中定义的状态码的主要含义是什么?

HTTP1.1中定义的状态码有以下几种:

100~199:

这一类代码是提示性的,表示初始的请求已经接受,客户应当继续发送请求的其余部分。

200~299:

表示响应成功。

比如200 

OK表示一切正常,对GET和POST请求的应答文档会跟在后面。

300~399:

表示重定向。

400~499:

表示客户端错误。

比如:

404 

NotFound 

表示无法找到指定位置的资源。

500~599:

表示服务器端错误。

Unit9Servlet相关的接口和类

1.简述JavaServletAPI。

JavaServletAPI是一组Java类,它定义了Web客户端和WebServlet之间的标准接口。

客户的请求发给Web应用服务器,Web应用服务器通过这组API接口调用Servlet为这个请求服务。

这组API有两个包组成:

javax.servlet和javax.servlet.http。

Javax.servlet包中所包含的是编写Servlet所需的最基本的类和接口。

这些类是独立于协议的。

Javax.servlet.http包扩展了上述基础包的功能,对http协议提供了特别的支持。

2.ServletConfig接口的用法?

ServletConfig接口用于存取Servlet实例的初始化参数,这些参数以名称/数值对的形式存在ServletConfig中

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1