《基于JAVA技术的Web应用开发》模拟试题(简答)1Unit1Web应用体系架构简介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/gifaccept:image/jpegAccept-Language指示客户端希望响应优先使用的语言。Accept-Language:en-usContent-Type指示发送到接受者的消息体的媒介类型。Content-type:text/htmlHost指示所请求的资源的主机名称和端口号。Host:172.23.77.94User-Agent包含发出请求消息的客户端的信息。User-Agent:Mozilla/4.04.以下HTTP响应状态码的含义是什么?200、400、401、404和500。答:响应状态码文本描述含义200OK请求成功《基于JAVA技术的Web应用开发》模拟试题(简答)2400不良请求由于语法错误而导致服务器无法理解请求信息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语言;在HTML代码中混合程序代码、由语言引擎执行程序代码;JSP被编译成Servlet并由Java虚拟机执行,这种编译操作仅在对JSP页面的第一次请求时发生;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则一般由负责整体《基于JAVA技术的Web应用开发》模拟试题(简答)3控制的程序员来完成。对于项目开发而言,三层的分离有利于在项目小组内按照小组成员各自的擅长进行分工,有利于三个部分并行开发、加快项目进度。另一方面,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项目可以很容《基于JAVA技术的Web应用开发》模拟试题(简答)4易的移植到WebLogic平台上。J2EE提供的组件模型很好的实现了MVC设计模式。从而实现了逻辑和显示的分离,以及代码重用。另外,J2EE机构提供了很强的可扩展性,可伸缩性,当应用程序规模较大,有较多的访问请求,这时候我们可以将应用程序部署在不止一台服务器上,而通过路由器等实现负载平衡,从而提供更好的访问性能。J2EE还提供了对现有的企业信息系统很好的兼容性,我们可以通过标准的协议集成已有的ERP等遗留系统。在安全方面,J2EE也集成了对遗留系统安全设置的支持。8.简述J2EE打包与部署的标准。答:J2EE规范描述四种类型的模块:Web模块、EJB模块、应用程序客户端模块和资源适配器模块。当部署到J2EE应用程序服务器时,通常会将所有这些模块都压缩到单个J2EE应用程序EAR文件中。EAR是EnterpriseApplicationArchive的缩写,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和缓存参数以及其他类似任务。《基于JAVA技术的Web应用开发》模拟试题(简答)5将文档返回给客户端可能以文本格式(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服务器包括以下几种:ApacheTomcatAllaireJRunNewAtlanta的ServletExecGefionSoftware的LiteWebServer(LWS)2.如何安装设置TomcatWeb服务器?答:下载并安装Java2SDK下载并安装Tomcat设置端口号设置环境变量JAVA_HOME、CLASSP