JavaWeb必需掌握的知识点(最全 精美版)

2021-01-26 15:53:13 浏览数 (1)

1. HTTP协议简介

超文本传输协议(英文:HyperText Transfer Protocol,缩写:HTTP)是一种用于分布式、协作式和超媒体信息 系统的应用层协议。 HTTP 是万维网的数据通信的基础。

2.HTTP 请求/响应的步骤

2.1 客户端连接到 Web 服务器 一个 HTTP 客户端,通常是浏览器,与 Web 服务器的 HTTP 端口(默认为 80 )建立一个 TCP 套接字连接。 例如 : http://www.baidu.com 。 2.2 发送 HTTP 请求 通过 TCP 套接字,客户端向 Web 服务器发送一个文本的请求报文,一个请求报文由请求行、请求头部、空行和请求 数据 4 部分组成。 2.3 服务器接受请求并返回 HTTP 响应 Web 服务器解析请求,定位请求资源。服务器将资源复本写到 TCP 套接字,由客户端读取。一个响应由状态行、响 应头部、空行和响应数据 4 部分组成。 2.4 释放 TCP 连接 在 HTTP/1.0 中默认使用短连接。也就是说,客户端和服务器每进行一次 HTTP 操作,就建立一次连接,任务结束就 中断连接。当客户端浏览器访问的某个 HTML 或其他类型的 Web 页中包含有其他的 Web 资源(如 JavaScript 文件、 图像文件、 CSS 文件等),每遇到这样一个 Web 资源,浏览器就会重新建立一个 HTTP 会话。 而从 HTTP/1.1 起,默认使用长连接,用以保持连接特性。使用长连接的 HTTP 协议,会在响应头加入这行代码: Connection:keep-alive 在使用长连接的情况下,当一个网页打开完成后,客户端和服务器之间用于传输 HTTP 数据的 TCP 连接不会关闭,客 户端再次访问这个服务器时,会继续使用这一条已经建立的连接。 Keep-Alive 不会永久保持连接,它有一个保持时 间,可以在不同的服务器软件(如 Apache )中设定这个时间。实现长连接需要客户端和服务端都支持长连接。 HTTP 协议的长连接和短连接,实质上是 TCP 协议的长连接和短连接。 2.5 客户端浏览器解析 HTML 内容 客户端浏览器首先解析状态行,查看表明请求是否成功的状态代码。然后解析每一个响应头,响应头告知以下为若 干字节的 HTML 文档和文档的字符集。客户端浏览器读取响应数据 HTML ,根据 HTML 的语法对其进行格式化,并在 浏览器窗口中显示。 例如:在浏览器地址栏键入 URL ,按下回车之后会经历以下流程: 1. 浏览器向 DNS 服务器请求解析该 URL 中的域名所对应的 IP 地址 ; 2. 解析出 IP 地址后,根据该 IP 地址和默认端口 80 ,和服务器建立 TCP 连接 ; 3. 浏览器发出读取文件 (URL 中域名后面部分对应的文件 ) 的 HTTP 请求,该请求报文作为 TCP 三次握手的第三个 报文的数据发送给服务器 ; 4. 服务器对浏览器请求作出响应,并把对应的 html 文本发送给浏览器 ; 5. 浏览器将该 html 文本并显示内容 ;

3.HTTP请求方法

4 两种开发模型:

⑴C/S又称Client/Server或客户/服务器模式。 服务器通常采用高性能的PC、工作站或小型机,客户端需要安装专 用的客户端软件。如QQ,微信等软件 (2)B/S Brower/Server 的缩写 , 客户机上只要安装一个浏览器(Browser )。 Browser/Server 是建立在广域网的基 础上的.


CS优点 1. 交互性强 2. 存取模式安全 3. 网络通信量低 4. 响应速度快 5. 利于处理大量数据 CS缺点: ● 需要专门的客户端安装程序,分布功能弱, ●兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。 ●开发、维护成本较高,发生一次升级,则所有客户端的程序都需要改变。。 ●用户群固定。由于程序需要安装才可使用,因此不适合面向一些不可知的用户.


(2) BS的优点、特点 1. 分布性强 2. 维护方便 3. 开发简单且共享性强 4. 成本低 BS缺点: ●个性化特点明显降低,无法实现具有个性化的功能要求。 ●在跨浏览器上,BS架构不尽如人意。 ●通常动态刷新页面,响应速度明显降低

5. Web服务器的分类

