首页 > 代码库 > Servlets & JSP

Servlets & JSP

首先,吐槽一下自己,老记错servlets的单词拼写~~~

在读head first Servlets &JSP,深刻感受到head first 的魅力(多图,一页少字,这就是head first)..

1.Web服务器为你做了些什么?
   web浏览器----(用户的请求包含用户所找资源的名字和地址URL)--->请求
-> 服务器通常有很多可以发给客户的"内容"--->服务器通常 有很多可以发给客户的内容,这些内容可能是
web页面,Jpeg图片和其他资源
-->响应
->服务器的相应包含客户请求的具体文档(或者无法物理的文档----->
->给客户

2.WEb客户做些什么?
用户->在浏览器上点击了一个链接->浏览器对请求格式化,并把它发送给服务器->服务器找到了请求的页面(HTML什么的)->服务器
->服务器格式化响应,并将其发送给客户(浏览器)->浏览器得到HTML,显示给用户
->用户

HTML告诉浏览器怎么向用户显示内容,
HTTP是Web上客户和服务器之间的通信协议
服务器使用HTTP向客户发送HTML


HTML速成指南(这让我想起了速成的方法,经典的方法,学以致用->用小案例(例子)来学知识,挖一下细节-->用到综合案例去---->运用到一个项目里去
(例如数据库表 学了,该怎么用呢?看开源项目->成长最快)
只关注必要学的比分
(其他的看书) <!-- -->注释 <a>超链接

3.什么是HTTP协议?
HTTP是一个网络协议,有一些WEB特定的特性,不过他要依赖于TCP/IP从一处向另一处完整地传送请求和响应.HTTP绘画的结构是一个简单的请求/响应序列;
  浏览器发出请求,服务器作出响应->HTTP绘画的结构是一个简单的请求/响应序列

HTML是HTTP相应的一部分
HTML首部信息 浏览器找到开始的<html>标记,从这里进入HTML呈现模式,向用户显示页面,当浏览器发现一个图片标记时会生成另一个HTTP请求,得到标记所描述的资源,在这里,浏览器
全会做第二个HTTP请求来得到<img>标记中引用的图片

请求呢?
  最常用的GET和POST方法
  GET->用户点击向一个页面的连接->浏览器->浏览器向服务器发送一个HTTP GET,请求服务器获得(GET)页面-->服务器
  (最简单的方法)

  POST->用户填写"表单"点击Submit按钮->浏览器向服务器发送一个HTTP poSt,向服务器提供用户在表单中键入的信息->服务器

多用POST而不要用GET
  GET中的总字符数是有限的(取决于服务器).不如用户在搜索输入了很长一段文字,GET方法可能无法正常工作
  GET发送的数据会追加到URL的后面,在浏览器地址栏中显示出来,所以你发送的数据会完全暴露,不要把口令或其他命案数据座位GET请求的一部分发送
  如果你使用POST而不是GET,用户就不能对一个表单提交建立书签,取决于具体的应用,你可能希望用户带队表单提交所得到的请求建立书签
    PS什么是书签? 
    PS:小知识,?将路径和参数(额外的数据)分隔开.随GET发送的数据量是有限的,而且所有数据都会暴露在浏览器地址栏里,每个人都能看到,这两部分家在一起
      整个串才是随请求发送的URL

HTTP GET请求剖析
  例子 GET /select/selectBeerTaste.jsp?color=drak&taste=malty HTTP/1.1
  请求行 web服务器上资源的路径(?前面) 在GET请求中,参数(如果有),会追加到请求URL第一部分的后面,以?开头.各参数之间用&隔开
解析:
嘿服务器,给我拿GET一下这个主机上的一个页面,地址是/select/selectBeerTaste.jsp哦对了,这有一些给你的参数:color = drak &taste = malty.还有,快一点
好的,我会去拿那个页面,也谢谢你提供的参数,但是,快一点不是HTTP协议要求的

HTTP POST请求剖析
  HTTP POST请求设计为:浏览器可以用它向服务器做复杂的请求.例如,如果用户刚完成了一个很长的表单,应用可能向把表单的所有数据都增加到一个数据库中.发
    给服务器的数据为消息体或复杂,这个消息体可以非常大
 POST /advisor/selectBeerTaste.do HTTP/1.1
 请求首部
  color = drak&taste =malty; //这是消息体,有时候也称为有效负载
 这一次,参数放在体中,所以长度不像以前那样受到限制,而GET方法必须把参数放在请求行上

嘿,服务器...亲把这个请求提交(POST)到下面的资源,地址是/advisor/seletBeerTaste.do不要忘了看看消息体,里面有我发送的一些重要数据
    好的,我会去找那个资源的,等我找到了,我会把你在请求体里发送的数据提供他

HTTP相应剖析,到底什么是MIME类型?
  服务器返回的相应里有什么?HTTP响应包括了一个首部和一个体->首部信息告诉浏览器使用了什么协议,请求是否成功,以及体中的内容是什么类型.
 体包含了要让浏览器显示的具体内容
  HTTP/1.1 200 OK Web服务器正在使用的协议的版本, 相应的HTTP状态吗,状态吗的文本版本