ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:239.09KB ,
资源ID:7743044      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7743044.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Java面试题集116135.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Java面试题集116135.docx

1、Java面试题集116135摘要:这一部分讲解基于Java的Web开发相关面试题,即便在Java走向没落的当下,基于Java的Web开发因为拥有非常成熟的解决方案,仍然被广泛应用。不管你的Web开发中是否使用框架,JSP和Servlet都是一个必备的基础,在面试的时候被问到的概率还是很高的。116、说出Servlet的生命周期,并说出Servlet和CGI的区别?答:Web容器加载Servlet并将其实例化后,Servlet生命周期开始,容器运行其init()方法进行Servlet的初始化;请求到达时调用Servlet的service方法,service方法会调用与请求对应的doGet或doP

2、ost等方法;当服务器关闭会项目被卸载时服务器会将Servlet实例销毁,此时会调用Servlet的destroy方法。Servlet与CGI的区别在于Servlet处于服务器进程中,它通过多线程方式运行其service方法,一个实例可以服务于多个请求,并且其实例一般不会销毁,而CGI 对每个请求都产生新的进程,服务完成后就销毁,所以效率上低于Servlet。【补充1】SUN公司在1996年发布Servlet技术就是为了和CGI进行竞争,Servlet是一个特殊的Java程序,一个基于Java的Web应用通常包含一个或多个Servlet类。 Servlet不能够自行创建并执行,它是在Servl

3、et容器中运行的,容器将用户的请求传递给Servlet程序,此外将Servlet的响应回传给用户。通常一个Servlet会关联一个或多个JSP页面。以前CGI经常因为性能开销上的问题被诟病,然而Fast CGI早就已经解决了CGI效率上的问题,所以面试的时候大可不必诟病CGI,腾讯的网站就使用了CGI技术,相信你也没感觉它哪里不好。【补充2】Servlet接口定义了5个方法,其中前三个方法与Servlet生命周期相关:1. void init(ServletConfig config) throws ServletException2. void service(ServletRequest

4、req, ServletResponse resp) throws ServletException, java.io.IOException3. void destory()4. java.lang.String getServletInfo()5. ServletConfig getServletConfig()117、转发(forward)和重定向(redirect)的区别?答:forward是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还

5、是原来的地址。redirect就是服务器端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,因此从浏览器的地址栏中可以看到跳转后的链接地址。前者更加高效,在前者可以满足需要时,尽量使用转发(通过RequestDispatcher对象的forward方法,RequestDispatcher对象可以通过ServletRequest对象的getRequestDispatcher方法获得),并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用重定向(通过HttpServletResponse对象调用其sendRedirect方法)。118、JSP有哪

6、些内置对象?作用分别是什么?答:JSP有9个内置对象:1. request:封装客户端的请求,其中包含来自GET或POST请求的参数;2. response:封装服务器对客户端的响应;3. pageContext:通过该对象可以获取其他对象;4. session:封装用户会话的对象;5. application:封装服务器运行环境的对象;6. out:输出服务器响应的输出流对象;7. config:Web应用的配置对象;8. page:JSP页面本身(相当于Java程序中的this);9. exception:封装页面抛出异常的对象。【补充】如果用Servlet来生成网页中的动态内容无疑是非常

7、繁琐的工作,另一方面,所有的文本和HTML标签都是硬编码,即使做出微小的修改,都需要进行重新编译。JSP解决了Servlet的这些问题,它是Servlet很好的补充,可以专门用作呈现给用户的视图(View),而Servlet作为控制器(Controller)专门负责处理用户请求并转发或重定向到某个页面。基于Java的Web开发很多都同时使用了Servlet和JSP。JSP页面其实是一个Servlet,能够运行Servlet的服务器(Servlet容器)通常也是JSP容器,可以提供JSP页面的运行环境,Tomcat就是一个Servlet/JSP容器。第一次请求一个JSP页面时,Servlet/J

