1.doGet()和doPost()区别/get和post请求方法区别:

  (1)在form表单中:method  = “get/post”相对应doGet和doPost方法。

  (2)在http协议中:相对应http的GET和POST请求方法(http的请求方法有:GET,POST,PUT,HEAD,DELETE,OPTIONS,TRACE,CONNECT,PATCH)

  (3)get方法提交数据有大小的限制为1024字节左右,但是post方法没有数据大小的显示。

  (4)使用get方法会将form表单提交的数据存放在url中(以key-value形式),用户看得见;

,     但post方法将数据存放在http协议的请求体中,用户看不见。

      因此get方式的安全性差,post方法的安全性更高。

  (5)服务器获取数据:get方法中采用request.QueryString获取;post方法request.Form获取

              服务器随机接受get方法的数据,而post方法服务器先接受数据信息的长度,再接受数据。

  (6)在数据查询的时候,建议使用get方式,而数据添加,修改,删除时,建议使用post方式。

2.servlet的生命周期:

  

  声明:servlet接口只有上图这些方法,而doGet和doPost方法在类HttpServlet中,在eclipse中创建一个servlet类,这个类就继承了HttpServlet类。

  web容器加载servlet,生命周期开始。通过调用servlet的init()方法进行servlet初始化。通过调用service()方法实现(客户端发送的请求都是交给service方法),

  根据请求的不同调用不同的do**()方法。结束service()方法后,web容器调用destroy()方法,销毁。

3.Cookie和Session:

   http是一种无状态的协议,客户端和服务器端建立连接并传输数据,数据传输完成后,连接断开,当再次需要交互数据时,需要建立新的连接,

   因此,服务器无法从连接上跟踪会话也不知道用户上次做了什么。

  (1)Cookie的原理:

    Cookie是解决http无状态协议的有效方式(本质),服务器可以设置或读取cookie所包含的信息。

    Cookie是通过set-cookie响应头和cookie请求头将会话中产生的数据保存在客户端的技术。

    客户端发送请求给服务器端,服务器端将获取到的数据通过set-cookie响应头发送给浏览器,浏览器将cookie以文件的形式保存在浏览器内部,

    当客户端再次发送请求的时候,服务器可以通过cookie请求头获取上次发送给浏览器的cookie心意,通过这种方式保存会话中产生的数据。

  (2)session原理:

    session也是解决http协议无状态(不能维持现状)的问题。

    session产生于服务器端,以对象的形式保存在服务器端。服务器端每产生一个新的session对象都会分配一个唯一的id,

    并且这个id值将以cookie的形式保存在客户端,cookie的键就是jsessionid,将cookie值放在浏览器,当客户端再次发送请求的时候,

    将携带cookie信息到浏览器,服务器通过该cookie就可以根据jsessionid的值得知当前会话保存的session。

    关闭浏览器,便获取不到上次保存的session,并不是因为session被销毁了(session销毁的原因是因为在一定的时间内没有被操作,才会被销毁),

    而是因为丢失了sessionid(sessionid默认在浏览器关闭的时候销毁)。

  (3)session和cookie的区别:

    a.cookie数据存放在客户端,session存放在服务器端

      cookie不安全(别人可以分析存放在本地的cookie进行cookie欺骗)

      session在一定时间内保存在服务器上,当访问增多是,比较占用服务器的性能

    b.用户可以设置cookie功能禁用,但是session不能。

    c.cookie只能设置存储文本类型,session中能存取object值。

    d.cookie有大小限制以及浏览器存放的cookie个数也有限制(各个浏览器的限制是不一样的),而session没有大小限制。

  (4)相同点(理解):

    a.都是在服务器端产生。

    b.都是解决http协议无状态问题。

    c.都是key-value形式保存。

    d.都是跟踪会话。

以上三个问题都被面试管问过,尤其是第三个,被问多次。

4.jsp和servlet的区别:

  jsp是servlet技术的扩展,本质上是servlet的简易方式,更强调外观上的表达。

  主要的不同点在于,servlet的应用逻辑在java文件中,并且完全从表示层中的html里分离出来。jsp是java和HTML组合而成。

  jsp注重视图,servlet注重控制逻辑。

 

