Java Web知识点

  1. 简述三层结构每一层的功能和做用

分类 描述
应用层 负责具体业务和视图展现,如网络首页及搜索输入和结果展现
服务层 为应用层提供服务支持,如用户管理服务,购物车服务等
数据层 提供数据存储访问服务,如数据库、缓存、文件、搜索引擎等
  1. 简述http协议请求和响应信息都有哪些

Get Post
请求行 GET /user_login?username=admin&password=123 HTTP/1.1:表示使用Get请求 , 表示请求什么路径地址 ,表示使用什么版本的协议 POST /user_login HTTP/1.1:意思和get请求的意思同样,只不过这里的地址不再跟数据了。 而且这里使用post请求
请求头 Host : 表示主机地址;User-Agent : 表示客户端的信息;Accept : 声明客户端能够接收什么类型的数据;Accept-Language : 表示客户端支持的语言;Accept-Encoding : 表示客户端支持的压缩格式;Referer : 表示请求从哪里过来的;Connection : 表示链接状态。 Content-Type : 其实就是说明提交上去的数据是什么类型数据 。 是一个通过url编码的form表单数据;Content-Length : 提交的数据长度;Cache-Control : 表示再次请求的时候,是否读缓存。
请求体 get请求没有请求体 username=zhangsan&password=123:是以流的形式写给服务器的
响应行 HTTP/1.1 200:表示服务器也支持1.1的版本协议 , 对此次请求处理的状态码是200 与get方法相同
响应头 Content-Type: text/html;charset=UTF-8 : 表示返回的结果是一份网页,使用的是UTF-8编码;Content-Length: 75 : 返回的数据长度;Date: Sun, 21 May 2017 07:09:28 GMT : 响应时间 与get方法相同
响应体 process login with admin : 123 与get方法相同
  1. Cookie 和 Session的区别

Cookie Session
存储位置 数据存放在客户端 数据存放在服务器端
存储大小 存放的数据有限 依赖服务器的内存空间
安全性 数据不安全 数据相对比较安全
服务器负荷 减轻服务器压力, 用户磁盘占用比较多 服务器压力大一点
  1. 关闭浏览器是否会销毁session? 若是不会那么为何再次访问获取不到值?

    不会销毁Session;由于session须要经过JSESSIONID来获取,JSESSIONID 存储在cookie中,关闭浏览器以后,cookie销毁,再次访问没法获取JSESSIONID ,天然不能获取到原来的session。html

  2. IOC的做用是什么

    IOC-Inversion of Control,即控制反转。数据库

    做用:将建立对象的动做交给容器来执行,无需本身手动建立。浏览器

  3. DI的做用是什么

    DI-Dependency Injection,即依赖注入缓存

    做用:只须要经过注解代表本身所须要的对象,容器就能够动态的将某个依赖注入到组件之中,提高了组件重用的频率。安全

  4. 可否本身实现IOC 和 DI

    经过反射和动态代理能够实现出本身的IOC和DI服务器

  5. 如何理解动态代理

    首先,什么是代理cookie

    举个例子,经纪人和歌手,想找歌手出席商业活动,不须要直接找到歌手本人,只要联系经纪人就能够,网络

    在此处经纪人就是起到一个代理的做用。session

    既然有动态代理,就会有静态代理,那么什么是静态代理函数

    代理类在程序运行前就已经存在,那么这种代理方式被成为静态代理 ,这种状况下的代理类一般都是咱们在Java代码中定义的。 一般状况下, 静态代理中的代理类委托类会实现同一接口或是派生自相同的父类。

    搞清楚了什么是静态代理,那么什么是动态代理呢?

    代理类在程序运行时建立的代理方式被成为动态代理

    也就是说,代理类并非在Java代码中定义的,而是在运行时根据咱们在Java代码中的指示动态生成的。

    相比于静态代理动态代理优点在于能够很方便的对代理类的函数进行统一处理,而不用修改每一个代理类的函数。

​ 最后,如何使用动态代理?

  • 1.实现 InvocationHandler 接口建立本身的调用处理器
  • 2.为 Proxy 类指定 ClassLoader 对象和一组 interface 来建立动态代理类
  • 3.经过反射机制得到动态代理类的构造函数,其惟一参数类型是调用处理器接口类型
  • 4.经过构造函数建立动态代理类实例,构造时调用处理器对象做为参数被传入
相关文章
相关标签/搜索