Web服务器是运行及发布Web应用的容器,只有将开发的Web项目放置到该容器中,才能使网络中的所有用户通过 浏览器进行访问。 开发 Java Web 应用所采用的服务器主要是与 JSP/Servlet 兼容的 Web 服务器, 比较常用的有 -----Tomcat、Resin、JBoss、WebSphere 和 WebLogic 等 Tomcat 服务器 目前最为流行的 Tomcat 服务器是 Apache-Jarkarta 开源项目中的一个子项目,是一个小型、轻量级的支持 JSP 和 Servlet 技术的 Web 服务器,也是初学者学习开发JSP应用的首选

6. Tomcat

tomcat的目录 1 、 bin :该目录下存放的是二进制可执行文件,如果是安装版,那么这个目录下会有两个 exe 文件: tomcat9.exe 、 tomcat9w.exe ,前者是在控制台下启动 Tomcat ,后者是弹出 UGI 窗口启动 Tomcat ;如果是解压 版,那么会有 startup.bat 和 shutdown.bat 文件, startup.bat 用来启动 Tomcat ,但需要 JDK 的配置, shutdown.bat 用来停止 Tomcat ; 2 、 conf :这是一个 非常非常重要 的目录,这个目录下有四个最为重要的文件: server.xml:配置整个服务器信息。例如修改端口号,添加虚拟主机等; tomcat-users.xml:存储tomcat用户的文件,这里保存的是tomcat的用户名及密码,以及用户的角色信息。可以 按着该文件中的注释信息添加tomcat用户,然后就可以在Tomcat主页中进入Tomcat Manager页面了; web.xml :部署描述符文件,这个文件中注册了很多 MIME 类型,即文档类型。这些 MIME 类型是客户端与服务器之 间说明文档类型的,如用户请求一个 html 网页,那么服务器还会告诉客户端浏览器响应的文档是 text/html 类型 的,这就是一个 MIME 类型。客户端浏览器通过这个 MIME 类型就知道如何处理它了。当然是在浏览器中显示这个 html 文件了。但如果服务器响应的是一个 exe 文件,那么浏览器就不可能显示它,而是应该弹出下载窗口才对。 MIME 就是用来说明文档的内容是什么类型的! context.xml :对所有应用的统一配置,通常我们不会去配置它。 3 、 lib : Tomcat 的类库,里面是一大堆 jar 文件。如果需要添加 Tomcat 依赖的 jar 文件,可以把它放到这个目录中, 当然也可以把应用依赖的 jar 文件放到这个目录中,这个目录中的 jar 所有项目都可以共享之,但这样你的应用放到 其他 Tomcat 下时就不能再共享这个目录下的 Jar 包了,所以建议只把 Tomcat 需要的 Jar 包放到这个目录下; 4 、 logs :这个目录中都是日志文件,记录了 Tomcat 启动和关闭的信息,如果启动 Tomcat 时有错误,那么异常也会 记录在日志文件中。 5 、 temp :存放 Tomcat 的临时文件,这个目录下的东西可以在停止 Tomcat 后删除! 6 、 webapps :存放 web 项目的目录, 其中每个文件夹都是一个项目 ;如果这个目录下已经存在了目录,那么都是 tomcat 自带的项目。其中 ROOT 是一个特殊的项目,在地址栏中没有给出项目目录时,对应的就是 ROOT 项目。 http://localhost:8080/examples ,进入示例项目。其中 examples 就是项目名,即文件夹的名字。 7 、 work :运行时生成的文件,最终运行的文件都在这里。通过 webapps 中的项目生成的!可以把这个目录下的内 容删除再次运行时会生再次生成 work 目录。当客户端用户访问一个 JSP 文件时, Tomcat 会通过 JSP 生成 Java 文 件,然后再编译 Java文件生成class文件,生成的java和class文件都会存放到这个目录下。 8 、 LICENSE :许可证。 9 、 NOTICE :说明文件。

7 IDEA创建web项目

首先选择 JavaEE ->勾选上 web 新建两个文件夹

classes用来设置编译完存放的字节码文件, li'b是项目用到的库 配置的话在

classes的

lib的

选中你的 lib目录就好了,然后选择jar包的那个

8.修改端口号

修改配置文件:/conf/server.xml

9.tomcat如何管理项目

给tomcat增加管理员信息: 1 配置 conf/tomcat-users.xml <tomcat-users> <role rolename="manager-gui"/> <user username="tomcat" password="tomcat" roles="manager-gui"/> </tomcat-users> 2 在终端运行 Tomcat 2 然后登陆默认的首页,点击Manager APP

登陆进去就可以停止 服务了

如果写的不对地方欢迎指正,谢谢了 能点个赞吗 ,么么哒

---------------------------------------------------------------------

0 人点赞