1 B/S
C/S 客户端服务器端应用程序。
比如:QQ,LOL等等 安装了客户端的应用程序都是C/S应用程序。
特点:一致保持连接。服务器端可以主动推送消息到客户端。
B/S 浏览器/服务器应用程序。
比如:选课系统,京东,淘宝等等。 不需要安装特殊的客户端, 只要有浏览器就可以使用。
特点:理论上服务器端是不能主动推送消息的,通信模式是 客户端发送请求,服务器端响应消息。所以说为什么要刷微博。为什么要刷??
B/S的应用是越来越广泛。
B/S的引用到底有什么好处?
C/S 模式:
客户端需要安装在客户机上。比如LOL就需要在客户机上安装客户端。如果出现了BUG或者出现新版本就需要更新客户端。这时就需要更新所有的客户端。
B/S 模式
B/S应用程序不需要在客户机安装专门的客户端,只需要一个浏览器即可。比如淘宝。如果出现了bug或者有新的活动等等,需要更新。 这时只需要更新服务器端的程序即可,因为浏览器中显示的数据每次都是从服务器获取的。所以服务器一旦更新,客户端就自然更新了。
2 HTTP协议
2.1什么是协议
合同或者协议都是为了多方达到共同的目的,而制定的多方同意的个方应该遵守的规定,提供的服务,享受权利等等的规定。
2.2什么是HTTP协议
HTTP协议就是规定HTTP请求响应过程中通信消息的规范。
什么是HTTP请求响应?
请求就是向服务器端发送消息,告诉服务器自己需要的资源(HTML,CSS,JS,图片等)。
响应就是服务根据客户端的请求响应给客户端对应的资源。
因为请求响应都遵循了HTTP协议,所以称之为HTTP请求和HTTP响应。
因为客户端和服务器都是计算机,所以需要规定好通信的消息格式和模式。这样计算机才能正确的解析对方的消息。
协议查看流程:
请求一个网站,按F12查看开发者工具
请求头消息:
请求行的格式 : GET /lessonjava HTTP/1.1
分为三个部分:
第一部分为请求方式:GET/POST 。
第二部分是请求的资源名称 /lessonjava。
第三部分是请求协议 HTTP/1.1
请求头消息的其余部分都是以key:value的形式组织的。主要是附带的其他的请求需要的配置/属性。
例如: Host: www.igeekhome.com 请求的主机名称
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36 请求的客户端的浏览器信息。
响应头消息
响应行中包含了响应状态,其中有状态码 200 表示响应正常。
其余的响应头消息都是其他的附属信息。也是以 key:value的形式组织的。
例如:
Date: Fri, 09 Nov 2018 01:33:35 GMT 响应的时间
Content-Type: text/html; charset=utf-8 响应的内容类型。
响应的实际内容会和响应头的最后一行隔开一行,在这里其实响应的就是HTML文件,已经显示在浏览器中。
3 tomcat服务器
3.1认识tomcat
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。
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最新版本为9.0。
3.2tomcat的下载和安装
下载tomcat8网址:https://tomcat.apache.org/download-80.cgi
Tomcat分为安装版和解压版。
这里我们使用解压版。
Tomcat需要java环境,必须有对应版本的java环境,tomcat才能正常的使用。
解压:
Tomcat就安装完成。
3.3tomcat的目录结构
\bin -- tomcat的一些命令和批处理。比如:startup启动tomcat。
\conf --tomcat的一些配置文件
context.xml配置tomcat的上下文路径。比如:tomcat连接池。
server.xml 服务器相关的配置。比如:端口号配置。
tomcat-users.xml tomcat用户的配置。当需要进入管理页面时,需要配置用户。
web.xml 是一个默认的web应用程序的配置
\lib --tomcat需要的jar文件
\logs --tomcat的运行日志。
\temp --tomcat运行过程中产生的临时文件
\webapps --tomcat要加载运行的应用程序
\work --应用中的JSP产生java文件存储目录。
3.4tomcat的启动和停止
使用批处理startup启动tomcat。
这里startup.bat实在windows下使用。Startup.sh是在linx下使用的。
双击批处理文件启动tomcat。
启动失败,进入\log查看日志:
Tomcat默认使用的端口是8080。由于我们的广播软件使用的也是8080所有我们的计算机上8080端口被占用。 所有修改端口为8888。
再次启动tomcat
访问tomcat首页:http://localhost:8888
Tomcat的访问地址:
http:// 固定的协议前缀
localhost 访问本机
:8888 访问的端口,其实就是tomcat服务监听的端口。
除过localhost之外还可以使用:
127.0.0.1 此IP地址指的是本机的地址。在网卡没有启用的情况下。此地址依然可以使用。
也可以使用本机的IP地址
访问互联网上的网页时使用其实就是IP地址,我们使用的网址会被一个叫做DNS的家伙反义成IP地址。 为什么上网的时候不需要输入端口,因为默认情况下我们互联网上的所有的web服务器使用的端口都是80。所有的浏览器或默认添加:80端口,所以我们上网时不需要写端口。
Tomcat停止:关闭命令窗口就停止了tomcat服务
停止tomcat的进程也可以停止tomcat。
3.5tomcat的端口修改
在\conf目录中打开文件server.xml
查看现在的端口
修改tomcat端口:
修改之后重启tomcat即可。
3.6在tomcat下部署项目
打开webapps目录
ROOT默认访问的根目录。我们现在访问的tomcat的首页就是存储在ROOT目录中的。
在ROOT目录外创建一个新的目录:igeek
在igeek中编写一个新的HTML网页
启动tomcat访问网页: http://localhost:8888/igeek/igeek.html
请求头消息:
添加一个完整的网页(HTML,css,js等)
请求:
我们只请求了demo/manager.html,浏览器同时帮我们请求了需要的资源:
3.7将tomcat配置到eclipse
使用eclipse的必须是EE版的,或者有javaEE的插件。
打开eclipse,在右上角切换视图:
切换到EE视图时,在下方有server视图:
如果没有,就自行打开:
在servers中配置tomcat
- 点击创建服务的连接
- 在弹出的界面中选择对应的服务器
- 点击next配置tomcat的位置
选择到tomcat bin目录的上一层目录
- 选择java的运行环境
这是默认环境:
我们是java开发人员,所以我们的计算机肯定安装了jdk,所以我们可以直接选择JDK。
- 点击完成
- 启动tomcat
点击启动tomcat的按钮
右键—>start也可以启动tomcat
启动成功:
访问:
并未运行解压的tomcat。
需要调整tomcat的路径
保存设置
启动访问就OK了。
我们通过eclips部署的所有的项目也会部署到tomcat的安装目录。
3.8在eclips中创建web项目
创建项目day01_demo1
或者在prohect explorer视图中右键
或者new ~Other
创建新项目:
项目目录结构:
Java Resources
---src中编写java源文件,最终的编译文件会存储到WEB-INF/classes中
---Libraries 是需要的编译jar包。
WebContent web项目的根目录
---META-INF 项目相关的配置文件
---WEB-INF 相关的配置文件和编译生成的字节码文件,需要的第三方jar文件
在WEB-INF下存在一个web.xml文件
这是一个非常重要的web项目的配置文件。
在3.0之后就可以省略此文件。
3.9部署web项目到tomcat下
在项目的WebContent下添加一个index.html文件
将项目打成war包。
Web项目最终部署的时候提供的是war包。
在项目名称上右键--->Export-->àwar file
产生的结果:
将war包拷贝到tomcat的webApps中
启动tomcat
War包被自动解压:
文件夹中:
访问:
以上的部署方式是比较古老但是是最基本的部署方式。
使用eclips可以直接部署项目到tomcat中。
在项目名称或者要访问的网页上右键
选择服务器:
Eclips会自动打开默认的浏览器显示要访问的资源:
修改默认浏览器:
选择需要的浏览器:
3.10卸载项目和删除tomcat
把项目从tomcat上卸载
删除tomcat服务器:
3.11安装tomcat遇到的问题
之前,我的tomcat都是默认安装到C盘,前几天重新安装了系统,然后tomcat没选择默认路径,就出问题了
如果tomcat没有选择默认安装目录,可能会存在startup.bat闪退
解决办法:首先核对你的jdk环境是否正确配置,其次:
(1)找到解压缩的文件的bin目录 找到startup.bat 记事本打开
开头加上两句话
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60//这里是jdk的安装目录
SET TOMCAT_HOME=F:\Program Files (x86)\java\TOOL\tomcat\apache-tomcat-7.0.67//这里是tomcat解压缩后的目录
(2)同上面一样的打开shutdown.bat
开头加上两句话
SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_60//这里是jdk的安装目录
SET TOMCAT_HOME=F:\Program Files (x86)\java\TOOL\tomcat\apache-tomcat-7.0.67//这里是tomcat解压缩后的目录