Java常用面试题之JavaWeb篇(六)


51、说一说Servlet的生命周期?

	Servlet被服务器实例化后,容器运行其init方法,请求到达时运行其service方法,service方法自动运行与
	请求对应的doGet或者doPost方法,当服务器决定将实例销毁的时候调用其destroy方法

52、Servlet API中forward()与redirect()的区别?

	forward是服务器内部的控制权转移,服务器和浏览器之间只进行一次通讯,浏览器地址栏不发生变化;
	redirect是让浏览器去重定向,服务器和浏览器之间会再进行一次通讯,浏览器地址栏会发生变化

53、request.getAttribute()和 request.getParameter()有何区别?

	request.getAttribute()是获取程序员主动存放在request中的值,此时的request是作为web域对象来用的;
	request.getParameter()是获取http请求参数的值

54,jsp静态包含和动态包含的区别

	静态包含用include伪码实现,不会检查所含文件的变化,适用于包含静态页面<%@ include file=”
	included.htm” %>
	动态包含用jsp:include动作实现<jsp:include page=”included.jsp” flush=true/>它总是会检查所含
	文件中的变化,适合用于包含动态页面,并且可以带参数。

55MVC的各个部分都有那些技术来实现?如何实现?

	MVC是Model-View-Controller简写
	Model指数据模型,用来携带数据以及操作数据库,但在javaweb中已经弱化了Model
	View表示视图,用来把数据展示给用户,在javaweb中使用JSP作为View
	Controller表示控制器,控制业务逻辑,在javaweb中使用Servlet作为Controller

56,jsp有哪些内置对象?作用分别是什么?

	pageContext页面上下文对象,可以通过该对象获取其他内置对象
	request请求对象,包含所有客户端请求信息
	session session对象,与请求有关的会话
	application ServletContext对象,正在执行的内容
	response 响应对象,网页传回用户端的回应
	out 输出流对象,用来把响应输出到客户端
	config ServletConfig对象,Servlet的架构部件
	page JSP页面本身,即this
	exception 异常对象,针对错误网页,未捕捉的例外

57,Http中,get和post方法的区别

	get方式的请求把请求参数拼接在请求路径后面,在有些时候(如超链接上)特别方便,但这种方式所能携带的数
	据量有限,并且可以被直接看到,不太安全;
	post方式把请求参数放在请求体中,可以携带大量数据,并且安全性相对较高

58,什么是cookie?Session和cookie有什么区别?

	cookie是web服务器发送给浏览器的一块信息。浏览器会在本地文件中给每一个web服务器存储cookie。以后浏
	览器在给特定的web服务器发请求的时候,同时会发送所有为该服务器存储的cookie。
	session保存在服务器端,cookie保存在浏览器端;
	session可以保存比较大的数据,cookie保存的数据量有限;
	session是靠cookie实现的,在cookie保存一个jsessionid

59,jsp和servlet的区别、共同点、各自应用的范围?

	JSP本质就是Servlet(JSP会被编译成Servlet)MVC的开发模式中:Servlet负责处理业务逻辑,生成处理结果,JSP负责生成页面,把处理结果显示给用户

60,tomcat容器是如何创建servlet类实例?用到了什么原理?

	当容器启动时,会读取在webapps目录下所有的web应用中的web.xml文件,然后对xml文件进行解析,并读
	取servlet注册信息。然后,将每个应用中注册的servlet类都进行加载,并通过反射的方式实例化
	在servlet注册时加上1,如果为正数,则在一开始就实例化,如果不写或为负数,则第一次请求实例化

上一篇: Java常用面试题之Java基础篇(五)
下一篇: Java常用面试题之JavaWeb篇(七)

猜你喜欢

转载自blog.csdn.net/Mr_TXQ/article/details/109046260