一.B/S结构的系统通信原理
1.WEB系统的访问过程
第一步:打开浏览器。
第二步:找到地址栏
第三步:输入一个合法的网址
第四步:回车
第五步:在浏览器上会展示响应的结果
2.关于域名:
https://www.baidu.com/(网址)
www.baidu.com是一个域名
在浏览器地址栏上输入域名,回车之后,域名解析器会将域名解析出来一个具体的IP地址和端口号等
解析结果也许是: http://110.242.68.3:80/index.html
IP地址是啥?
计算机在网络当中的一个身份证号。在同一个网络当中,IP地址是唯一的。
A计算机要想和B计算机通信,首先你需要知道B计算机的IP地址,有了IP地址才能建立连接
端口号是啥?
一个端口代表一个软件(一个端口代表一个应用,一个端口仅代表一个服务)
一个计算机当中有很多软件,每一个软件启动之后都有一个端口号。
在同一个计算机上,端口号具有唯一性。
3.一个WEB系统的通信原理?通信步骤:
第一步:用户输入网址(URL)
第二步:域名解析器进行域名解析:http://110.242.68.3:80/index.html
第三步:浏览器软件在网络中搜索110.242.68.3这一台主机,直到找到这台主机。
第四步:定位110.242.68.3这台主机上的服务器软件,因为是80端口,可以很轻松的定位到80端口对应的服务器软件
第五步:80端口对应的服务器软件得知浏览器想要的资源名是:index.html
第六步︰服务器软件找到index.html文件,并且将index.html文件中的内容直接输出响应到浏览器上
第七步:浏览器接收到来自服务器的代码(HTML CSS JS)
第八步:浏览器渲染,执行HTML CSS JS代码,展示效果
什么是URL?
统一资源定位符(http:// www.baidu.com)
二.关于WEB服务器软件
1.WEB服务器软件都有哪些呢?(这些软件都是提前开发好的。)o
Tomcat (WEB服务器)
jetty (WEB服务器)
JBOSS(应用服务器)
WebLogic(应用服务器
WebSphere(应用服务器)
2.应用服务器和WEB服务器的关系?
应用服务器实现了JavaEE的所有规范。(JavaEE有13个不同的规范。)
WEB服务器只实现了JavaEE中的Servlet +JSP两个核心的规范
通过这个讲解说明了∶应用服务器是包含WEB服务器的。
JBOSS中内嵌了一个Tomcat服务器。
3.Tomcat
(1)Tomcat是java语言写的,要想运行,必须先有jre(Java的运行时环境)
(2)tomcat还有另一个名字:Catalina
(3)Tomcat服务器是轻巧的,体积小,运行速度快,只实现了Servlet和JSP规范
(4)启动Tomcat
bin目录下有一个文件: startup.bat,通过它可以启动Tomcat服务器。
xxx.bat文件是个什么文件?
bat文件是windows操作系统专用的, bat文件是批处理文件,这种文件中可以编 写大量的windows的dos命令,然后执行bat文件就相当于批量的执行dos命令。
startup.sh,这个文件在windows当中无法执行,在Linux环境当中可以使用。在Linux 环境下能够执行的是shell命令,大量的shell命令编写在shell文件当中,然后执行这个 shell文件可以批量的执行shell命令。
tomcat服务器提供了bat和sh文件,说明了这个tomcat服务器的通用性。
分析startup.bat文件得出,执行这个命令,实际上最后是执行: catalina.bat文件。
catalina.bat文件中有这样一行配置: MAINCLASS=org.apache.catalina.startup.Bootstrap(这个类就是main方法所在的类。)
tomcat服务器就是Java语言写的,既然是java语言写的,那么启动Tomcat服务器就是执行 main方法。我们尝试打开dos命令窗口,在dos命令窗口中输入startup.bat来启动tomcat服务 器。
启动Tomcat服务器只配查path对应的bin目录是不行的。有两个环境变量需要配置;
JAVA_HOME=IDK的根
CATALINA_HOME=Tomcat服务器的根
(5)关于Tomcat服务器的目录
bin:这个目录是Tomcat服务器的命令文件存放的目录,比如:启动Tomcat,关闭Tomcat等。
conf:这个目录是Tomcat服务器的配置文件存放目录。(server.xml文件中可以配置端口 号,默认Tomcat端口是8080)
lib:这个目录是Tomcat服务器的核心程序目录,因为Tomcat服务器是Java语言编写的, 这里的jar包里面都是class文件。
logs:Tomcat服务器的日志目录,Tomcat服务器启动等信息都会在这个目录下生成日志 文件。
temp: Tomcat服务器的临时目录。存储临时文件。
webapps:这个目录当中就是用来存放大星的webapp (web application:..web应用)
work:这个目录是用来存放ISP文件翻译之后的java文件以及编译之后的class文件。
(6)配置Tomcat服务器需要哪些环境变量?
JAVA_HOME=IDK的根
CATALINA_HOME=Tomcat服务器的根
PATH=%JAVA_HOME%\bin;%CATALINA_HOME%\bin
(7)启动Tomcat: startup
关闭Tomcat:stop (shutdown.bat文件重命名为stop.bat,原因是shutdown命令和windows 中的关机命令冲突。所以修改一下。)
怎么测试Tomcat服务器有没有启动成功呢?
打开浏览器,在浏览器的地址栏上输入URL即可:
http://ip地址:端口号
端口号是8080,本机的IP地址是:127.0.0.1,或者是localhost。
三.实现一个最基本的web应用
(这个web应用中没有java小程序)
第一步:找到CATALINA_HOME\webapps目录
因为所有的webapp要放到webapps目录下。
(没有为什么,这是Tomcat服务器的要求。如果不放到这里,Tomcat服务器找不
到你的应用。)
第二步:在CATALINA_HOMElwebapps目录下新建一个子目录,起名:oa
这个目录名oa就是你这个webapp的名字。
第三步:在oa目录下新建资源文件,例如: index.html
编写index.html文件的内容。
第四步:启动Tomcat服务器
第五步:打开浏览器,在浏览器地址栏上输入这样的URL:
http://127.0.0.1:8080/oa/index.html
思考:在浏览器上直接输入一个URL,然后回车。这个动作和超链接一样吗?
一样!既然是一样的,我们完全可以使用超链接。
<!--注意以下的路径,以/开始,带项目名,是一个绝对路径。不需要添加: http://127.0.0.1:8080-->
<a href="/oa/login .htm7">user login2</ a>
<!--多个层级也没有关系,正常访问即可。-->
<!--注意:我们目前前端上的路径都头"/""开始的,都是加项目名的。--><a[href=" /oa/test/debug/d.htm1">d page</ a>
注:a.有哪些角色(在整个BS结构的系统当中,有哪些人参与进去了)
浏览器软件的开发团队(浏览器软件太多了︰谷歌浏览器、火狐浏览器、IE浏览器....)
WEB Server的开发团队(WEB Server这个软件也是太多了:Tomcat、Jetty、 WebLogic,JBOSS、WebSphere
DB Server的开发团队(DB Server这个软件也是太多了: Oracle、MxSQL…….)
webapp的开发团队(WEB应用是我们做为lJavaWEB程序员开发的)
b.角色和角色之间需要遵守哪些规范,哪些协议
webapp的开发团队和WEB Server的开发团队之间有一套规范: JavaEE规范之一Servlet 规范。
Servlet规范的作用是什么?
WEB Server 和webapp解耦合。
Browser和 WebServer之间有一套传输协议:HTTP协议。(超文本传输协议。)
webapp开发团队和DB Server的开发团队之间有一套规范:JDBC规范。|