java面试题之javaweb篇2
1,AJAX有哪些优点和缺点?
优点:
实现了异步交互,提高了用户体验
无需重新加载整个网页,只需要与服务器进行少量的数据交换,就能够实现对网页中的某一部分进行更新
AJAX是在客户端运行的,它承载了一部分本来由服务器承担的工作,减少了大用户量下的服务器负载
缺点:
AJAX高度依赖Javascript,而不同的浏览器对Javascript支持性不同,从而导致那些不支持Javascript或者不支持Javascript某些选项的浏览器将不能够正常使用ajax
由于ajax在客户端运行,会引起安全隐患
同步:在页面发送一个请求给服务器以后,要等到服务器给出响应,才会执行下一个步骤。
异步:在页面发送一个请求给服务器以后,不会特地去等待服务器的响应,而是先做其它的事,等到服务器响应后再继续做。
2,Ajax的实现流程是怎样的?
(1) 创建XMLHttpRequest对象,也就是创建一个异步调用对象.
(2) 创建一个新的HTTP请求,并指定该HTTP请求的方法、URL及验证信息.
(3)设置响应HTTP请求状态变化的函数.
(4)发送HTTP请求.
(5)获取异步调用返回的数据.
(6)使用JavaScript和DOM实现局部刷新.
3,JSP动作标签有哪些?作用分别是什么?
JSP:include (当页面被请求的时候引入一个文件)
JSP:forward (将请求转到另一个页面)
JSP:useBean (获得JavaBean的一个实例)
JSP:setProperty (设置JavaBean的属性)
JSP:getProperty (获得JavaBean的属性)
JSP:plugin (根据浏览器类型为Java插件生成object或者embed两种标记)
4,JSP的四个作用域分别是什么?
pageContext【PageContext】
作用域:仅限于当前的页面
request【HttpServletRequest】
作用域:仅限于一次请求,只要服务器对该请求做出了响应,这个域中的值就没有了
session【HttpSession】
作用域:仅限于一次会话(多次响应与请求)
application【HttpContext】
作用域:整个工程都可以访问,服务器关闭后就不能访问了
5,JSP乱码如何解决?
JSP页面乱码:<%@page contentType="text/html;charset=utf-8" %>
表单提交时出现乱码:request.setCharacterEncoding("utf-8");
数据库出现乱码:jdbc:mysql://localhost:3306:/user?useSSL=false&useUnicode=true&characterEncoding=utf-8;
6,什么是事务?事务的常用方法?
事务(Transaction):指的是一组操作,里面包含很多单一的逻辑,只要有一个逻辑没有执行成功,那么就算失败,所有数据都回到最初的状态(回滚),常见的事务:银行转账
常用方法:
conn.setAutoCommit(false):关闭自动提交
conn.commit():提交事务
conn.rollback():回滚事务,即回到数据操作之前的状态
7,事务的特性有哪些?
原子性:事务中包含的逻辑不可分割
一致性:事务执行前后数据的完整性
隔离性:事务在执行期间不受其它事务的影响
持久性:事务执行成功,那么数据应该持久保存在磁盘上
8,事务的安全隐患有哪些?
读:
脏读:一个事务读到了另一个事务未提交的数据
不可重复读:一个事务读到了另一个事务已提交的数据,造成前后查询结果不一致
幻读:一个事务读到了另一个事务insert的数据,造成前后查询结果不一致
写:
丢失更新
9,事务的隔离级别有哪些?
读未提交
引发问题:脏读
读已提交
解决:脏读,引发:不可重复读
可重复读
解决:脏读、不可重复读,未解决:幻读
可串行化
解决:脏读、不可重复读、幻读