Java开发工程师最新面试题库系列——Web部分(附答案)

WEB

若是你有更好的想法请在评论区留下您的答案,一块儿交流讨论

  1. http和https有什么区别?javascript

    答:http是超文本传输协议,默认端口是80。https是安全的默认端口是443;http是明文传输,存在安全隐患,Https在Http的基础上增长了SSL/TLS协议,须要依靠整数来验证服务器身份,而且对服务器与客户端之间的传输进行通讯加密。https协议须要到ca申请证书,通常免费证书不多,须要交费。Http不须要html

  2. get和post有什么区别?前端

    答:java

    1、功能不一样web

    一、get是从服务器上获取数据。
    二、post是向服务器传送数据。ajax

    2、安全性不一样json

    一、get安全性很是低。后端

    二、post安全性较高。跨域

    3、参数传递方式不一样浏览器

    一、get传递的参数在请求连接中

    二、post能够将参数添加到请求正文中

    4、传递信息大小不一样

    一、get传输信息不大于2k

    二、post传输的信息通常不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。

  3. foward和redirect有什么区别?

    答:

    • forward请求转发是服务端跳转,redirect重定向是客户端跳转
    • forward跳转能够携带参数,redirect不能够携带参数
  4. 什么是Servlet?

    答:Servlet是用Java编写的服务器端程序, 其主要功能在于交互式地浏览和修改数据,生成动态Web内容.

  5. 描述一下Servlet的生命周期

    答:

    init() 初始化.
    service() 处理客户端的请求, 具体业务逻辑. ServletRequest 对象用于得到客户端信息,ServletResponse 对象用于向客户端返回信息(客户端能够理解为浏览器)
    destroy() 结束时调用. 这个方法只有在servlet的service方法内的全部线程都退出的时候,或在超时的时候才会被调用。

    init() 和 destroy() 都只会在Servlet建立和销毁时调用一次, 而service() 则会在响应不一样请求时屡次调用.

  6. Servlet是单例仍是多例?支持异步处理吗?

    答:

  7. Servlet和JSP有什么区别和联系?

    答:jsp 本质上就是一个 Servlet,它是 Servlet 的一种特殊形式,每一个 jsp 页面都是一个 servlet实例。

    Servlet 是由 Java 提供用于开发 web 服务器应用程序的一个组件,运行在服务端,由 servlet 容器管理,用来生成动态内容。一个 servlet 实例是实现了特殊接口 Servlet 的 Java 类,全部自定义的 servlet 均必须实现 Servlet 接口。

    区别:

    • jsp 是 html 页面中内嵌的 Java 代码,侧重页面显示;

    • Servlet 是 html 代码和 Java 代码分离,侧重逻辑控制,mvc 设计思想中 jsp 位于视图层,servlet 位于控制层

  8. JSP有哪些经常使用内置对象?

    答:JSP中一共预先定义了9个这样的对象,分别为request、response、session、application、out、pageContext、config、page和exception。

  9. JSP有哪几种做用域?

    答:一共4种,按照做用域从小到大顺序以下:pageContext----request----session----application。

    (1)pageContext:页面域

    页面做用域仅限于当前页面对象,能够近似于理解为java的this对象,离开当前JSP页面(不管是redirect仍是forward),则pageContext中的全部属性值就会丢失。

    (2)request:请求域

    请求做用域是同一个请求以内,在页面跳转时,若是经过forward方式跳转,则forward目标页面仍然能够拿到request中的属性值。若是经过redirect方式进行页面跳转,因为redirect至关于从新发出的请求,此种场景下,request中的属性值会丢失。

    (3)session:会话域

    会话做用域是在一个会话的生命周期内,会话失效,则session中的数据也随之丢失。

    (4)application: 应用域

    应用做用域是最大的,只要服务器不中止,则application对象就一直存在,而且为全部会话所共享。

  10. Cookie和Session有什么区别?

    答:

    (1)、cookie数据存放在客户的浏览器上,session数据放在服务器上 ;
    (2)、cookie不是很安全,别人能够分析存放在本地的COOKIE并进行COOKIE欺骗,若是主要考虑到安全应当使用session ;

    (3)、session会在必定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,若是主要考虑到减轻服务器性能方面,应当使用COOKIE ;

  11. 什么是跨域,有哪些解决方案?

    答:跨域问题来源于浏览器的同源策略,浏览器为了提升网站的安全性,在发送ajax请求时,只有在当前页面地址与请求地址的协议+域名+端口号相同时才容许访问,不然会被拦截。也就是说协议、域名、端口其中任意一个不一样都存在浏览器跨域问题。

    解决方案
    1. CORS(跨域资源共享)cors的原理是在服务器端设置http响应头,容许浏览器进行跨域请求【后端跨域】
    2. jsonp,jsonp的原理是浏览器在引入javascript不受跨域限制,咱们使用script标签来请求数据【前端跨域】
相关文章
相关标签/搜索