javaEE Web(Tomcat)深度理解 和 Servlet的本质

在这里插入图片描述

每博一文案

我所有的进步,只为更接近你。
上天没有给予人们公平的人生,有人拥有出奇的才能,便有人只能不辞辛苦的攀登阶梯,我默默地守望着一缕光芒,小心翼翼,如掬如束,可若长久凝望,一点会让自己,也受烫灼。
平凡的人生或是悲惨的际遇,可能还不是最糟糕的,我害怕的是,如果始终懦弱不堪,会让哪怕是一份小小的心意,也永远无法传达。
竭尽力量的小勇敢,小心愿,一点会被许多人笑话的吧,那么,会被一个人了解吗,逝水比喻时光荏苒,十年了,我一直在努力的改变自己,夕语,你呢,你变成什么样子了?
不经意抬头看到的躲闪目光,低头侧目时不断加速的心跳,还有慌张间来不及带走的心思,以及追寻一个背影时的迟疑步伐。
过去的千丝万缕才刚浮动显现,穿过遮掩长久的黑暗,未来我们再相见时,希望所有眼泪,都能消失无形吧,曾经那个丢掉记忆逃跑的男孩,再见了。
上一次离开,我是那样决绝,我以为自己不会再回来了,再次相见时,本以为时隔多年,命运会再次垂青于我,可是兜兜转转,像是上天给我开了一个玩笑,错的一直是我。
我渴望的爱情如同虚幻泡沫,我想要挽回的友情,也没有了机会,此时此刻,我已经失去了留下来的力量。
所有成熟的大人,都曾是受伤的小孩,那个小孩可能会长大,但永远不会离开,我一直都在你的世界,看着你一点点改变,只是你,常常遗忘过去的自己。
今后我所有的牵挂 所有的向往 都和你一样 
                                                —————— 《我是江小白》
                                                —————— 来源《https://www.bilibili.com/read/cv16491270》

@


说明:
该博客是在基于安装了
Tomcat
的前提下操作的。 详细安装 Tomcat 的步骤大家可以移步至:
(Tomcat 的安装以及其中配置环境原理的详细说明_tomcat要在什么环境下运行_ChinaRainbowSea的博客-CSDN博客

1. 实现一个最基本的web应用(这个web应用中没有java小程序)

我们首先编写一个关于静态的网页的页面:一个简单的 百度链接:如下

<!--index.html文件-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>实现一个最基本的web应用(这个web应用中没有java小程序) </title>
</head>
<body style="text-align:center">
    <h3>百度链接</h3>
    <a href="https://www.baidu.com/">进入百度</a>
</body>
</html>

具体步骤如下:

第一步:
找到我们安装
Tomcat
中的路径找到一个名为
webapps
的目录。

注意:
我们所有的 web的 app 都要放到该 webapps 目录下,(没有为什么,这是 Tomcat 服务器的要求,如果不放到这里,Tomcat 服务器是无法到你的应用的app,并运行的)。

如下图所示:

在这里插入图片描述


第二步:
在我们找到的这个
webapps
目录下创建一个子目录,名为
Mytest
的目录。

注意:
这个目录名 test 就是你这个运行 webapp的名字。

在这里插入图片描述

第三步:
将我们上面编写的 html 静态文件,添加到该 Mytest目录下。

在这里插入图片描述

第四步:
启动我们的
Tomcat
服务器,打开我们的浏览器在地址栏上输入:
http://127.0.0.1:8080/项目名/index.html
:具体如下:
http://127.0.0.1:8080/Mytest/index.html
,最后回车,就可以访问到我们编写的 index.html 这个静态网页了。

在这里插入图片描述

在这里插入图片描述


重点:

我们在浏览器上直接输入一个 URL,然后回车,这个操作和点击一个
超链接
是本质是一样的都是静态访问,既然都是一样的了。那我们完全可以使用超链接,访问我们在 Tomcat 服务器上编写的
index.html
资源文件了。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>访问我们部署到Tomcat中的index.html资源文件</title>
</head>
<body>
    <!--注意:我们目前前端上的路径都以“/”开始的,都是加项目名的。-->
    <a href="http://127.0.0.1:8080/Mytest/index.html">index.html</a>
</body>
</html>

在这里插入图片描述

在同一个部署到同一个项目下的,资源文件是可以相互访问的。例如:我们编写一个名为 index2.html 文件,通过 index.html 访问 index2.html 资源文件。

<!--index2.html 文件-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>部署到Tomcat服务器中的index2.html资源文件</title>
</head>
<body style="text-align:center">
    <h1 >你好世界</h1>
    <!--部署到Tomcat同一个项目下的之间的访问,不需要添加:http://127.0.0.1:8080-->
    <!--注意:我们目前前端上的路径都以“/”开始的,都是加项目名的。-->
    <a href="/Mytest/index.html">访问我们部署到Tomcat中同一个项目中的的index.html资源文件</a>
</body>
</html>

同样放到我们安装 Tomcat 服务器的 webapps 中我们建立的项目 Mytest目录下

在这里插入图片描述

在这里插入图片描述

上述这种资源的访问:我们可以称之为是
静态资源
。所谓的静态资源就是,固定的,数据是不会更新的,从一开始就写死了的。

怎么能变成
动态资源
,显然是需要
连接数据库的

连接数据库需要用
JDBC
程序,也就是需要编写 Java程序连接数据库,数据库中右多少条记录的信息,页面会根据数据库的记录的信息,进行一个动态的显示。这种技术被称为
动态网页技术
。(动态网页技术并不是说页面中有
flash
动画。动态网页技术是说页面中的数据是动态的,是根据数据库中存储的数据进行一个时时动态更新变化的 )。这个操作在本博客的后半部分有详细说明。

2. 一个动态 Web 页面中所包含的 “角色” 和 “协议”

如下是一个简易的 Web 通信图

在这里插入图片描述

2.1 角色

根据上图分析:在
整个BS结构的系统当中
有哪些人参与进去了

  • 浏览器软件的开发团队
    :(浏览器软件太多了:谷歌浏览器,火狐浏览器,IE 浏览器...)
  • Web Serve的开发团队
    : Web Server 这个软件也是太多了:Tomcat,Jetty,WebLogic ,JBOSS,WebSphere...
  • DB Server的开发团队:
    DB Server 也是不少的:Oracle,MySQL...
  • Web app的开发团队:
    Web 应该程序是我们作为
    Java web 程序员
    开发的。

2.2 协议

协议:
所谓的协议就是一种规范,大家都要遵守的规范。不过不遵守规范的话。相互之间是无法通信交流的。就不如说:两个人之间交流:一个人说英语,一个人说中文,这两个人之间使用的语言不同,也就是遵守的规范不同,两个人就无法交流了。各自都听不明白。如果两个人都遵守同一个规范,都是说中文,或者英文,相互之间就可以明白各自在说什么了,相互交流了。

同理:
浏览器前端 与 服务器后端之间想要相互交流数据信息,也是要遵守规范。服务器后端 与 数据库也是一样的。

在这里插入图片描述

  • Brower(浏览器) 与 WebServer
    之间有一套传输协议:
    HTTP
    (超文本传输协议)

  • Web Server 与 webapp
    之间有一套规范:
    JavaEE规范比如 Servlet规范



  • Webapp 和 DB Server
    之间有一套规范:JDBC 规范,关于 JDBC 的详细内容,大家可以移步至:

标签: none

添加新评论