前言

Python和Java的Web应用程序运行机制有些一些差异。

Web服务器网关接口(Python Web Server Gateway Interface,缩写为WSGI)是为Python语言定义的Web服务器和Web应用程序或框架之间的一种简单而通用的接口。自从WSGI被开发出来以后,许多其它语言中也出现了类似接口。

在Python的世界里Web服务器软件是Web框架的一部分,在Java中Web服务器软件和Web框架是分离开来的2个整体。

Python的Web框架内置了一些模块,例如Django内置了wsgiref,Flask内置了Werkzeug模块。

这些内置的模块实现了WSGI协议,Python的Web框架就启动之后就可以直接接收HTTP请求,并把HTTP请求传输给Web框架。

Python的Web框架中内置的wsgiref、Werkzeug模块就相当于Java中的Tomcat,1个PythonWeb框架启动之后就等同于Java启动了Web服务器。

Java中Web服务器软件和Web框架2者是分离开来的,我们需要启动Web服务器软件(Tomcat),Tomcat再调用Web框架才算是启动了1个Web服务器,才能接收HTTP请求。

Tomcat是一款由Apache开源的纯java开发的Java Web 应用服务器软件,web服务器软件封装了Socket,用户发起HTTP请求到Tomcat,Tomcat再调用Web框架。

 

一、Java Web相关概念

1.软件架构

C/S:客户端/服务器

B/S:浏览器/服务器

2.资源分类

静态资源:用户每次访问后,显示的结果是不变的。例如:HTML、CSS、Javascript。静态资源可以直接被浏览器解析。

动态资源:用户每次访问后,结果有可能改变。例如:Servlet、JSP。动态资源需要在服务端转换成静态资源之后,再返回给浏览器。

3.网络通信3要素

IP:网络标识

端口:应用程序在本机的标识 0-65535

传输协议:我们通过IP+端口建立了TCP连接之后就需要传输数据,而传输协议规定了数据传输的规则。

4.JavaEE

Java语言在企业级开发中使用的技术规范总和。

共规范了13项大的规范:

 

5.Jva Web项目的分类

Java Web应用服务器之Tomcat

 

Java Web项目分为静态Web项目和动态Web项目。

 

A.静态的Java web项目:早起的网页是固定不变的只包含HTML、CSS、JS。

 

B.动态Java Web项目

动态Java Web项目是针对静态Web项目产生的。

-----项目的根目录

----WEB-INF目录

------web.xml:web项目的核心配置文件

------classes目录:存放Java代码编译之后的字节码文件

------lib目录:存放依赖jar包

 

 

 

二、Web服务器是什么?

在Python中wsgi服务器接收和响应http请求传递给web框架去处理。

在Java web中需要借助web服务器软件。

服务器:安装了服务器软件的计算机,但是这种计算机的硬件配置比我们平时使用的笔记本/台式机要高。服务器安装了MySQL软件就是MySQL服务器,安装了Web软件就是Web服务器。

服务器软件:可以接受用户请求、处理客户请求,并作给用户作出响应。

Web服务器软件:可以部署Web项目,让用户可以通过浏览器来访问这些web项目。动态资源只能运行在web服务器软件中,固Web服务器也称为Web容器。

 

三、Java相关的Web服务器软件

1.WebLogic:Oracle公司退出的大型JavaEE服务器,支持所有JavaEE规范。收费。

2.WebSphere:IBM公司退出的大型JavaEE服务器,支持所有JavaEE规范。收费。

3.JBOSS:  JBoss公司退出的大型JavaEE服务器,支持所有JavaEE规范。收费。

4.Tomcat:   Apache基金组织,中小型JavaEE服务器,支持少量的JavaEE规范(Servlet、JSP规范)。开源免费。

 

四、Tomcat服务器软件

一般中小型企业都会使用Tomcat这款开源的Web服务器软件构建Web服务器。

 

1.下载Tomcat

 

2.安装Tomcat

解压缩到指定目录下即可

Java Web应用服务器之Tomcat

3.配置Tomcat

 

4.启动Tomcat

Java Web应用服务器之Tomcat

5.关闭Tomcat

 

6.Web项目部署到Tomcat

我们可以通过4种方式把Java Web项目部署到Tomcat容器中

方式1:文件夹部署

直接将项目文件夹放到Tomcat的webapp目录下

Java Web应用服务器之Tomcat

 

访问:http://127.0.0.1:8080/zhanggen/index.html

 

方式2:war包部署

文件夹不便于网络传输,把Web项目压缩成war包,放到Tomcat的webapp目录下,重启Tomcat之后该war包会被自动解压缩成文件夹

Java Web应用服务器之Tomcat

 

方式3:修改全局配置文件部署

如果不想把的项目放到tomcat/webapp/目录下,可以通过全局配置文件(server.xml)来指定项目所在的路径。

修改tomcat目录/conf/server.xml配置文件

    <!--部署项目-->
        <Context docBase="D:\zhanggen" path="zhanggen666" />
      </Host>
    </Engine>
  </Service>
</Server>

访问:http://127.0.0.1:8080/zhanggen666/

 

方式4:配置局部配置文件部署 

由于修改tomcat/conf/server.xml全局配置文件会影响Tomcat的全局配置。

可在Tomcat\conf\Catalina\localhost目录下创建任意名称的.xml局部配置文件,指定项目所在路径。

例如在该目录下创建zhanggen.xml配置文件编辑内容如下:

<Context docBase="D:\zhanggen" />

访问:http://127.0.0.1:8080/zhanggengen/

 

五、IDEA集成Tomcat

在开发环境中,如果每次都去Tomcat的webapps目录下手动部署项目,去Tomcat的的bin目录下执行startup和shutdown脚本启动和关闭Tomcat服务器,会非常麻烦。

借助IDEA开发工具可以完成以上工作。

 Java Web应用服务器之Tomcat

 

1.IDEA会为每一个Tomcat部署的项目单独建立一份配置文件

Java Web应用服务器之Tomcat

 

2.工作空间项目和tomcat部署的web项目的关系

tomcat真正使用的是tomcat部署的web项目

tomcat部署的web项目对应着工作空间项目web目录下的所有资源

 

 

 

 

 

参考

相关文章:

  • 2021-11-23
  • 2021-09-14
  • 2021-11-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-23
猜你喜欢
  • 2021-08-11
  • 2021-11-23
  • 2021-10-16
  • 2021-10-12
  • 2021-11-23
  • 2022-01-18
相关资源
相似解决方案