2020年由于疫情原因导致大部分人面临就业问题,所以今天总结了几个javaweb常用面试题及答案,希望大家在面试的时候,有一个好的回答,同时能给面试官留下好印象。
1、jsp有哪些内置对象?作用分别是什么?
request 用户端请求,此请求会包含来自GET/POST请求的参数;response 网页传回用户端的回应;pageContext网页的属性是在这里管理;session与请求有关的会话期;application servlet正在执行的内容;out用来传送回应的输出;config servlet的构架部件;page JSP网页本身;exception针对错误网页,未捕捉的例外。
2、Servlet的生命周期
servlet有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。这个生存期由javax.servlet.servlet接口中的init、service、destroy方法表达。web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet的初始化。通过调用service()方法实现,根据请求的不同调用不同的do**()方法。结束服务,web容器调用servlet的destroy()方法
3、什么情况下调用doGet()和doPost()?
默认情况是调用doGet()方法,JSP页面中的Form表单的method属性设置为post的时候,调用的为doPost()方法;为get的时候,调用deGet()方法。
4、JSP中动态include和静态include的区别?
静态include语法:<%@ include file="文件名" %>,相当于复制,编辑时将对应的文件包含进来,当内容变化时,不会再一次对其编译,不易维护。动态include语法:,能够自动检查被包含文件,当客户端对JSP文件进行请求时,会重新将对应的文件包含进来,进行实时的更新。
5、JSP的四种范围?
page是代表一个页面相关的对象和属性。一个页面由一个编译好的java servlet类(可以带有include指令,但不可以带有include动作)表示。这既包括servlet又包括编译成servlet的jsp页面。request是代表与web客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个web组件(由于forware指令和include动作的关系)。session是代表与用于某个web客户机的一个用户体验相关的对象和属性。一个web回话也可以经常跨域多个客户机请求。application是代表与整个web应用程序相关的对象和属性。这实质上是跨域整个web应用程序,包括多个页面、请求和回话的一个全局作用域。
6、cookie和session的作用、区别、应用范围。
cookie数据保存在客户端,session数据保存在服务端。cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,相当重要的数据,应该使用session保存到服务端。session会在一定时间内保持在服务器上,但是会占用内存资源,当访问的用户过多,会加重服务器的负载,考虑到减轻服务器的压力,可以将不重要的数据放在cookie中持久的保存。单个cookie保存的数据不能超过4k,很多浏览器都限制站点最多保存20个cookie。
7、过滤器和拦截器的区别
拦截器是基于java的反射机制的,而过滤器是基于函数回调;过滤器依赖于servlet容器,而拦截器不依赖于servlet容器;拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用;拦截器可以访问action上下文、值栈里的对象,而过滤器不能;在action的生命周期中,拦截器可以多次被调用,而过滤器只在容器初始化时调用一次
8、在JSP页面中如何删除一个cookie?
<%
Cookie cookie=new Cookie("cookie名","cookie值");
cookie.setMaxAge(0);
cookie.setPath("/");
response.addCookie(cookie);
%>
9、Hibernate工作原理及为什么要用?
工作原理:读取并解析配置文件;读取并解析映射信息,创建SessionFactory;打开Sesssion;创建事务Transation;持久化操作;提交事务;关闭Session;关闭SesstionFactory
为什么要用:对JDBC访问数据库的代码做了封装,大大简化了数据访问层繁琐的重复性代码。Hibernate是一个基于JDBC的主流持久化框架,是一个优秀的ORM实现。他很大程度的简化DAO层的编码工作。hibernate使用Java反射机制,而不是字节码增强程序来实现透明性。hibernate的性能非常好,因为它是个轻量级框架。映射的灵活性很出色。它支持各种关系数据库,从一对一到多对多的各种复杂关系。
以上就是今天为大家总结的javaweb常见面试题,在此预祝即将面试或者已经在面试的java程序员,一举成功,找到一份好工作!
蛙课资讯07-11 17:20
蛙课资讯09-04 15:27
蛙课资讯06-12 17:09
蛙课资讯06-17 17:37
蛙课资讯06-12 17:07