admin 管理员组

文章数量: 887174


2024年1月17日发(作者:grafana相同的框架)

J2EE企业关注的技能1,请列举至少6种JAVA2EE技术,并简述其作用。(1)JDBC(JavaDatabaseConnectivity):用来访问数据库的API。(2)JavaServlet:是一种小型的Java程序,扩展了web服务器的功能。(3)JSP(JavaServerPages):JSP页面由HTM代码和嵌入其中的Java代码组成,用来实现动态视图。(4)JNDI(JavaNameandDirectoryInterface):JNDIAPI被用于访问名字和目录服务。(5)EJB(EnterpriseJavaBean):实现业务逻辑的组件,可以构成分布式系统。(6)RMI(RemoteMethodInvoke):调用远程对象方法。(7)JavaIDL/CORBA:将Java和CORBA集成在一起。(8)XML(ExtensibleMarkupLanguage):可以用它来定义其他标记2,在中配置Servlet时,主要配置哪些信息?解析:使用IDE开发Servlet时,配置信息可以通过可视化方式定义。然而对于web应用开发员来说,了解Servlet的配置非常必要,能够在必要的时候手动进行修改。参考答案:配置Servlet时,主要配置以及,如下所示:IndexServletervletIndexServlet/IndexServlet其中是Servlet源文件的名字,是自定义的名字,往往使用类名。是其中非常重要的信息,用来配置访问Servlet的逻辑路径。必须以/开头。ervletFristServlet/frist其中,是Servlet源文件的名字,是自定义的名字,往往使用类名。是非常重要的信息,用来配置访问Servlet的逻辑路径,必须以/开头。3,如果通过一个链接访问Servlet,默认调用Servlet中哪个方法进行服务?(Doget)解析度与不同的HTTP请求方法Servlet中都定于了对应的doXXXX方法接受请求。一超级链接的方式提交请求,默认的GET方式,所以将调用Servlet中的doGet方法。程序员应该熟悉每种用户请求对应的HTTP方式。

4,如果一个表单

没有显示指定method属性值,那么默认使用什么方法提交请求?解析表单提交时Web应用中常见的请求方式,一般情况下,建议使用POST方式提交请求,因为这种方式请求参数在请求体重传递,不会显示在URL中。但是,如果在HTML的标记中没有使用method属性指定提交方式,默认是GET方式。参考答案默认使用GET方式。5,请求接口中的哪个方法可以返回请求的参数值?哪个方法可以把请求参数的多个值同时返回?解析Web应用中复杂重要的的功能往往通过表单提交实现,用户利用表单可以输入很多信息,这些信息被称为请求参数。在Web应用开发中,获得请求参数几乎是使用最多的功能,程序员应该熟练掌握获得请求参数有关的所有方法。参考答案请求接口中的getParameter方法可以返回摸一个请求参数的值,getParaneterValues方法可以把摸个请求参数的多个值同时返回,封装到一个数组中,例如复框的多个值。6,响应接口中哪个方法可以设置内容类型?用简单的代码演示?(response.,,)解析响应可以封装服务器端返回到客户端的数据。而这些数据的格式和编码都需要使用响应中的方法进行设置。如果设置错误,客户端浏览器将无法显示。参考答案响应中的setContentType方法可以设置内容类型,如下所示://设置响应的内容类型tentType(“text/htmllcharset=gb2312”);上述代码中设置响应的内容类型是text或者html,编码格式是gb2312.7,简述JSP的运行过程?解析很多初级开发员对JSP的理解比较肤浅,不熟悉JSP的运行过程,JSP出错时很难排错,开发员必须熟悉JSP的运行过程,这样才能编写出优良的JSP并能顺利调试。参考答案(1)容器将JSP翻译成符合Servlet规范的类。(2)容器编译JSP生成的类。(3)容器初始化JSP实例;(4)将请求和相应对象传递给JSP实例的服务方法,提供服务。8,JSP中的<%%>和<%=%>有什么区别?(脚本元素,后者表达式)解析JSP从表面上看就是HTML代码中混合了Java代码,而为了区别Java代码和HTML代码,规范中定义了一些符号,即脚本元素。初级开发员应该从熟悉这些脚本元素开始,逐步熟悉JSP的开发。参考答案<%%>称为脚本片段,可以包含任何符合语法的Java代码,可以同时包含多行代码。而<%=%>称为表达式,=号后面是一个表达式,这个表达式的值将被输出到浏览器中,表达式后面不用使用分号结束,而且每个<%=%>只能包含一个表达式。9,JDBC编程中主要有哪几种语句对象?有什么区别?解析JDBC主要用来操作数据库,操作数据库本质上是通过执行SQL语句完成。所以,JDBC编程中,能够用来执行SQL语句的语句对象非常重要,每种语句对象都存在一些区别,开发员应该熟悉并掌握。

