您好,欢迎访问三七文档
紫金学院J2EE复习汇总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服务器处理请求,并将响应消息传送给客户端,这样一个来回后,这个连接就关闭了。4.以下HTTP响应状态码的含义是什么?200、400、401、404和500。答:响应状态码文本描述含义200OK请求成功400不良请求由于语法错误而导致服务器无法理解请求信息401未授权请求要求身份验证和/或授权404未发现服务器未发现与请求URI匹配的内容500内部服务器错误服务器出错,无法处理请求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是EnterpriseApplicationArchive的缩写,EAR文件用来把一个或者多个J2EE组件封装到单个模块里面,以便一起部署并装入到服务器上。每个模块都有响应的部署描述符。部署描述符是一个XML格式的文件,它描述了响应模块部署时的配置信息。整个J2EE程序的EAR文件也有一个部署描述符:application.xml。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图像)等发送该文档。2.简述Servlet局限性。答:在Servlet中使用硬编码的HTML输出作为请求的响应具有一些严重缺陷。首先,也是最重要的缺点是,很难对HTML做出修改,因为每次修改都必须重新编译Servlet。其次,由于HTML是硬编码的,所以维护不同的语言很困难。判断用户的语言、所处的地区以及其他变化情况,然后再显示输出非常困难。最后一点,因为HTML嵌入在Servlet中,因此还存在职责问题。Web设计人员构建HTML页面;通常他们并不熟悉Java编程,更不要说熟练掌握面向对象设计和编程了。当在Servlet中混合使用HTML和Java代码时,就很难分清页面设计和编程的职责。3.JSP执行过程中和Servlet的关系是怎样的?答:JSP页面的处理过程是先将JSP页面编译预处理成JavaServlet后,再执行生成的Servlet并产生结果的。三.jsp文件经预处理后转换为.java文件。此后,Java编译器编译源代码,并生成可由Servlet容器执行的.class文件。5.JSP和Servlet都用在哪些场景?答:Servlet也可以返回HTML页面,用于显示,但在Servlet中手动书写HTML代码非常繁琐,所以,通常来讲,Servlet主要用于Web应用程序的流程控制,验证用户输入合法性以及调用其他业务逻辑对象来访问数据等,而JSP主要用于页面显示。5.简述HttpServletRequest对象和HttpServletResponse对象的作用:答:HttpServletRequest对象封装客户的请求信息,这些信息包括客户的环境信息和从客户端送到服务器端的数据。HttpServletRequest类包含了从请求对象中抽取信息的一系列方法。HttpServletResponse对象封装了动态产生的响应。例如,一个返回给客户端的HTML页面,这个HTML页面一般是由来自HttpServletResquest对象的数据构成的。除了HTML页面外,一个响应对象还可以是一个HTTP错误响应、指向另一个URL的重定向或者一个Servlet。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的元素的含义
本文标题:J2EE复习汇总
链接地址:https://www.777doc.com/doc-2878271 .html