码迷,mamicode.com
首页 > 编程语言 > 详细

Java基础(五)

时间:2019-12-16 12:55:08      阅读:72      评论:0      收藏:0      [点我收藏+]

标签:filter   ima   反射机制   UNC   基础   from   tis   异常   control   

技术图片

什么是Ajax,由哪几部分组成

Ajax(Asynchronous JavaScript And Xml),字面意思为异步的JavaScript和Xml,可实现动态加载页面及页面局部刷新
主要包含技术:Html、CSS、Dom、XMLHttpRequest、JavaScript
常用参数:

  1. url:请求地址
  2. type:请求方式,默认为get,常用的还有post
  3. async:设置是否异步,默认为true,表示异步
  4. dataType:设置返回的数据格式,常用的是json,也可以设置为text、html
  5. data:设置发送给服务器的数据
  6. success:请求成功后的回调函数
  7. error:请求失败后的回调函数

如何解决Ajax跨域问题

  • 服务端响应头添加Header允许访问
response.addHeader(‘Access-Control-Allow-Origin:*’);//允许所有来源访问 
response.addHeader(‘Access-Control-Allow-Method:POST,GET’);//允许访问的方式
  • 前端使用jsonp:只支持get不支持post
    用法:动态创建script,利用script不受同源策略限制的特性获取服务端返回信息
    1) dataType改为jsonp
    2) jsonp:"jsonpCallback"
    3) 后端获取get请求中的jsonpCallback
    4) 构造回调结构
//前端
$.ajax({
    type : "GET",
    async : false,
    url : "http://a.a.com/a/FromServlet?userName=644064",
    dataType : "jsonp",//数据类型为jsonp  
    jsonp : "jsonpCallback",
    success : function(data) {
        alert(data["userName"]);
    },
    error : function() {
        alert('fail');
    }
});
//后端
String jsonpCallback = request.getParameter("jsonpCallback");
//构造回调函数格式jsonpCallback(数据)
resp.getWriter().println(jsonpCallback+"("+jsonObject.toJSONString()+")");
  • httpClient内部转发
  • 使用接口网关nginx、springcloud zuul

HashMap和HashTable的区别

相同点:
> 1. 都实现了Map接口
> 2. 实现原理相同,底层都是哈希表,功能相同
不同点:
> 1. HashTable继承自Dictionary类,HashMap继承自AbstractMap类
> 2. HashTable线程安全,HashMap线程不安全
> 3. HashTable不允许有null,HashMap允许至多一个null
> 4. 检查是否存在:Hashtable->contains();HashMap->containsKey()/containsValue()

jdbc与Hibernate比较

  1. jdbc使用sql,Hibernate使用HQL
  2. jdbc操作数据,Hibernate操作持久化对象
  3. jdbc操作的数据是临时的,Hibernate是可持久的,即持久化对象的值和数据库保持一致

过滤器Filter和拦截器Interceptor

  1. Filter依赖于servlet容器,基于函数回调,可以对几乎所有请求进行过滤,如CharacterEncodingFilter
  2. Interceptor依赖于web框架,基于Java的反射机制,属于面向切面编程(AOP)的一种运用,只能对controller请求进行拦截,对其他的一些比如直接访问静态资源的请求则没办法进行拦截处理

谈谈对MyBatis的理解

  • MyBatis是一个数据持久层(ORM)框架,可以在实体类和SQL语句之间建立映射关系,是一种半自动化的ORM实现。
  • 需要开发人员自己来写sql语句,程序更灵活,在一定程度上可以作为ORM的一种补充,但数据库移植性差。
  • 便于统一管理与维护,降低了程序的耦合度。

MyBatis中如何使用事务

Mybatis对于事务的支持不太好,需要手动开启JDBC事务进行事务管理:

  1. 在整个请求处理之前,创建事务工厂
  2. 基于同一个SqlSession对象获得事务对象,期间执行多次数据库更新操作
  3. 最后捕捉异常,进行事务回滚或关闭

Java基础(五)

标签:filter   ima   反射机制   UNC   基础   from   tis   异常   control   

原文地址:https://www.cnblogs.com/maxiaobing/p/12048089.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!