参考答案JDBC中主要有以下3种语句对象:(1)Statement:Statement是所有语句对象的父接口,定义了语句对象的规范。(2)PreparedStatement:预编译的语句对象,将待执行的语句进行了预编译,可以在执行时动态指定SQL语句中的参数。(3)CallableStatement:可以用来调用数据库的存储过程。10,简述使用JDBC操作数据库的主要步骤。解析不论使用什么数据库软件,JDBC操作数据库的步骤都基本相同。开发员一定需要注意的是,JDBC的连接对象、语句对象、结果集等都是高开销对象,使用完毕一定要在finally语句中进行关闭处理,否则将降低应用的性能。参考答案(1)加载驱动类;(2)获得连接对象;(3)获得语句对象;(4)执行SQL语句,如果是查询语句,需要处理结果集;(5)关闭结果集。语句对象。数据库连接对象。11,说明MVC架构模式的含义,并用图示表示WEB应用中MVC模式中每部分之间的关系(重点)解析对于web开发员来说,正确理解MVC模式非常关键。目前,大多数web应用都是基于MVC模式进行架构,也有很多MVC框架能够帮助开发员快速搭建MVC应用。值得注意的是,使用JSP,Servlet,JavaBean可以构建MVC模式的应用,但是MVC是一种架构思想,并不仅局限于JSP,Servlet,JavaBean这个范围内,可以使用很多其他技术实现。参考答案MVC本来应用于桌面程序中,M是指数据模型,V是指用户界面,C则是控制器,至今已被广泛使用。使用MVC的目的是将M和V实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。MVC模式是近些年被JavaEE平台广泛使用的设计模式。Web应用中的MVC模式与桌面程序中的MVC模式有所不同。由于web应用大多基于请求响应模式,因此往往做不到“一旦M改变,V应该同步更新”。MVC每部分之间的关系如下12,请说明Servlet的生命周期(初始化提供服务销毁)解析Servlet作为服务器端的组件,需要在容器中才能运行,容器管理Servlet的生命周期。对于web开发员来说,了解Servlet的声明周期才能更好地进行Servlet编程。参考答案阶段一:初始化

客户端第一次访问Servlet,或者容器加载应用时(配置),容器调用Servlet类的构造方法,实例化一个Servlet对象,该对象存在于服务器端内存中,容器将启动多线程并发访问该对象。实例化结束后,将对Servlet实例进行初始化,先调用init(ServletConfig)方法,在调用init()方法阶段二:提供服务Servlet初始化成功后,容器调用Servlet接口中定义的service(ServletRequestreq,ServletResponseres)方法。Service将请求和响应对象转换成HttpServletRequestreq,HttpServletResponseresp)方法。HttpServlet中的service方法,将请求根据请求方式转发给对应的doXXX方法,如doGet、doPost阶段三销毁Servlet提供服务结束,或者一段时间后,容器将销毁Servlet实例。销毁Servlet实例前,容器先调用Servlet接口中定义的destroy方法,允许完成一些自定义的操作。13,什么是Servlet的初始化参数?如何在程中或得?解析如果摸个Servlet需要一些参数,可以再中今夕配置,而不必要硬编码到源代码中,这样可以方便地进行修改。值得注意的事,Servlet的初始化参数只能在当前的Servlet中使用,其他Servlet中无法使用。参考答案Servlet的初始化参数指的是初始化Servlet实例时的参数,可以再中尽享配置,如下所示:TestServlettServletlevel2.1上述配置中,使用为TestServlet配置了一个名字为level的初始化参数,值为2.1.可以使用多个元素配置多个初始化参数。在TestServlet中,可以直接调用getInitParameter(“level”)方法返回该参数的值。14,请列出请求接口中至少3个获得请求头的方法(getheadgetintheadget..)解析当用户向服务器端请求时,HTTP请求头的信息也随之被发送到服务器。请求接口中定义了获得请求头的方法,实际应用中常常需要获得某些请求头的值,根据请求头的值判断客户端的情况进行编程。开饭元应该熟悉各种请求头的含义,以及获得请求头的方法。参考答案getHeader方法可以根据请求头名字获得请求头值;getIntHeader方法用来返回整型请求头的值;getDateHeader方法用来返回日期类型请求头的值。15,响应接口中AddHeader方法和Setheader方法有什么区别?