8、SP容器首先将JSP页面转换成一个JSP页面的实现类,这是一个实现了JspPage接口或其子接口HttpJspPage的Java类。JspPage接口是Servlet的子接口,因此每个JSP页面都是一个Servlet。转换成功后,容器会编译Servlet类,之后容器加载和实例化Java字节码,并执行它通常对Servlet所做的生命周期操作。对同一个JSP页面的后续请求,容器会查看这个JSP页面是否被修改过,如果修改过就会重新转换并重新编译并执行。如果没有则执行内存中已经存在的Servlet实例。我们可以看一段JSP代码对应的Java程序就知道一切了,而且9个内置对象的神秘面纱也会被揭开。JSP

9、页面:htmlview plaincopy1. 2. 6. 7. 8. 9. 10. basehref=11. 首页12. 13. *font-family:Arial;14. 15. 16. 17. 18. Hello,World!19. 20. Currenttimeis:21. 22. 对应的Java代码:javaview plaincopy1. /*2. *GeneratedbytheJaspercomponentofApacheTomcat3. *Version:ApacheTomcat/7.0.524. *Generatedat:2014-10-1313:28:38UTC5. *N

10、ote:Thelastmodifiedtimeofthisfilewassetto6. *thelastmodifiedtimeofthesourcefileafter7. *generationtoassistwithmodificationtracking.8. */9. packageorg.apache.jsp;10. 11. importjavax.servlet.*;12. importjavax.servlet.http.*;13. importjavax.servlet.jsp.*;14. 15. publicfinalclassindex_jspextendsorg.apac

11、he.jasper.runtime.HttpJspBase16. implementsorg.apache.jasper.runtime.JspSourceDependent17. 18. privatestaticfinaljavax.servlet.jsp.JspFactory_jspxFactory=javax.servlet.jsp.JspFactory19. .getDefaultFactory();20. 21. privatestaticjava.util.Map_jspx_dependants;22. 23. privatejavax.el.ExpressionFactory_

