javaweb

Java Web

1. JDBC 

1.1 说下原生 JDBC 操作数据库流程?

第一步:Class.forName()加载数据库连接驱动;

第二步:DriverManager.getConnection()获取数据连接对象; 第三步:根据 SQL 获取 sql 会话对象,有 2 种方式

Statement.PreparedStatement ;

第四步:执行 SQL 处理结果集,执行 SQL 前如果有参数值就设置参数值setXXX();

第五步:关闭结果集.关闭会话.关闭连接。

1.2 说说事务的概念,在 JDBC 编程中处理事务的步骤。

  1. 事务是作为单个逻辑工作单元执行的一系列操作。
  2. 一个逻辑工作单元必须有四个属性,称为原子性.一致性.隔离性和持久性(ACID) 属性,只有这样才能成为一个事务处理步骤:
    1. conn.setAutoComit(false);设置提交方式为手工提交
    2. conn.commit()提交事务
      1. 出现异常,回滚 conn.rollback();

1.3 JDBC 的脏读是什么?哪种数据库隔离级别能防止脏读?

当我们使用事务时,有可能会出现这样的情况,有一行数据刚更新,与此同时另一个查询读到了这个刚更新的值。这样就导致了脏读,因为更新的数据还没有进行持久化,更新这行数据的业务可能会进行回滚,这样这个数据就是无效的。 TRANSACTIONREADCOMMITTED TRANSACTIONREPEATABLEREAD TRANSACTION_SERIALIZABLE 隔离级别可以防止脏读 

2. 网路通讯部分

2.1 TCP  UDP 区别?

UDP:

a.是面向无连接, 将数据及源的封装成数据包中,不需要建立连接b.每个数据报的大小在限制 64k 内

c.因无连接,是不可靠协议d.不需要建立连接,速度快

TCP:

  1. 建立连接,形成传输数据的通道.
  2. 在连接中进行大数据量传输,以字节流方式c.通过三次握手完成连接,是可靠协议

d 必须建立连接效率会稍低.聊天.网络视频会议就是 UDP

2.2 说一下什么是 Http 协议?

客户端和 服务器端之间数据传输的格式规范,格式简称为“超文本传输协议”。 是一个基于请求与响应模式的.无状态的.应用层的协议,基于 TCP 的连接方式

2.3 get  post 请求区别?

区别 1:

get 重点在从服务器上获取资源,post 重点在向服务器发送数据;

区别 2:

get 传输数据是通过 URL 请求,以 field(字段)= value 的形式, 置于 URL 后,并用"?"连接,多个请求数据间用"&"连接,如http://127.0.0.1/Test/login.action?name=admin&password=admin,这个过程用户是可见的;

post 传输数据通过 Http 的 post 机制,将字段与对应值封存在请求实体中发送给服务器,这个过程对用户是不可见的;

区别 3:

Get 传输的数据量小,因为受 URL 长度限制,但效率较高; Post 可以传输大量数据,所以上传文件时只能用 Post 方式;

区别 4:

Get 是不安全的,因为 URL 是可见的,可能会泄露私密信息,如密码等; Post  get 安全性较高;

区别 5:

get 方式只能支持 ASCII 字符,向服务器传的中文字符可能会乱码。post 支持标准字符集,可以正确传递中文字符。

2.4 http 中重定向和请求转发的区别?

本质区别:转发是服务器行为,重定向是客户端行为。

重定向特点:两次请求,浏览器地址发生变化,可以访问自己 web 之外的资源,传输的数据会丢失。

请求转发特点:一次强求,浏览器地址不变,访问的是自己本身的 web 源,传输的数据不会丢失。

3. Cookie  Session

Cookie 是 web 服务器发送给浏览器的一块信息,浏览器会在本地一个文件中给每个 web 服务器存储 cookie。以后浏览器再给特定的 web 服务器发送请求时,同时会发送所有为该服务器存储的 cookie。

Session 是存储在 web 服务器端的一块信息。session 对象存储特定用户会话所需的属性及配置信息。当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

Cookie 和 session 的不同点:

  1. 无论客户端做怎样的设置,session 都能够正常工作。当客户端禁用cookie 时将无法使用 cookie。
  2. 在存储的数据量方面:session 能够存储任意的 java 对象cookie 能存储 String 类型的对象。

4. Jsp  Servlet

4.1 Servlet 的执行流程

Servlet 的执行流程也就是 servlet 的生命周期,当服务器启动的时候生命周期开始,然后通过 init()《启动顺序根据 web.xml 里的 startup-on-load 确定加载顺序》方法初始化 servlet,再根据不同请求调用 doGet  doPost 法,最后再通过 destroy()方法进行销毁。