解析响应封装了服务器端发送给客户端的信息,响应接口中定义了操作响应头的方法,有些方法容易混淆,开发员应该辨别清楚。参考答案addHeader方法用来向响应中添加一个头,如果盖头的名字已经存在,name允许一个头包含多个值:setHeader方法向响应中添加一个头信息,如果头寸在,则覆盖已有的值。16,Servlet跳转到JSP常常使用两种方法(ed不会把任何信息带到客户端;会吧信息带到)一种称为响应重定义,一种称为请求转发。请用代码展示两种方法,并说明其区别。解析Servlet作为MVC中的控制器,主要的作用就是接受客户端请求,获得请求信息后调用业务逻辑,然后根据业务逻辑的处理结果跳转到不同的视图显示给用户。开发员必须掌握常用的两种跳转方法,即响应重定向和请求转发。实际工作中常用的是请求转发,很多MVC框架默认也是使用请求转发.参考答案响应重定向direct(“”);请求转发:uestDispantcher(“”).forward(request,respinse);响应重定向相当于让客户端向重定向的资源重新发送一个请求。当前请求中的信息无法传递到下一个资源。而请求转发显得刚玉吧当前的请求转发到下一个资源。当前请求中的信息将可以转递到下一个资源。17,请求接口中提供了处理属性的方法,请列举每个方法并说明其作用。解析控制器调用业务逻辑后,往往需要把一些处理的结果返回到视图上进行显示。这种时候,属性的概念就至关重要。请求属性是最常用的一种属性,实在请求范围内有效的属性。开发员一定要正确理解每种范围的属性并能够正确使用。参考答案请求接口中有三个和属性有关的方法,分别是:setAttribute(String,Object),可以将一个对象设置一个名字,存储到请求中:getAttribute(String),可以根据属性的名字返回属性值:removeAttribute(String),可以根据属性的名字删除属性。18,Cookel有什么作用?如何使用Servlet中的API返回请求听cookle?如何将cookel保存到客户端?解析cookie是保存在客户端的小文本,合理地使用cookie能够增强用户体验。然而,开发员使用cookie时,一定不要把涉及用户隐私的内容保存到cookie中,如银行账号的密码等。另外,cookie可以被用户人为禁止或删除,这也是使用cookie时需要考虑的问题。参考答案cookie用来将一些信息保存到客户端,已被用户下次访问同一应用时,能够自动将这些信息发送到服务器端。服务器端通过使用cookie编程,能够提高用户体验。请求接口中提供了getCookie方法返回所有的cookie,响应接口提供了addCookie方法能够将cookie对象返回到客户端。19,如何获得会话对象?请用简单代码展示解析web应用中,常常需要使用会话对象。会话是指客户端对服务器端一次连续的访问过程。开发人员应该熟悉会话相关的操作。

