JavaWeb_day01_HTTP_Servlet
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.
转载请注明 出自 : luogg的博客园 谢谢配合!
JavaWeb_day01
HTTP协议
HTTP(HyperText Transfer Protocol)超文本传输协议,是TCP/IP的应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式.
Http协议版本号 : HTTP/1.0 HTTP/1.1
交互步骤 : 基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。
HTTP/1.1新特性 :
- 在一次TCP/IP连接上可以传送多个HTTP请求和响应。
- 多个请求和响应过程可以重叠
- 增加了更多的请求头和响应头,比如Host等
HTTP请求组成:
HTTP响应
HTTP->post和get请求方式详解
- get把参数显示在地址栏上,安全级别低,不支持大数据。
- post把参数封装请求体中,安全级别高,支持大数据。
HTTP常用状态码
200(正常) : 表示一切正常,返回的是正常请求结果
302/307(临时重定向) : 指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。
304(未修改) : 表示客户机缓存的版本是最新的,客户机可以继续使用它,无需到服务器请求。
404(找不到) : 服务器上不存在客户机所请求的资源。
500(服务器内部错误) : 服务器端的程序发生错误
TomCat的配置
Tomcat:实现了JSP/Servlet规范,轻量级的服务器,Servlet容器。(雄猫)
1.解压tomcat
2.配置JAVA_HOME: 服务器需要,指向JDK的路径
3.修改端口号 : 在TomCat->conf->server.xml中修改,修改端口是为了防止端口冲突,修改为http默认端口80
4.eclipse配置tomcat->windows->preferences->搜索server
5.创建server视图
TomCat目录结构
URL(协议+主机:端口+资源地址)
- server 2.5版本练习
请求消息头:(做好笔记,记住常用的头)
作用:向服务器端传递附加信息(暗号指令)
- Accept:告知服务器,客户端可以接受的数据类型(MIME类型)
- 文件系统:通过文件的扩展名区分不同的文件的。txt jpeg
- MIME类型:大类型/小类型。
- txt--->text/plain
- html---->text/html
js---->text/javascript (具体对应关系:Tomcat\conf\web.xml)
- Accept-Encoding:告知服务器,客户端可以接受的压缩编码。比如gzip
- Accept-Language:告知服务器,客户端支持的语言。
Referer:告知服务器,从哪个页面过来的。
作用:统计广告的投放效果;防止盗链。
- Content-Type:告知服务器,请求正文的MIME类型
- 默认类型:application/x-www-form-urlencoded(表单enctype属性的默认取值)
- 具体体现:username=abc&password=123
- 其他类型:multipart/form-data(文件上传时用的)
- If-Modified-Since:告知服务器,当前访问的资源,缓存中的文件的最后修改时间。
- User-Agent:告知服务器,浏览器的类型
- Content-Length:请求正文的数据长度
- Cookie:(*****重要)会话管理有关
Servlet
Servlet是一个运行在服务器端的Java小程序,通过HTTP协议用于接收来自客户端请求,并发出响应。
Servlet中的方法
public void service(ServletRequest req,ServletResponse res)
throws ServletException,java.io.IOException
ServletRequest req:代表着请求对象,该对象中有HTTP协议的请求部分的所有内容。它的实现类由服务器提供的,封装数据也是服务器来做的。
ServletResponse res:代表着响应对象,该对象中由我们写数据(HTTP协议的响应部分)进去。它的实现类也是由服务器提供的。
service:由服务器调用,每次请求都会调用一次。服务器采用的是多线程机制。
Servlet执行过程
1.客户端访问Tomcat访问地址:http://localhost:8080/firstServlet/hello
2.Tomcat解析客户端的访问地址
3.Tomcat找firstServlet应用。
4.找之间先搜索web.xml
5.接着就找到自己的类。
6.执行service
7.给用户看到结果
Servlet生命周期
- 诞生:用户第一次访问时,由容器创建他的实例。
- 活着:一旦创建就驻留内存(单例)。每次用户的访问,容器都会调用sevice方法发出响应(多线程)
- 死亡:应用被卸载或者Tomcat关闭了
JavaWeb_day01_HTTP_Servlet的更多相关文章
随机推荐
- PHP好用但又容易忽略的小知识
1.PHP函数之判断函数是否存在 当我们创建了自定义函数,并且了解了可变函数的用法,为了确保程序调用的函数是存在的,经常会先使用function_exists判断一下函数是否存在.同样的method_ ...
- 浅谈JSP中include指令与include动作标识的区别
JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...
- 28个你必须知道的HTML5的新特性,技巧以及技术
崭新新的页面布局 传统的: HTML5: 1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<f ...
- CSS三个定位——常规、浮动、绝对定位
.dage { width: 868px; background: #5B8C75; border: 10px solid #A08C5A; margin-top: -125px; margin-le ...
- 电信计费业务:预后融合OCS到底应该实扣还是虚扣?
引入OCS的初衷之一是为了让计费系统能够参与到用户的通讯控制中来,也就是所谓的实时信控.用户在没有余额时,通讯就会被停止,不会造成"天价欠费 ",一方面保障用户的利益,一方面也保障 ...
- babel-loader-presets
babel-loader的presets的设置有一定的顺序.es2015必须出现在stage-0前面,我记得这是因为es2015是ES6的标准,state-0等是对ES7一些提案的支持, state- ...
- 解决Windows 8.1中所有的应用(Modern App)无法打开(闪退)的问题
我已经在3台电脑上遇到这个问题了,症状是,所有应用商店安装的App都无法打开,包括应用商店本身,在开始界面点击应用以后,应用的Logo一闪而过,然后就消失了,回到了开始界面.查看系统应用日志,会有这样 ...
- 使用 GCC 和 GNU Binutils 编写能在 x86 实模式运行的 16 位代码
不可否认,这次的标题有点长.之所以把标题写得这么详细,主要是为了搜索引擎能够准确地把确实需要了解 GCC 生成 16 位实模式代码方法的朋友带到我的博客.先说一下背景,编写能在 x86 实模式下运行的 ...
- DevExpress学习系列(控件篇):GridControl的基本应用
一般属性设置 不显示分组框:Gridview->Option View->Show Group Panel=false 单元格不可编辑:gridcontrol -->gridview ...
- 利用AOP写2PC框架(一)
并不是很想写这个系列,因为这个2pc单独写一个小架构有点鸡肋.不过也不知道写什么了,先写了再说吧. 整个流程如下图: 关于AOP系列的文章很多,我这里也再重复造一下轮子. 首先,我们定义了一个IAop ...