4.2 doGet  doPost 的区别

doGet  doPost 都是接受用户请求的方法,doGet 处理 get 请求,doPost处理 post 请求,doGet 用于地址栏提交,doPost 用于表单提交,在页面提交数据时,get 的数据大小有限制 4k,post 没有限制,get 请求提交的数据会在地址栏显示,post 不显示,所以 post  get 安全。

4.3 Jsp  Servlet 的区别

你可以将 JSP 当做一个可扩充的 HTML 来对待。

虽然在本质上 JSP 文件会被服务器自动翻译为相应的 Servlet 来执行。

可以说 Servlet 是面向 Java 程序员而 JSP 是面向 HTML 程序员的,除此之外两者功能完全等价。

4.4 JSP 九大内置对象

pageContext :只对当前 jsp 页面有效,里面封装了基本的 request 和 session 的对象

Request :对当前请求进行封装

Session :浏览器会话对象,浏览器范围内有效Application :应用程序对象,对整个 web 工程都有效Out :页面打印对象,在 jsp 页面打印字符串Response :返回服务器端信息给用户

Config :单个 servlet 的配置对象,相当于 servletConfig 对象Page :当前页面对象,也就是 this

Exception :错误页面的 exception 对象,如果指定的是错误页面,这个就是异常对象

4.5 JSP 的三大指令:

Page :指令是针对当前页面的指令Include :用于指定如何包含另一个页面Taglib :用于定义和指定自定义标签

4.6 七大动作

Forward,执行页面跳转,将请求的处理转发到另一个页面Param :用于传递参数

Include :用于动态引入一个 jsp 页面

Plugin :用于下载 javaBean 或 applet 到客户端执行useBean :使用 javaBean

setProperty :修改 javaBean 实例的属性值getProperty :获取 javaBean 实例的属性值

5. Ajax &Jquery

5.1 谈谈你对 Ajax 的认识?

Ajax 是一种创建交互式网页应用的的网页开发技术;Asynchronous JavaScript and XML”的缩写。

Ajax 的优势

通过异步模式,提升了用户体验。

优化了浏览器和服务器之间的传输,减少不必要的数据往返,减少了带宽占用。

Ajax 引擎在客户端运行,承担了一部分本来由服务器承担的工作,从而减少了大用户量下的服务器负载。

Ajax 的最大特点:

可以实现局部刷新,在不更新整个页面的前提下维护数据,提升用户体验度。

5.2 使用 Jquery 手写 Ajax

$.ajax({

url:'http://www.baidu.com', type:'POST',

data:data, cache:true, headers:{},

beforeSend:function(){}, success:function(){}, error:function(){}, complete:function(){}

});

5.3 请简单介绍 Ajax 的使用

Ajax = 异 步 JavaScript 和 XML 。

Ajax 是一种用于创建快速动态网页的技术。

通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。

有很多使用 AJAX 的应用程序案例:新浪微博.Google 地图.开心网等等。

5.4 Ajax 可以做异步请求么?

可以.ajax 请求默认是异步的.如果想同步 把 async 设置为 false 就可以了默认是 true

js xmlHttp.open("POST",url,false);

如果是 jquery

$.ajax({

url: some.php, async: false, success : function(){

}

});

5.5 请介绍下 Jsonp 原理

jsonp 的最基本的原理是:动态添加一个<script>标签,使用 script 标签的 src 属性没有跨域的限制的特点实现跨域。首先在客户端注册一个callback, 然后把 callback 的名字传给服务器。此时,服务器先生成 json 数据。 然后以 javascript 语法的方式,生成一个 function , function 名字就是传递上来的参数 jsonp。最后将 json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。客户端浏览器,解析 script 标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里。

5.6 Jquery 常用选择器

1.ID 选择器 #id

描述:根据给定的 id 匹配一个元素, 返回单个元素(注:在网页中,id 名称不能重复)

2.类选择器 .class

描述:根据给定的类名匹配元素,返回元素集合示例:$(".test") 选取所有 class 为 test 的元素3.元素选择器 element

描述:根据给定的元素名匹配元素,返回元素集合示例:$("p") 选取所有的<p>元素

4. *

描述:匹配所有元素,返回元素集合示例:$("*") 选取所有的元素

示例:$("#test") 选取 id 为 test 的元

相信自己,坚信自己的目标,去承受常人承受不了的磨难与挫折,不断的努力去奋斗,最终的成功就会是你
原文地址:https://www.cnblogs.com/Valuez/p/13302162.html