参考答案可以通过请求对象获得会话对象,如sion()。如果当前存在会话,直接返回使用:如果不存在,则创建一个新的会话返回。还有一个重载的getSession方法,具有一个boolean类型的参数,其中sion(true)和sion()完全相同,而sion(false)意思是如果存在会话对象就返回使用,如果不存在则返回null。20,有哪几种方法可以设置有效会话时间解析会话对象都被存储在容器中,如果很长时间不使用,就应该被销毁,以保证内存的有效使用。容器总是会为会话设置默认的有效时间,大多数是30分钟,也可以自己定义会话的有效时间。参考答案有两种方法可以设置会话的有效时间,一种是在中配置,如下所示:40使用这种方式设置的有效时间,是对当前应用中所有会话都有效,单位是分钟。还有一种方式是使用HttpSession中的setMaxInterval(int)方法,这个方法能够设定最大不活动时间,超过这个时间会话没有被访问,即被容器销毁。这个方法只能够控制调用该方法的会话对象,不会对所有会话对象生效。21,什么是URL重写?能解决什么问题?解析大多数容器实现会话,都是基于cookie机制实现的。然而,cookie可能被用户人为地设置失效,这种情况下,会话页将无效。为了能够在cookie失效时依然使会话有效,可以使用URL重写策略。如果使用某些MVC框架编程,如Struts,这些问题都已经在框架层面得到了解决。参考答案URL重写就是使用响应接口中的encodeURL(path)方法,把指定的path重新编码,将名字是JSESSIONID的cookie的值强制加到path对应的URL中,传递到服务器端,这样就能够保证即使cookie被阻止,服务器端永远能得到会话对象的ID值,使得会话有效。22,(setgetmovie)会话接口提供了处理接口会话属性的方法,请列举每个方法并说明其作用。解析如果某些对象需要在会话范围内有效,那么就可以考虑使用会话范围的属性。保存在会话范围内的属性,在当前会话中一直有效。然而,由于会话的生命中期较长,所以属性也将随着会话一直存在于内存中。只有当必须使用会话属性时再考虑使用,能用请求属性解决的场合就使用请求属性,开发员必须能够正确选择不同范围属性进行使用。参考答案会话接口中有三个和属性有关的方法,分别是:setAttribute(String,Object),可以将一个对象设置一个名字,存储在会话中;getAttritute(String),可以跟据属性的名字返回属性值;removeAttribute(String),可以根据属性的名字删除属性。23,什么是上下文对象?如何或得对象?(重)解析上下文是一个全局的概念,每个应用都有一个唯一的上下文对象。上下文接口中定义了一系列的方法,开发员应该熟悉这个接口的常用方法。

参考答案当容器启动时,会加载容器中的每一个应用,并且针对每一个应用创建一个对象,称为上下文对象。每个应用都只有一个唯一的上下文对象,ServletAPI中提供了ServletContext接口来表示上下文对象。要在Servlet中获得上下文对象非常简单,直接使用getServletContext()方法就可以返回当前的上下文对象,在JSP中可以直接使用application内置对象使用上下文。24,如何配置上下文参数?在程序中如何或得上下文参数?解析如果在应用中的很多地方,都需要使用某一个参数,那么就可以配置一个上下文参数。上下文参数与Servlet初始化参数不同的是,上下文参数能够在应用所有资源里使用,而Servlet初始化参数在当前Servlet中使用。参考答案在中可以使用配置上下文参数,如下所示:path/WEB-INF/props要获得上下文参数,可以使用ServletContext接口中的getInitParameter方法返回。25,上下文接口中提供了处理属性的方法,请列出并说明每个方法及其作用(getsetmovie属性)解析:除了请求属性、会话属性外,还可以使用上下文属性。如果某个对象在上下文范围内使用,就可以考虑使用上下文属性存储。上下文的生命周期很长,应用加载时初始化,直到应用重新加载才被销毁,所以只有必须使用上下文属性时方可使用,否则应该尽量使用请求属性。参考答案:上下文接口中有三个和属性有关的方法,分别是setAttribute(String,Object),可以将一个对象设置一个名字,存储到上下文范围中:getAttribute(String),可以根据属性的名字返回属性值:removeAttribute(String),可以根据属性的名字删除属性。26,说明请求属性(request)会话属性上下文属性(comtext)的区别?解析:属性在Web应用开发中占有举足轻重的地位,是用来在组件之间传递对象的主要方式。主要有三个对象可以储存属性,即请求、会话、上下文。由于请求生命周期最短,所以应该尽量使用请求属性,而只有在必须用会话属性或者必须用上下文属性时菜考虑使用这两种属性。参考答案:请求属性是请求范围内的属性,除了请求转发外,只在当前的请求中有效:会话属性是会话范围内的属性,只要会话没有失效,就一直随着当前的会话所在:上下文属性是上下文范围的属性,只要容器没有重新加载应用,就一直随着上下文对象存在。应该尽量使用请求属性实现功能,只有在必须用会话属性或者必须用上下文属性时才考虑使用这两种属性。27,请说明HttpSessionEvent什么场景下会被处罚,及如何处理?(当Session发生变化时)解析:事件处理在很多时候非常有效,开发人员应该熟悉Servlet中得常用时间类别,并熟悉每种事件触发的条件。参考答案:当上下文对象被初始化或者被销毁时,将触发

