本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用.

转载请注明 出自 : luogg的博客园 谢谢配合!

JavaWeb_day01

HTTP协议

HTTP(HyperText Transfer Protocol)超文本传输协议,是TCP/IP的应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的过程以及数据本身的格式.

Http协议版本号 : HTTP/1.0 HTTP/1.1

交互步骤 : 基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程,建立连接、发送请求信息、发送响应信息、关闭连接。

HTTP/1.1新特性 :

  1. 在一次TCP/IP连接上可以传送多个HTTP请求和响应。
  2. 多个请求和响应过程可以重叠
  3. 增加了更多的请求头和响应头,比如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生命周期

  1. 诞生:用户第一次访问时,由容器创建他的实例。
  2. 活着:一旦创建就驻留内存(单例)。每次用户的访问,容器都会调用sevice方法发出响应(多线程)
  3. 死亡:应用被卸载或者Tomcat关闭了

JavaWeb_day01_HTTP_Servlet的更多相关文章

随机推荐

  1. 漫谈C#编程语言在游戏领域的应用

    0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球.而在游戏行业中,C#也开始慢慢地获得了关注.这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前后端统一C#开发,跨平台 ...

  2. fir.im Weekly - 关于 iOS10 适配、开发、推送的一切

    "小程序"来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起.程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资 ...

  3. 通过微信小程序看前端

    前言 2016年9月22日凌晨,微信官方通过“微信公开课”公众号发布了关于微信小程序(微信应用号)的内测通知.整个朋友圈瞬间便像炸开了锅似的,各种揣测.介绍性文章在一夜里诞生.而真正收到内测邀请的公众 ...

  4. Nexus(一)环境搭建

    昨天,成功搭建了自己的 Maven 环境(详见:Maven(一)环境搭建),今天就来研究和探讨下 Nexus 的搭建! 使用背景: 安装环境:Windows 10 -64位 JDK版本:1.7 Mav ...

  5. arcgis api for js入门开发系列八聚合效果(含源代码)

    上一篇实现了demo的图层控制模块,本篇新增聚合效果,截图如下(源代码见文章底部): 聚合效果实现的思路如下: 1.map.html引用聚合包,项目已经包含进来了的聚合文件夹: <script ...

  6. BPM助力企业数字化转型

    自九十年代末,流程管理开始引入国内,至今已经有20多年的历史了,由最初的部门级应用向企业级应用转变,大家的认知也经历了一系列的发展变化.不同阶段的信息化水平对企业的流程以及BPM平台也提出了不同的需求 ...

  7. 打破陈规抓痛点,H3 BPM10.0挑战不可能

    高效益意味着相似的运营活动比竞争对手做得更好,而战略定位则意味着企业在运营活动中有区别于竞争对手的实施方式,即差异化竞争.在新经济体下,面对社会的变革.市场的竞争环境.不断攀升的成本压力,几乎没有企业 ...

  8. join Linq

    List<Publisher> Publishers = new List<Publisher>(); Publisher publish1 = new Publisher() ...

  9. sql server 取文件名函数 转载

    /****** Object: UserDefinedFunction [dbo].[GetDirectoryPath] Script Date: 2016-12-16 16:54:05 ****** ...

  10. [django]数据导出excel升级强化版(很强大!)

    不多说了,原理采用xlwt导出excel文件,所谓的强化版指的是实现在网页上选择一定条件导出对应的数据 之前我的博文出过这类文章,但只是实现导出数据,这次左思右想,再加上网上的搜索,终于找出方法实现条 ...