Servlet小结(面试)的更多相关文章

  1. Java面试题精选(三) JSP/Servlet Java面试逻辑题

    --   JSP/Servlet  Java面试逻辑题   --     很显然,Servlet/JSP的WEB前端动态制作的重要性比HTML/CSS/JS的价值高很多,但我们都知道他们都是建立在HT ...

  2. [原创]java WEB学习笔记11:HttpServlet(HttpServletRequest HttpServletRsponse) 以及关于 Servlet 小结

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  3. java Servlet小结

    1:什么是Servlet? ① Servlet就是JAVA 类② Servlet是一个继承HttpServlet类的类③ 这个在服务器端运行,用以处理客户端的请求 2:Servlet 生命周期 Ser ...

  4. Java EE - Servlet 小结

    Table of Contents 前言 Servlet 的生命周期 Servlet 的初始化 ServletContext & ServletConfig 请求的处理 HttpServlet ...

  5. JAVA基础篇—Servlet小结

    一.get请求和post请求的区别: 1.get请求是通过url传递参数,post请求是通过请求体传递参数的 2.get请求最多允许传递255个字符,对长度有限制,所以数据比较大的时候我们使用post ...

  6. Servlet小结(转载)

    http://www.iteye.com/topic/766418 1 .首先,什么是Servlet?        Servlet是一个Java编写的程序,此程序是在服务器端运行的,是按照Servl ...

  7. Servlet小结

    1.sevlet的生命周期 用户在发送第一次请求的时候Servlet对象被实例化(AServlet的构造方法被执行了.并且执行的是无参数构造方法.) AServlet对象被创建出来之后,Tomcat服 ...

  8. 面试小结之Elasticsearch篇(转)

    最近面试一些公司,被问到的关于Elasticsearch和搜索引擎相关的问题,以及自己总结的回答. Elasticsearch是如何实现Master选举的? Elasticsearch的选主是ZenD ...

  9. 写在19年初的后端社招面试经历(两年经验): 蚂蚁 头条 PingCAP

    去年(18年)年底想出来看看机会,最后很幸运地拿到了 PingCAP,今日头条的 offer 以及蚂蚁金服的口头 offer.想着可以总结一下经验,分享一下自己这一段"骑驴找马"过 ...

随机推荐

  1. 记录一次创建.net core 项目 并且发布到docekr【完全新手入门】

    1]环境说明 操作系统:Window 10 专业版 开发工具 Vs2019专业版 Docker:  Docker for Windows  2]创建.net core项目并且发布 2.0先打开并且运行 ...

  2. FCC---CSS Flexbox: Use the flex-direction Property to Make a Column

    The last two challenges used the flex-direction property set to row. This property can also create a ...

  3. ASP.NET Aries 高级开发教程:行内编辑事件怎么新增数据到后台(番外篇)

    前提: 今天又网友又提出了一个问题,说行内编辑保存之前,怎么新增一些数据提交到后台? 对方说看了源码,也没找到怎么处理,这里就写文给解答一下. 解答: 于是我看了一眼源码,只能说你没找到地方: 第12 ...

  4. springcloud Config 入门,带视频

    疯狂创客圈 Java 高并发[ 亿级流量聊天室实战]实战系列 [博客园总入口 ] 架构师成长+面试必备之 高并发基础书籍 [Netty Zookeeper Redis 高并发实战 ] 前言 Crazy ...

  5. vue路由进阶

    一..全局路由前置守卫 1.首先看一下文档结构 Dashboard和Login是一级页面  home about mine是在Dashboard下的二级页面 2.router.js代码如下 impor ...

  6. ASP.NET Core gRPC 健康检查的实现方式

    一. 前言 gRPC 服务实现健康检查有两种方式,前面在此文 ASP.NET Core gRPC 使用 Consul 服务注册发现 中有提到过,这里归纳整理一下.gRPC 的健康检查,官方是定义了标准 ...

  7. MySQL 两张表关联更新(用一个表的数据更新另一个表的数据)

    有两张表,info1, info2 . info1: info2: 现在,要用info2中的数据更新info1中对应的学生信息,sql语句如下: UPDATE info1 t1 JOIN info2 ...

  8. Android UI开发之开源控件项目整理

    一.Banner 1.https://github.com/youth5201314/banner Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式.动画.轮播和切换时间. ...

  9. 云K8S - AWS容器库ECR(ERS)编排ECS-EKS以及阿里云编排ACS-ACK

    云K8S相关 AWS 部分-ECR(ERS) ECS EKS 20180824 Chenxin AWS的容器编排目前分为 ECS 和 EKS 两种. AWS价格说明 Fargate模式的ECS,换算成 ...

  10. MSSQL一个关于Count函数的小实例

    --创建测试表 if object_id(N'T_Test',N'U') is null CREATE TABLE [dbo].[T_Test] ( , ) PRIMARY key NOT NULL, ...