12、el_expressionfactory;24. privateorg.apache.tomcat.InstanceManager_jsp_instancemanager;25. 26. publicjava.util.MapgetDependants()27. return_jspx_dependants;28. 29. 30. publicvoid_jspInit()31. _el_expressionfactory=_jspxFactory.getJspApplicationContext(32. getServletConfig().getServletContext().getExp

13、ressionFactory();33. _jsp_instancemanager=org.apache.jasper.runtime.InstanceManagerFactory34. .getInstanceManager(getServletConfig();35. 36. 37. publicvoid_jspDestroy()38. 39. 40. publicvoid_jspService(41. finaljavax.servlet.http.HttpServletRequestrequest,42. finaljavax.servlet.http.HttpServletRespo

14、nseresponse)43. throwsjava.io.IOException,javax.servlet.ServletException44. /9个内置对象就是在这里定义的45. finaljavax.servlet.jsp.PageContextpageContext;46. javax.servlet.http.HttpSessionsession=null;47. finaljavax.servlet.ServletContextapplication;48. finaljavax.servlet.ServletConfigconfig;49. javax.servlet.js

15、p.JspWriterout=null;50. finaljava.lang.Objectpage=this;51. javax.servlet.jsp.JspWriter_jspx_out=null;52. javax.servlet.jsp.PageContext_jspx_page_context=null;53. 54. try55. response.setContentType(text/html;charset=UTF-8);56. pageContext=_jspxFactory.getPageContext(this,request,response,57. null,tru

16、e,8192,true);58. _jspx_page_context=pageContext;59. application=pageContext.getServletContext();60. config=pageContext.getServletConfig();61. session=pageContext.getSession();62. out=pageContext.getOut();63. _jspx_out=out;64. 65. out.write(r);66. out.write(n);67. 68. Stringpath=request.getContextPat

17、h();69. StringbasePath=request.getScheme()+:/70. +request.getServerName()+:+request.getServerPort()71. +path+/;72. /以下代码通过输出流将HTML标签输出到浏览器中73. out.write(rn);74. out.write(rn);75. out.write(rn);76. out.write(rn);77. out.write(rn);78. out.write(rn);81. out.write(首页rn);82. out.write(rn);83. out.write(t

18、*font-family:Arial;rn);84. out.write(rn);85. out.write(rn);86. out.write(rn);87. out.write(rn);88. out.write(Hello,World!rn);89. out.write(rn);90. out.write(Currenttimeis:);91. out.print(newjava.util.Date().toString();92. out.write(rn);93. out.write(rn);94. out.write(rn);95. catch(java.lang.Throwabl

19、et)96. if(!(tinstanceofjavax.servlet.jsp.SkipPageException)97. out=_jspx_out;98. if(out!=null&out.getBufferSize()!=0)99. try100. out.clearBuffer();101. catch(java.io.IOExceptione)102. 103. if(_jspx_page_context!=null)104. _jspx_page_context.handlePageException(t);105. else106. thrownewServletExcepti

20、on(t);107. 108. finally109. _jspxFactory.releasePageContext(_jspx_page_context);110. 111. 112. 119、get和post请求的区别?答:get请求用来从服务器上获得资源,而post是用来向服务器提交数据;get将表单中数据按照name=value的形式,添加到action 所指向的URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;post是将表单中的数据放在HTML头部(header),传递到action所指向URL;get传输的数据要受到URL长度限制(1024字节);而post可

21、以传输大量的数据,上传文件只能使用post方式;使用get时参数会显示在地址栏上,如果这些数据不是敏感数据,那么可以使用get;对于敏感数据还是应用使用post;get使用MIME类型application/x-www-form-urlencoded的URL 编码(URL encoding,也叫百分号编码)文本的格式传递参数,保证被传送的参数由遵循规范的文本组成,例如一个空格的编码是%20。120、常用的Web容器答:Unix和Linux平台下使用最广泛的免费HTTP服务器是Apache服务器,而Windows平台的服务器通常使用IIS作为Web服务器。选择Web服务器应考虑的因素有:性能、安

22、全性、日志和统计、虚拟主机、代理服务器、缓冲服务和集成应用程序等。下面是对常用服务器的简介: IIS:Microsoft的Web服务器产品为Internet Information Services。IIS 是允许在公共Intranet或Internet上发布信息的Web服务器。IIS是目前最流行的Web服务器产品之一,很多著名的网站都是建立在IIS的平台上。IIS提供了一个图形界面的管理工具,称为Internet服务管理器,可用于监视配置和控制Internet服务。IIS是一种Web服务组件,其中包括Web服务器、FTP服务器、NNTP服务器和SMTP服务器,分别用于网页浏览、文件传输、新闻

23、服务和邮件发送等方面,它使得在网络(包括互联网和局域网)上发布信息成了一件很容易的事。它提供ISAPI(Intranet Server API)作为扩展Web服务器功能的编程接口;同时,它还提供一个Internet数据库连接器,可以实现对数据库的查询和更新。 Kangle:KangleWeb服务器是一款跨平台、功能强大、安全稳定、易操作的高性能Web服务器和反向代理服务器软件。此外,Kangle也是一款专为做虚拟主机研发的Web服务器。实现虚拟主机独立进程、独立身份运行。用户之间安全隔离,一个用户出问题不影响其他用户。支持PHP、ASP、ASP.NET、Java、Ruby等多种动态开发语言。

24、WebSphere:WebSphere Application Server是功能完善、开放的Web应用程序服务器,是IBM电子商务计划的核心部分,它是基于Java的应用环境,用于建立、部署和管理Internet和Intranet Web应用程序,适应各种Web应用程序服务器的需要,范围从简单到高级直到企业级。 WebLogic:BEA WebLogic Server是一种多功能、基于标准的Web应用服务器,为企业构建自己的应用提供了坚实的基础。各种应用开发、部署所有关键性的任务,无论是集成各种系统和数据库,还是提交服务、跨Internet协作,Weblogic都提供了相应的支持。由于它具有全面的功能、对开放标准的遵从性、多层架构、支持基于组件的开发,基于Internet的企业都选择它来开发、部署最佳的应用。BEA WebLogic Server在使应用服务器成为企业应用架构的基础方面一直处于领先地位,为构建集成化的企业级应用提供了稳固的基础,它们以 Internet的容量和速度,在连网的企业之

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

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