JavaEE Servlet Base (1)
来源:互联网 发布:2017广告主投放数据 编辑:程序博客网 时间:2024/04/29 03:35
Java EE Servlet Base(1)
http协议
什么是http协议###
- 超文本传输协议
- 基于请求和响应的模式. 先有请求,后有响应.
- 当客户端连接上web服务器后,若想获得web服务器中的某个web资源,必须遵守某一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式
请求
上文提到了,http是基于请求和响应的模式,必须先有请求,web服务器才能予以响应.对于深入探讨http,不再此博客中进行介绍,以下是对请求和响应的大致介绍.
请求行
请求方式POST,GET,HEAD,OPTIONS,DELETE,TRACE,PUT,CONNECT
在java开发中,通常使用POST和GET两种请求行.
get把参数显示在地址栏上,安全级别低,不支持大量数据的传输。
post把参数封装请求体中,安全级别高,支持大量数据的传输.请求头
Host: ss1.bdstatic.comUser-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Gecko/20100101 Firefox/51.0Accept: */*Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3Accept-Encoding: gzip, deflate, brReferer:https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=csdn&oq=csdn&rsv_pq=d424b3f4000b79ad&rsv_t=5574WQrqirpBGkNbMTelo5PFLCAwTe%2FY8Pc1yDlKBh3HpNTrQQD07uN%2BeEg&rqlang=cn&rsv_enter=1&inputT=378&rsv_sug3=8&rsv_sug1=3&rsv_sug7=100&rsv_sug2=0&rsv_sug4=768&rsv_sug=1Connection: keep-aliveIf-Modified-Since: Thu, 02 Mar 2017 07:54:29 GMTIf-None-Match: "3c6d8-549babd1b9740"Cache-Control: max-age=0
重要的头
If-Modified-Since //必须和响应头信息一起来完成控制本地的缓存.Referer //当前的网页的来源。(防止盗链)User-Agent //判断浏览器的版本(文件下载的时候)
响应
响应行
状态码
200 :请求处理成功 302 :请求重定向 304 :服务器端资源没有改动,通知客户端查找本地缓存(cookie或者其他) 404 :客户端访问资源不存在 500 :服务器内部出错
响应头
重要的头Location 和302一起完成重定向。Last-Modified 和请求头If-Modified-Since一起控制缓存。和状态码304Refresh 完成页面的定时跳转Content-Disposition 设置文件是以附件打开Expires: -1 Cache-Control: no-cache Pragma: no-cache 禁用缓存(网银系统)
重定向和转发的区别
重定向和转发的区别
Servlet
什么是Servlet
在oracle提供的官方文档中,对servlet是这么解释的:
servlet是用于扩展服务器功能的java编程语言类,通过请求-响应编程模型访问的主机应用程序.通过servlet可以响应任何请求.它一般被用于扩展web服务的程序
对于servlet的使用,下面进行简要的介绍:
javax.servlet和javax.servlet.http包为写servlet程序提供了接口和类.所有servlet必须实现Servlet接口所定义的生命周期方法.当实现一个一般服务,你可以使用或者扩展GenericServlet类所提供的API.HttpServlet提供方法,比如doGet和doPost来处理特殊的http服务.
Servlet的生命周期
在Servlet接口中定一个5个方法:
/*Servlet接口定义了servlet的初始化,服务的请求,和销毁servlet方法,这些被称为生命周期方法,并按照以下顺序调用:1.servlet被构造,则调用init方法来进行初始化2.任何从客户端过来的请求,将调用servie方法来进行处理3.servlet被销毁的时候,将调用destory方法,然后进行垃圾回收*/void destory();//由servlet容器调用,用以向Servlet指明servlet停止服务.ServletConfig getServletConfig();//返回一个ServletConfig对象,包含这个servlet的初始化和启动参数.String getServletInfo();//返回servlet的信息,比如作者,版本和版权void service(ServletRequest req, ServletResponse res);//由servlet容器调用以允许servlet响应请求。
你可以通过定一个listener来监视servlet生命周期的事件方法在何时被调用.
实际开发中,使用Servlet肯定不会直接实现javax.servlet.Servlet接口,具体从哪个类继承,以及编码,下篇文章中会讲.
0 0
- JavaEE Servlet Base (1)
- javaEE servlet
- JavaEE----------Servlet
- JavaEE-Servlet
- javaee(servlet)
- JavaEE Servlet Session详解
- javaEE servlet-01
- javaEE servlet-02
- javaEE servlet入门
- javaEE servlet学习
- 【JavaEE】servlet生命周期讨论
- JavaEE中的Servlet
- JavaEE---Servlet入门
- JavaEE--缺省的Servlet
- 【JavaEE】servlet技术
- JavaEE学习03--Servlet
- JavaEE-Servlet基础
- javaEE之servlet总结
- bzoj1806[ioi2007]Miners 矿工配餐
- Win10下U盘安装Ubuntu16.4-->双系统
- 数据库基础(面试常见题)笔试面试题
- 关于AJAX和JSONP的跨域问题和原理
- 文章标题
- JavaEE Servlet Base (1)
- k8s swap
- Linux shell 变量 数学 运算
- opencv 出现错误
- JDK8 源码之ArrayList
- UNIX下的5种I/O模型(重温)
- 面向对象C++入门-EasyX绘图库
- C/C++知识回顾 指针
- elasticsearch源码分析之discovery(七)