JavaWeb面试题2020(15题)

前言:

作者:CodeCow · 阿牛,微信搜索公众号 “CodeCow ”,我们一起干“java

正文:

1、网络编程首先要解决什么问题?

(1)如何准确的定位网络上的一台或者多台主机

(2)找到主机后如何可靠的进行有效的数据传输

2、分别说说OSI/RM模型和TCP/IP模型分别指的什么?

OSI/RM模型指:

物理层、数据链路层、网络层、传输层、会话层、表示层、应用层

TCP/IP模型指:

网络接口层、网络层、传输层、应用层

3、说说OSI/RM各层使用的协议是什么?

(1)应用层:HTTP-超文本传输协议

(2)传输层:TCP、UDP协议

         TCP:面向连接的可靠的协议,比UDP多了一个建立连接的时间

         UDP:无连接不可靠协议,有大小限制,64KB以内,传输效率高          
4、Http是有状态还是无状态的协议 ?

Http是一个基于请求/响应模式的,无状态的协议

5、Http请求由什么组成 ?

请求头,消息报头,请求正文

6、Http请求方法有哪几种 ?有什么区别?

2种;
GET、POST

区别:

  • GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连;POST 把提交的数据则放置在是HTTP包的包体中
    example:login.action?name=zhagnsan&password=123456
  • POST的安全性要比GET的安全性高。
  • Get 是向服务器发索取数据的一种请求,而Post是向服务器提交数据的一种请求,在FORM(表单)中,Method默认为"GET",实质上GET和POST只是发送机制不同,并不是一个取一个发。
7、Http响应由什么组成 ?

状态行,消息报头,响应正文

8、Http中重定向和请求转发的区别 ?

(1)重定向是客户端行为,请求转发是服务端行为

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

(3)请求转发:一次请求一次响应,浏览器地址不会发生变化,访问的是自己本身的web资源,传输数据不会丢失

总结:

  • 重定向的特点:redirect
    1. 地址栏发生变化
    2. 重定向可以访问其他站点(服务器)的资源
    3. 重定向是两次请求。不能使用request对象来共享数据
  • 转发的特点:forward
    1. 转发地址栏路径不变
    2. 转发只能访问当前服务器下的资源
    3. 转发是一次请求,可以使用request对象来共享数据
9、Cookie 和 Session特点是什么? 区别 ?

Cookie 特点:

  • cookie存储数据在客户端浏览器
  • 浏览器对于单个cookie 的大小有限制(4kb) 以及 对同一个域名下的总cookie数量也有限制(20个)

Session 特点:

  • session用于存储一次会话的多次请求的数据,存在服务器端
  • session可以存储任意类型,任意大小的数据

session与Cookie的区别:

  1. session存储数据在服务器端,Cookie在客户端
  2. session没有数据大小限制,Cookie有
  3. session数据安全,Cookie相对于不安全
10、说说Servlet的生命周期?

Servlet的生命周期:
实例化——>初始init——>接收请求service——>销毁destroy;

11、Jsp内置对象有几个?分别是什么?

9个

  • pageContext :当前页面共享数据,还可以获取其他八个内置对象
  • request:一次请求访问的多个资源(转发)
  • session:一次会话的多个请求间
  • application :所有用户间共享数据
  • response:响应对象
  • page:当前页面(Servlet)的对象 this
  • out: 输出对象,数据输出到页面上
  • config: Servlet的配置对象
  • exception:异常对象
12、Servlet和Jsp有什么区别?

(1)jsp是html页面中内嵌Java代码,侧重于页面展示

(2)Servlet是html和Java代码分离,侧重于逻辑控制

13、Web有几大组件?分别是什么?

3大组件
Servlet
Filter:过滤器
Listener:监听器

14、在单点登录中,如果cookie被禁用了怎么办?

单点登录原理:后端生成一个sessionID,然后设置到cookie,后面的所有请求浏览器都会带上cookie,然后服务端从cookie里获取sessionID,再查询到用户信息。
解决方案:从原理可以发现,保持登录的关键不是cookie,而是通过cookie保存和传输的sessionID,其本质是能获取用户信息的数据。因此,除了cookie,还通常使用HTTP请求头来传输。但是这个请求头浏览器不会像cookie一样自动携带,需要手工处理。

15、Http常见的状态码有哪些?

1XX:指示信息-表示请求已经接收,继续处理

2XX:成功-表示请求已经被成功接收,理解

3XX:重定向-要完成必须进行进一步操作

4XX:客户端错误-请求无法实现或请求语句错误

5XX:服务端错误-服务器未能实现合法请求

example:

200:OK-客户端请求成功

301:资源(网页等)被永久转移到其它URL

302:临时移动,(重定向)

400:客户端请求有语法错误,不能被服务器所理解

401:请求未经授权

403:接收到请求但是拒绝服务

404:请求资源不存在

500:服务器发生了不可预期的错误

503:服务器当前不能处理客户端请求,一段时间之后可能恢复正常

后记

从Java基础—>SpringCloud面试题的详细答案,已经整理成PDF文档

在这里插入图片描述

★★ 小声BB ★★

若有需要PDF的小伙伴,可以微信搜索公众号 “CodeCow”,回复:2020青铜 小编直接发百度网盘

也可以加小编微信:CodeCow-6666 私信小编

坚持,因为我是阿牛

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值