ServletContextEvent,要处理该事件,可以自定义事件处理类实现ServletContextListener接口;然后覆盖该接口中的方法,实现处理逻辑。28,如何在中配置监听器,使其生效?解析监听器必须在中配置才能生效。参考答案在中,可以使用配置监听器,如下所示:rListener29,简述监听器的开发配置步骤。解析每种监听器的开发和配置步骤都非常相似,开发员应该做到熟练掌握。参考答案(1)根据需求分析需要使用哪种监听器。(2)创建类实现监听器接口,并实现接口中必要的方法,实现监听功能。(3)在中使用配置监听器。30,过滤器有什么作用?解析过滤器是web应用中非常重要的概念,甚至在Strust2框架中也作为核心控制器使用。参考答案在web应用中,往往需要一些通用的处理和控制,如果把这些通用的处理编写在每一个需要的资源文件中,代码就很冗余,且不好管理。只要需要修改,就得修改所有文件中的相关代码,造成维护困难。过滤器就是用来执行这些通用处理的程序,往往可以用来实现图像转换、数据压缩、登录验证、权限控制等。31,Filter接口中定义了哪几种方法反别有什么作用?(3个)解析Filter接口是所有过滤器都必须实现的接口,了解这个接口中的方法对开发员胜任过滤器开发非常重要。参考答案Filter接口中有以下三个方法:(1)init(FilterConfigfilterConfig):该方法是对filter对象进行初始化的方法,仅在容器初始化filter对象结束后被调用一次。(2)doFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain):该方法是filter进行过滤操作的方法,是最重要的方法。过滤器实现类必须实现该方法。方法体中可以对request和response进行预处理。其中FilterChain可以将处理后的request和response对象传递到过滤链上的下一个资源。(3)destroy():该方法在容器销毁过滤器对象前被调用。32,简述过滤器的开发配置步骤(类,方法,中配置)解析:开发员应该熟练掌握过滤器的开发配置步骤。参考答案(1)创建类实现Filter接口。(2)实现Filter接口中的方法,重点实现doFilter方法对请求和响应进行过滤。(3)在中配置过滤器,使用配置过滤器的类和名字,使用配置过滤器需要过滤的资源路径。JSP部分:33,列举至少5个JSP内置对象,并说明其类型。

解析内置对象是JSP中非常重要的概念,是真正的ServletAPI中的对象,不过是容器翻译JSP时进行声明创建的,所以在JSP中不需要声明创建就可以直接使用。Web开发员起码需要能够熟练使用JSP中常用的内置对象。参考答案(1)request:HttpServletRequest(2)response:HttpServletResponse(3)session:HttpSession(4)application:ServletContext(5)pageCountext:pageCountext(6)out:JspWriter34,说明<%@include%>和的区别(导入页面,前者静态,后者动态)解析JSP中的指令和标准动作中都有一个名字为include的元素,都是包含的意思,二者具体含义却不同,分别是静态和动态包含,开发员应该熟悉二者区别,避免混淆。参考答案<%@include%>是指令,是静态包含,在翻译期将把被包含的资源翻译到包含资源中,源代码合二为一。而是动作,是动态包含,在运行期动态访问被包含的资源,将生成的响应合二为一进行显示。35,列举Page指令中至少3种常用属性,并说明其含义。解析page指令时JSP中最常用的指令之一,开发员应该熟悉page指令的常用属性参考答案(1)import:用来导入需要使用的类。(2)pageEncoding:指定JSP页面的编码。(3)errorPage:指定错误页面。36,的含义是什么?解析:请求转发是经常使用的跳转方式,在JSP中有更为简单的方式进行请求转发,就是使用标准动作forward。参考答案可以在JSP中实现请求转发,类似在Servlet中使用RequestDispatcher的forward方法进行请求转发37,说明JPA框架作用。解析:JSF框架已经是JavaEE规范的一部分,是非常有发展前景的框架,开发人员可以关注。参考答案:JSF是一种已组件为中心来开发JavaWeb应用的框架。JSF提供了一组用户界面组件,这些组件是可重用的,开发员可以利用这些组件方便地构建Web应用的用户界面;JSF框架支持开发自定义的用户界面组件,而且这些自定义用户界面组件同样可以重用。另外,使用JSF框架,可以方便地进行输入检验、国际化编程等。38,WebService的作用。39,设置一个基于MVC框架的五层javaEE体系结构的学生管理系统,实现学生信息的增,删,改,查,要求写出各层对象名称(不要求写出代码)。


本文标签: 请求 使用 方法 属性 对象