zoukankan      html  css  js  c++  java
  • java Servlet简介

    Servlet是什么呢?

    Servlet是网页客户端与服务器交互的中介。网页要上传数据,要get信息,这些都需要servlet来接收请求,然后从服务器获取数据。

    java 中Servlet常用的是HttpServlet, 它有两个常用方法,doGet(HttpServletRequest request, HttpServletResponse response), doPost(...)分别处理浏览器的get 与post请求。

    一般来说我们实现这两个方法,就足以处理常用浏览器操作。

    其中两个类特别重要:

    1, HttpServletRequest 这个类记录了浏览器的请求信息,包括发送的数据, Cookie, Session, Header等等都可以调用相应的get方法来获取。

    2, HttpServletResponse 这个类记录了服务器要发送给浏览器的数据。包括 Cookie, 应答数据, Header等都可以调用相应的set方法来设置。

    可以说这个两个类是服务器与浏览器(客户端)通讯的关键。

    那么什么是cookie, 什么是session呢?

    众所周知,http协议是无状态的,但是现实中的很多需求要求我们保存http连接的状态,比如购物车。对此,有两种解决方案:

    1, 客户端,cookie。 cookie是一段文本字段。由健值对,过期时间,域名,路径名四部分组成。

    服务器段调用Cookie类新建一个cookie,然后调用response.addCookie(cookie)发送给客户端。

    客户端接收后把它保存下来,在有效时间有效路径内,以后每一次请求都加上cookie字段,这样服务器端就知道客户端以前的状态了。

    Cookie类有一系列的方法来设置cookie信息。获取Cookie时调用request.getCookies()即可。

    2, 服务器端,session. session也是一段文本字段。保存在服务器端。服务器每次调用request.getSession(True)时(访问jsp也会自动创建session),创建session, 并自动创建一个sessionId来标识客户端。

    这个sessionId并不需要我们手动发送给客户端, 服务器端会自动发送(一般通过cookie发送)。Java处理session主要靠HttpSession类。

    我们可以通过它给session设置各种属性,来保存客户端信息。而客户端只需要一个保存sessionId即可,其他信息都保存在服务器端。

    客户端每次请求时把sessionId带上,这样一个无状态的http连接,就变成有状态的了。

    session会在到达有效时间时失效,我们也可手动调用invalidate() 方法来让它失效。

  • 相关阅读:
    Python for i 循环
    Python 输入分数并评
    用户名和密码的输入
    cocos2d-x 3.0学习
    VS2008 ShotKey
    Cocos2d-x 3.0的安装方法
    VFC
    一、在WIN7 64位系统平台,VS2013环境下安装WTL90_4090_RC1(2014-04-01)
    http://www.vcf-online.org/
    Win7 64位 VS2012 安装 Qt5
  • 原文地址:https://www.cnblogs.com/zqiguoshang/p/7142156.html
Copyright © 2011-2022 走看看