常见Java笔面试题集(五)

常见Java笔面试题集(五)

1.什么是Servlet?

答:Servlet是用来处理客户端请求并产生动态网页内容的Java类,Servlet主要是来处理或者是存储HTML表单提交的数据,产生动态内容,在无状态下的HTTP协议下管理状态信息。

2.GenericServlet和HttpServlet有什么区别?

答:GenericServlet是一个通用的协议无关的Servlet,它实现了Servlet和ServletConfig接口。继承自GenericServlet的Servlet应该要覆盖service()方法。若要开发一个能用在网页上服务于HTTP协议请求的Servlet,你的Servlet必须要继承HttpServlet。

3.解释Servlet的生命周期

答:对每一个客户端的请求,Servlet引擎载入Servlet,调用它的init()方法,完成Servlet的初始化,然后Servlet对象通过为每一个请求单独调用service()方法来处理所有随后来自客户端的请求,最后调用Servlet的destroy()方法把Servlet删除掉。

4.doget()和dopost()方法的区别?

答:doget()方法会把名、值追加到请求的URL的后面。URL对字符数目有限制,进而限制了用户在客户端请求的参数值的数目。并且请求的参数值是可见的,因此敏感信息不可采用这种方式传递。

       dopost()方法通过把请求参数值放在请求体中来克服doget()方法的限制,因此可以发送的参数没有数目的限制,通过dopost()方法请求传递的敏感信息对外部客户端是不可见的。

5.简单介绍下Session与Cookie以及Session与Cookie的区别?

答:cookie是Web服务器发送给浏览器的一块信息,浏览器会在本地文件中给每一个Web服务器存储cookie,以后浏览器在给特定Web服务器发请求的时候,同时会发送所有为该服务器存储的cookie,服务器检测Cookie,以此来辨认用户状态。

       客户端请求服务器,如果服务器记录该用户状态,就获取Session来保存状态,这时,如果服务器已经为客户端创建了session,服务器就安装sessionID将session检索出来,如客户端不包含sessionID,则为客户端创建一个session并生成一个相关联的sessionID,并将sessionID在本次响应中返回给客户端保存。

区别:实现机制:Session的实现常常依赖于Cookie机制,通过Cookie机制回传SessionID.

           大小机制:Cookie有大小限制并且浏览器对每个站点也有Cookie个数限制,Session没有大小限制,只与服务器的内存有关。

           安全性:Cookie存在安全隐患,通过拦截或本地文件得到Cookie后可进行攻击,而Session存在服务器端,相对安全。

           服务器资源消耗:Session是保存服务器端一段时间才会消失,如果Session过多会增加服务器压力。

6.Socket概念

答:套接字Socket是通信的基石,是支持TCP/IP协议的网络通信的基本操作单元,它是网络通信过程中端点的抽象表示,包含进行网络通信必须的五种信息:连接使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址、远地进程的协议端口。一个Socket是一对IP地址和端口。Socket可以看成在两个程序进行通讯连接中的一个端点,一个程序将一段信息写入Socket中,该Socket将这段信息发送给另外的Socket,使这段信息能传送到其他程序。

7.Socket的作用

答:应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序提供并发服务的问题。为了区别不同的应用程序进程和连接,许多计算机操作系统为应用程序与TCP/IP协议交互提供了Socket接口,区分不同应用程序进程间的网络通信和连接。

8.HTTP响应的结构是怎样的?

答:HTTP响应是由三部分构成:

  1. 状态码:描述了响应的状态,可以用来检查是否成功的完成了请求。状态码:200:请求成功;302:请求重定向;404:请求资源不存在;500:服务器内部错误,程序抛出异常。
  2. HTTP头部:通常一个key对应一个value,也有一个key对应多个value。

    响应头:Location :重定向的路径;Refresh :定时刷新;Content-Disposition:文件下载的时候使用

  3. HTTP响应主体:显示到浏览器上页面的HTML代码,图片等等。

9.HTTP请求的结构是怎样的?

答:HTTP请求是由三部分构成:

  1. 请求行:包含请求方式:常用就两种GET和POST,请求的资源路径,URL字段和HTTP协议版本等。
  2. 请求头:请求头的格式一般都是一个key对应一个value的,也有一个key对应多个value的情况。请求头:Referer:代表网页的来源。User-Agent:获得客户端浏览器类型。
  3. 请求体:只有POST请求方式才有请求体,而且请求体是POST方式请求参数。

10.从输入网址到获取页面的过程

答:主要包含6步骤:

  1. 浏览器查询DNS,获取域名对应的IP地址。
  2. 浏览器获取域名对应的IP地址后,浏览器向服务器请求建立连接,发起三次握手。
  3. TCP/IP链接建立后,浏览器向服务器发送Http请求
  4. 服务器接收到这个请求后,并根据路径参数映射到特定的请求处理器中进行处理,并将处理结果及相应的视图返回给浏览器。
  5. 浏览器解析并渲染试图,若遇到对js文件、css文件及图片等静态资源的引用,则重复上述步骤并向服务器请求这些资源。
  6. 浏览器根据其请求到的资源、数据渲染页面,最终向用户呈现一个完整的页面。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值