JavaEE知识整理(一)(Http协议和Tomcat服务器)

Http协议和Tomcat服务器

1 Http协议

1.1 Http协议的概念

HTTP,超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。

  • 传输协议:定义了客户端和服务器端通信时发送数据的格式

  • 特点:

    1. 基于TCP/IP的高级协议
    2. 默认端口号:80
    3. 基于请求/响应模型的:一次请求对应一次响应
    4. 无状态的:每次请求之间相互独立,不能交互数据
  • 历史版本

    • 1.0:每一次请求相应都会建立新的连接
    • 1.1:复用连接

1.2 HTTP协议的组成

Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时,你的浏览器会将你的请求封装成一个Http请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成一个Http响应返回服务器。即没有请求就没有响应。

1.3HTTP请求

在这里插入图片描述

  • 请求行:GET /DemoEE/form.html
    请求方式:HTTP协议有7中请求方式,常用的有2种
    • GET(直接访问,超链接,表单中的method=get等)
      1. 请求参数在请求行中,在url后
      2. 请求的url长度有限制的
      3. 不太安全
    • POST(只有在form表单method=post时候)
      1. 请求参数在请求体中
      2. 请求的url长度没有限制的
      3. 相对安全

其他请求方式: PUT DELETE

请求的资源:/DemoEE/form.html

请求协议/版本:HTTP1.1: 协议和版本

/day02_war_exploded/index.html: 资源地址URI

  • 请求头
    请求头是客户端发送给服务器端的一些信息,使用键值对表示key:value
    在这里插入图片描述
    在这里插入图片描述

  • 请求体
    当请求方式是post的时,封装POST请求消息的请求参数的,格式如下:

username=zhangsan&password=123

如果请求方式为get,那么请求参数不会出现在请求体中,会拼接在url后面:
http://localhost:8080…?username=zhangsan&password=123

1.4 Http响应

在这里插入图片描述

  • 响应行
    Http协议:
    状态码:常用的状态码如下:

    • 200:请求成功
    • 302:请求重定向
    • 304:请求资源没有改变,访问本地缓存。
    • 404:请求资源不存在。通常是用户路径编写错误,也可能是服务器资源已删除。
    • 500:服务器内部错误。通常程序抛异常。

    状态信息:状态信息是根据状态码变化而变化的。

  • 响应头
    响应也都是键值对形式,服务器端将信息以键值对的形式返回给客户端。
    在这里插入图片描述

  • 响应体
    响应体是服务器写给客户端的页面正文,浏览器将正文加载到内存,然后解析渲染显示页面内容。

2 Tomcat服务器

2.1Web开发中的常见概念

2.1.1B/S系统和C/S系统

  • Brower/Server:浏览器./服务器 系统----网站
  • Client/Server:客户端/服务器 系统-----QQ、大型游戏

2.1.2Web应用服务器

供向外部发布web资源的服务器软件

2.1.3 web资源

存在于web应⽤服务器可供外界访问的资源就是web资源。

例如:存在于web应⽤服务器内部的Html、CSS、JS、图⽚、视频等。

  1. 静态资源:指web⻚⾯中供⼈们浏览的数据始终是不变。⽐如:HTML、CSS、JS、图⽚、多
    媒体。

  2. 动态资源:指web⻚⾯中供⼈们浏览的数据是由程序产⽣的,不同时间点访问web⻚⾯看到
    的内容各不相同。

    ⽐如:JSP/Servlet、ASP、PHP

javaWEB领域:动态资源认为通过java代码去动态⽣成html。

2.1.4请求和响应

在这里插入图片描述

2.1.5请求的URL地址

在这里插入图片描述

2.2 Web开发中常⽤的web应⽤服务器

  • WebLogic:oracle公司的⼤型收费web服务器,⽀持全部JavaEE规范。
  • WebSphere:IBM公司的⼤型收费web服务器,⽀持全部的JavaEE规范。
  • Tomcat:Apache开源组织下的开源免费的中⼩型的web应⽤服务器,⽀持JavaEE中的Servlet 和 JSP规范。

3.3 Tomcat的⽬录结构

  • bin:脚本⽬录
    • 启动脚本:startup.bat
    • 停⽌脚本:shutdown.bat
  • conf:配置⽂件⽬录 (config /configuration)
    • 核⼼配置⽂件:server.xml
    • ⽤户权限配置⽂件:tomcat-users.xml
    • 所有web项⽬默认配置⽂件:web.xml
  • lib:依赖库,tomcat和web项⽬中需要使⽤的jar包
  • logs:⽇志⽂件
    • localhost_access_log..txt tomcat 记录⽤户访问信息,星表示时间。
    • 例如:localhost_access_log.2016-02-28.txt
  • temp:临时⽂件⽬录,⽂件夹内内容可以任意删除。
  • webapps:默认情况下发布WEB项⽬所存放的⽬录。
  • work:tomcat处理JSP的⼯作⽬录。3 Tomcat的⽬录结构

3.4 Tomcat启动不成功的原因分析

  • 如果没有配置 JAVA_HOME 环境变量,在双击 startup.bat ⽂件运⾏ tomcat 时,将⼀闪⽴即关闭。且必须配置正确,及 JAVA_HOME 指向JDK的安装⽬录
  • 端⼝冲突
java.net.BindException: Address already in use: JVM_Bind <null>:8080
  1. 暴力:找到占用的端口号,并且找到对应的进程,杀死该进程
    # windows系统
     netstat -ano
     # Linux系统
     sudo lsof -i :端⼝
     sudo kill 端⼝
    
  2. 温柔修改自身的端口号
    conf/server.xml
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8445" />
<!-- ⼀般会将tomcat的默认端⼝号修改为8080端⼝号是http协议的默认端⼝
号。-->
<!-- 好处:在访问时,就不⽤输⼊端⼝号 -->

3.5Web应用的目录结构

在这里插入图片描述

4 项⽬部署

部署项⽬的⽅式:

  1. 直接将项⽬放到 webapps ⽬录下即可。
    • hello:项⽬的访问路径 → 虚拟⽬录
    • 简化部署:将项⽬打成⼀个war包,再将war包放置到webapps⽬录下
    • war包会⾃动解压缩
  2. 配置 conf/server.xml ⽂件
    在 标签体中配置
    • docBase:项⽬存放的路径
    • path:虚拟⽬录
  3. 在 conf\Catalina\localhost 创建任意名称的xml⽂件。
    • 在⽂件中编写
    • 虚拟⽬录:xml⽂件的名称

5 WEB应用和JavaWeb工程的关系

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值