WEB

如果你有更好的想法请在评论区留下您的答案,一起交流讨论

  1. http和https有什么区别?

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

  2. get和post有什么区别?

    答:

    一、功能不同

    1、get是从服务器上获取数据。

    2、post是向服务器传送数据。

    二、安全性不同

    1、get安全性非常低。

    2、post安全性较高。

    三、参数传递方式不同

    1、get传递的参数在请求链接中

    2、post可以将参数添加到请求正文中

    四、传递信息大小不同

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

    2、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标签来请求数据【前端跨域】

Java开发工程师最新面试题库系列——Web部分(附答案)的更多相关文章

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

    Spring Spring框架是什么? 答:Spring是轻量级的面向切面和控制反转的框架.初代版本为2002年发布的interface21,Spring框架是为了解决企业级应用开发的复杂性的出现的, ...

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

    集合 如果你有更好的想法请在评论区留下您的答案,一起交流讨论 说说常见的集合有哪些? 答:主要分List.Set.Map.Queue四类,其中包含ArrayList.LinkedList.HashSe ...

  3. Java开发工程师最新面试题库系列——Java基础部分

    JAVA基础 面向对象有哪些特征? 答:继承.封装.多态 JDK与JRE的区别是什么? 答:JDK是java开发时所需环境,它包含了Java开发时需要用到的API,JRE是Java的运行时环境,JDK ...

  4. Java开发工程师最新面试题库系列——Mybatis框架部分(附答案)

    Mybatis Mybatis是什么框架? 答:持久层框架 Mybatis和ORM有什么区别? 答:ORM是对象关系映射的一种设计理念,也就是对象属性对应数据库字段,让开发人员以操作对象的方式操作数据 ...

  5. 【转】2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题

    腾讯面试(WEB高级应用开发工程师<PHP>)非答案啊!!! 开始正题之前,容博主啰嗦两句吧,呵呵.(你也可跳过直接到红色字体看题!) 腾讯一直是我很敬重的企业,尽管小企鹅在战略上饱受争议 ...

  6. 2012年7月12 – 腾讯公司 WEB高级应用开发工程师 最新面试题 [转]

    笔试(45 minute):(本来是四张纸,被我弄丢了一张!无伤大雅,难度级别不会有出入) 注意:由于时间紧迫和水平有限,难免有不足或错误,请指证,虚心学习! [PHP] 写出PHP中至少5个全局变量 ...

  7. Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本

    Java容器--2021面试题系列教程(附答案解析)--大白话解读--JavaPub版本 前言 序言 再高大上的框架,也需要扎实的基础才能玩转,高频面试问题更是基础中的高频实战要点. 适合阅读人群 J ...

  8. 阿里巴巴-OS事业群-OS手机事业部-系统服务部门招聘Java开发工程师,有意者请进来

    我是阿里巴巴-OS事业群-OS手机事业部-系统服务部的开发工程师,正在招聘Java开发工程师. 以下是职位描述: 岗位名称:Java开发工程师 招聘人数:5人 生效日期:2014-03-12 结束日期 ...

  9. JAVA开发工程师面试(1)

    我已经有很长一段时间没有更新博客了,难道是博主我变懒惰了吗?哎,这样可不行啊,我还有好多知识要学习,要和大家分享.以后我需要更加努力,改掉自己的惰性.本人文采不怎么样,只能是把自己所想的说出来,想和大 ...

随机推荐

  1. Scrapy——將數據保存到MySQL數據庫

    Scrapy--將數據保存到MySQL數據庫 1. 在MySQL中創建數據庫表job_inf: 1 Create table job_inf( 2 id int(11) not null auto_i ...

  2. 【转载】HTTP 协议详细介绍

    背景 当你在浏览器地址栏敲入"http://www.cnblogs.com/",然后猛按回车,呈现在你面前的,将是博客园的首页了(这真是废话,你会认为这是理所当然的).作为一个开发 ...

  3. (005)每日SQL学习:关于物化视图的一系列创建等语句

    --给用户授权 GRANT CREATE MATERIALIZED VIEW TO CDR; --创建物化视图的表日志(具体到某个表,物化视图中用到几个表就需要建立几个日志):当用FAST选项创建物化 ...

  4. (002)每日SQL学习:删除名称重复的数据

    create table A ( id VARCHAR2(36), name VARCHAR2(100), sl VARCHAR2(36) ); insert all into a (id,name) ...

  5. 【LinuxShell】cp 用法详解

    Linux cp命令主要用于复制文件或目录. -a:此选项通常在复制目录时使用,它保留链接.文件属性,并复制目录下的所有内容.其作用等于dpR参数组合. -d:复制时保留链接.这里所说的链接相当于Wi ...

  6. hashCode、equals详解

    hash和hash表是什么? hash是一个函数,该函数中的实现就是一种算法,就是通过一系列的算法来得到一个hash值,这个时候,我们就需要知道另一个东西,hash表,通过hash算法得到的hash值 ...

  7. Web漏洞扫描-AppScan

    Web漏洞扫描-AppScan 一.AppScan简述 二.功能及特点 一.AppScan简述 IBM Security AppScan是一个适合安全专家的Web应用程序和Web服务渗透测试解决方案. ...

  8. Spark程序使用Scala进行单元测试

    Spark程序使用Scala进行单元测试 1.Rdd测试 2.无返回值方法测试 3.测试私有方法 原文作者:大葱拌豆腐 原文地址:Spark程序进行单元测试-使用scala 1.Rdd测试 spark ...

  9. python中字符串的翻转(方法总结)

    Python翻转字符串(reverse string), 一共包含5种方法, 其中第一种最简单, 即步长为-1, 输出字符串; 方法如下 5种方法的比较: 1. 简单的步长为-1, 即字符串的翻转(常 ...

  10. Spring boot 异步线程池

    package com.loan.msg.config; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandle ...