黑马程序员技术交流社区
标题:
java面试题,再来给大家复习一下!!
[打印本页]
作者:
lichmeng
时间:
2016-7-3 10:48
标题:
java面试题,再来给大家复习一下!!
1.Log4j有什么作用?
解析:Log4j目前使用最多的日志处理组件,程序员应该掌握Log4j
的使用。
参 考答案:Log4j是Apache的一个开源项目,使用Log4j可以便捷地控制( )目的地,包括控制台,文件,GUI组件以及NT事件记录器等。同时,Log4j可以控制( )日志信息的输出格式,也能够通过定义每一条日志信息的级别,更加细致控制日志的( )程。
2.Log4j主要由哪三部分组成?每部分的主要作用是什么?
解析:掌握Log4j的使用,可以从了解Log4j的主要组件入手。
参 考答案:Log4j包含三个主要组成部分,即Logger、Appender以及Layout。其中( )是日志记录器,是Log4j的核心组件;一个Logger可以指定多个Appender,Appender( )定日志信息的输出目的地,可以是文件、控制台或消息文件等;一个Appender又可以指定( )个Layout,Layout用来指定日志信息的格式,可以使HTML、简单文本等。
3.列举至少3种Log4j的输出目的地,并说明其含义。
解析:能够将诶之输出到不同目的地,是Log4j的一大特征。
参考答案
(1)org.apache. log4j.ConsoleAppender:将日志信息输出到控制台,如果Logger没有使( )addAppender显式添加Appender,默认使用ConsoleAppender。
(2)org.apache. log4j.FileAppender:将日志信息输出到一个文件。
(3)org.apache. log4j.DailyRollingFileAppender:将日志信息输出到
一个日志文件,并且( )据指定的模式,可以按照一定的日期将日志信息输出到一个新的日志文件。
4.使用properties文件配置Log4j属性,要求日志级别为debug,目的地为文件( )式为HTML。
解析:使用Log4j进行日志管理,往往都在属性文件中配置相关的属性,开发员必须( )Log4j属性的配置,才能够顺利的使用Log4j。
参考答案:
log4j.rootLogger=debug.appender1
log4j.appender.appender1=org.apache.log4j.FileAppender log4j.appender.appender1.Threshold=debug
log4j.appender.appender1.ImmediateFlush=true
log4j.appender.appender1.File=log.html
log4j.appender.appender1.Append=true
log4j.appender.appender1.layout=org.apache.log4j.HTMLLayout log4j.appender.appender1.layout.LocationInfo=true
log4j.appender.appender1.layout.Title=Log Message
5.在web应用中使用Log4j记录日志,往往有哪些方法加载属性文件? 解析 web应用中使用Log4j,首先需要考虑的的问题是如何加载属性文件:
参考答案 web应用中加载Log4j的属性文件往往有以下两种方式:
(1)定义一个Servlet,并使用load-on-startup在web.xml中配置这个servlet,使得应用
加载时就初始化这个Servlet,从而可以在这个Servlet的init方法中加载Log4j属性文件。只要加载了应用,就会初始化Servlet,就会调用init方法,从而就会加载属性文件。
(2)定义一个上下文事件监听器,在监听器的contextInitialized方法中加载Log4j属性文件。
这样能够保证只要加载了应用,就会触发上下文时间,从而调用监听器中的contextInitialized方法,加载Log4j属性文件。
6.简述JSP的运行过程
解析 很多初级开发员对JSP的理解比较肤浅,不熟悉JSP的运行过程,JSP出错时很难排错,开发员必须熟悉JSP的运行过程,这样才能编写出优良的JSP并能顺利调试。
参考答案
(1) 容器将JSP翻译成符合Servlet规范的类。
(2) 容器编译JSP生成的类。
(3) 容器初始化JSP实例;
(4) 将请求和相应对象传递给JSP实例的服务方法,提供服务。
8. 请求接口中的哪个方法可以返回请求参数的值?哪个方法可以把请求参数的多个值同时返回?
解析 Web应用中复杂重要的的功能往往通过表单提交实现,用户利用表单可以输入很多信息,这些信息被称为请求参数。在Web应用开发中,获得请求参数几乎是使用最多的功能,程序员应该熟练掌握获得请求参数有关的所有方法。
参考答案 请求接口中的getParameter 方法可以返回摸一个请求参数的值,getParaneterValues方法可以把摸个请求参数的多个值同时返回,封装到一个数组中,例如复框的多个值。
9.响应接口中的哪个方法可以设置内容类型?用简单代码演示。
解析 响应可以封装服务器端返回到客户端的数据。而这些数据的格式和编码都需要使用响应中的方法进行设置。如果设置错误,客户端浏览器将无法显示。
参考答案 响应中的setContentType方法可以设置内容类型,如下所示:
//设置响应的内容类型 Respose.setContentType(“text/html,charset=gb2312”);
上述代码中设置响应的内容类型是text或者html,编码格式是gb2312.
10 . 请说明Servlet的声明周期
解析 Servlet作为服务器端的组件,需要在容器中才能运行,容器管理Servlet的生命周期。对于web开发员来说,了解Servlet的声明周期才能更好地进行Servlet编程。
参考答案
阶段一:初始化
客户端第一次访问Servlet,或者容器加载应用时(配置load- on-startup),容器调用Servlet类的构造方法,实例化一个Servlet对象,该对象存在于服务器端内存中,容器将启动多线程并 发访问该对象。实例化结束后,将对Servlet实例进行初始化,先调用init(ServletConfig)方法,在调用init()方法
阶段二:提供服务
Servlet初始化成功后,容器调用Servlet接口中定义的
service(ServletRequest req,ServletResponse res)方法。Service将请求和响应对象转换成HttpServletRequest req,HttpServletResponse resp)方法。HttpServlet中的service方法,将请求根据请求方式转发给对应的doXXX方
法,如doGet、doPost
阶段三 销毁
Servlet提供服务结束,或者一段时间后,容器将销毁Servlet实例。销毁Servlet实例前,容器先调用Servlet接口中定义的destroy方法,允许完成一些自定义的操作。
作者:
lichmeng
时间:
2016-7-3 10:55
自己顶一个先!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2