• 微信公众号:美女很有趣。 工作之余,放松一下,关注即送10G+美女照片!

JavaWeb学习–day1–web概述、tomcat、http

开发技术 开发技术 3小时前 3次浏览

JavaWeb

1. 基本概念

1.1 前言

web就是一个网页。

  1. 静态web
    • html,css
    • 提供给所有人的数据始终不会发生变化
  2. 动态web
    • 几乎所有网站都是动态web
    • 不同的人在不同时间地点所看到的信息都不同
    • Servlet、JSP等

1.2 web应用程序

web程序:就是提供一个让浏览器可以访问的程序

web程序编写完毕后,若想提供给外界访问,则需要一个服务器来统一管理

1.3 静态web

  • *htm文件和 *html文件

客户端向服务器发送请求Request,服务器的web service 做响应Response

  • 缺点
    • web页面无法动态更新
      • 轮播图
      • js
    • 无法和数据库交互(数据无法持久化,用户无法交互)

1.4 动态web

动态web资源交给 jsp/servlet处理,页面会动态展示,展示效果因人而异

  • 优点

    • 可以与数据库交互
    • 可以动态更新
  • 缺点

    • 加入服务器的动态web一旦发生错误,就需要重新编写后台程序,需要停机维护

2 .web服务器

2.1 常见web服务器

  • IIS

    • 微软;ASP;Windows自带
  • Tomcat

    Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。

    诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为10.0.5

3. Tomcat

Tomcat 官网

3.1 tomcat启动和关闭

遇到的问题:

  • 安装tomcat后,点开tomcat/bin目录下的start.bat 以后 ,bat窗口一闪而过, 也无法访问

localhost:8080

解决方案:

  • 一闪而过的原因是tomcat启动文件中没有设置jdk路径。
  • 编辑start.bat,在启动文件中添加set “JAVA_HOME=D:Program FilesJavajdk-8” ,其中JAVA_HOME就是jdk的路径
  • 编辑shutdown.bat,进行同样的操作

3.2 配置

在conf/server.xml文件中:

  • 可以配置启动的端口号

    <Connector port="8080" protocol="HTTP/1.1"
                   connectionTimeout="20000"
                   redirectPort="8443" />
    
    • tomcat默认端口号为:8080

    • mysql:3306

    • http:80

    • https:443

  • 可以配置主机名称

    • 默认主机名为:localhost
    • 默认网站应用的存放位置为:webapps
<Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

思考:如何访问一个网站?

本机中存在host配置文件,目录为C:WindowsSystem32driversetchosts

  1. 在浏览器中输入域名
  2. 检查本机的hosts配置文件下有没有这个域名映射
    1. 有:直接返回对应的ip地址
    2. 没有:去DNS服务器寻找
  3. 去DNS服务器中寻找,找到就返回,找不到就返回找不到。

3.3 发布一个web网站

  • 在webapps下复制一份root文件夹,删除掉除了WEB_INF以外的所有文件
  • 并新创建一个index.html文件
  • 访问localhost:8080/文件夹名, 即可访问

webapps目录结构

-- webapps
	--ROOT
	--lujintao  :网站的目录名
		--WEB-INF
			--classes :java 程序
			--web.xml
		--index.html  : 默认首页
    	--static
    		--css
    			--style.css
    		--js
    		--img
   		-- ...

4.http

4.1 概念

http(超文本传输协议)是一个简单的请求-响应协议,通常运行于TCP之上。

  • 文本:html、字符串等
  • 超文本:图片、音乐、视频、定位等
  • 默认端口:80

https:安全

  • 443

4.2 http1.0和http2.0

  • http1.0
    • 客户端与web服务器连接后,只能获得一个web资源就要断开连接
  • http2.0
    • 客户端与web服务器连接后,可以获得多个web资源才断开连接

4.3 http请求

  • 客户端 —- > 发送请求 —- >服务器

以百度为例,在浏览器中查看网络:

Headers:
General:
	请求 URL: https://www.baidu.com/    	     	 Request URL 
	请求方法: GET						    		Status Method:get方法或post方法
	状态代码: 200 									Status Mode
	远程地址: 36.152.44.95:443						Remote Address
	引用站点策略: strict-origin-when-cross-origin    Referer Policy
Accept: text/html
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
Cache-Control: max-age=0
Connection: keep-alive

1.请求行

  • 请求行中的请求方式:get/post
    • GET:请求能够携带的参数比较少,大小有限制,会在浏览器的url地址栏显示数据内容,不安全,但高效
    • POST:请求能够携带的参数无限制,大小无限制,不会在浏览器的url地址栏显示数据内容,安全,但不高效

2.消息头

Accept: text/html : 告诉浏览器所支持的数据类型
Accept-Encoding: gzip, deflate, br : 支持的编码格式
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 : 支持的语言
Cache-Control: max-age=0 : 缓存的控制
Connection: keep-alive : 告诉浏览器请求完成后是断开还是保持连接

4.4 http响应

  • 客户端 <—- 返回响应 <—- 服务器

以百度为例:

Cache-Control: private					缓存控制
Connection: keep-alive					连接
Content-Encoding: gzip					编码
Content-Type: text/html;charset=utf-8	类型

1.响应体

Accept: text/html : 告诉浏览器所支持的数据类型
Accept-Encoding: gzip, deflate, br : 支持的编码格式
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6 : 支持的语言
Cache-Control: max-age=0 : 缓存的控制
Connection: keep-alive : 告诉浏览器请求完成后是断开还是保持连接
Reflush:                 设定多久刷新一次
Location                 网页重定位

2.响应状态码

200:请求响应成功

3**:请求重定向

4**:Not Found

5**:服务器代码错误

  • 502 :网关错误

程序员灯塔
转载请注明原文链接:JavaWeb学习–day1–web概述、tomcat、http
喜欢 (0)