5.Web服务器-Tomcat

Web服务器-Tomcat

笔记目录:(https://www.cnblogs.com/wenjie2000/p/16378441.html)

视频教程(P88~P93)

Web服务器

Web服务器是一个应该程序(软件),对HTTP协议的操作进行封装,使得程序员不必直接对协议进行操作,让Web开发更加便捷。主要功能是“提供网上信息浏览服务”

Tomcat简介

概念:Tomcat是Apache软件基金会一个核心项目,是一个开源免费的轻量级Web服务器,支持Servlet/JSP少量JavaEE规范。

基本使用

  • 下载:官网下载(apache-tomcat-8.5.84-windows-x64.zip

  • 安装:绿色版,直接解压即可

  • 卸载:直接删除目录即可

  • 启动:双击: bin\startup.bat

    浏览器中输入http://localhost:8080/看到以下网页内容即运行成功

    (运行时控制台显示内容乱码是因为tomcat输出的日志信息编码是utf-8,而控制台默认为GBK编码。可以修改conf\logging.properties中的47行的控制台编码:java.util.logging.ConsoleHandler.encoding = GBK)

  • 关闭:

    1. 直接×掉运行窗口:强制关闭
    2. bin\shutdown.bat:正常关闭
    3. Ctrl+C:正常关闭(推荐)
  • 配置

    1. 修改启动端口号:conf/server.xml

      注:HTTP协议默认端口号为80,如果将Tomcat端口号改为80,则将来访问Tomcat时,将不用输入端口号

  • 启动时可能出现的问题:

    1. 端口号冲突:找到对应程序,将其关闭掉。或者切换端口号

    2. 启动窗口一闪而过:检查JAVA_HOME环境变量是否正确配置

  • 部署项目

    将项目放置到webapps目录下,即部署完成。(浏览器访问方式:localhost:8080/文件对于webapps的相对路径)

    实际项目文件数量较多,如果是直接拷贝文件夹,传输速度较慢,我们一般会将项目打成一个包,方便传输。javaWeb项目一般会打成一个war包。war包放到tomcat中后,当tomcat在运行时,会自动将war包解压。

IDEA中创建Maven Web项目

Web项目结构

Maven Web项目结构:开发中的项目

部署的JavaWeb项目结构:开发完成,可以部署的项目

编译后的Java字节码文件和resources的资源文件,放到WEB-INF下的classes目录下

pom.xml中依赖坐标对应的jar包,放入WEB-INF下的lib目录下

创建Maven Web项目

  • 使用骨架(项目模板)

    1. 选择web项目骨架,创建项目

      根据情况设置项目信息

      确认信息(注意maven,尽量使用自己安装的,不使用idea自带的)

    2. 删除pom.xml中多余的坐标

      注意上面图片中的<packaging>war</packaging>

      设置打包方式

      • jar:默认值(应用于一般的java项目)
      • war:web项目
    3. 补齐缺失的目录结构

      在main目录处右键-->New-->Directory-->选择java和resource

  • 不使用骨架

    1. 选择web项目骨架,创建项目

      这里就不勾选了,直接Next

    2. pom.xml中添加打包方式为war(改完后记得刷新应用配置文件)

      <packaging>war</packaging>
      

    3. 补齐缺失的目录结构: webapp

      选择project Structure(项目结构)

      选择Facets-->自己的项目-->添加web.xml

      设置web.xml路径:...\src\main\webapp\WEB-INF\web.xml

      确认webapp路径(Web资源目录路径):...\src\main\webapp

      点击OK创建成功

IDEA中使用Tomcat

现在使用tomcat,是将项目打成war包,放到tomcat中的webapps文件夹下,很不方便。

集成本地Tomcat

将本地Tomcat集成到ldea中,然后进行项目部署即可

点击 (添加配置) -->点击“+”创建新配置-->选择Tomcat Server中的Local(本地)-->设置本地tomcat的路径

选择 Deployment (部署)-->“+”-->Artifact(工作)

选择要部署的war包

注意:

war模式:将WEB工程以包的形式上传到服务器 ; (使用已经打包好了的项目target文件夹下的war包)
war exploded模式:将WEB工程以当前文件夹的位置关系上传到服务器;(使用IDEA中你写的代码的部分,它会帮你打包好。因此这种方式支持热部署,一般在开发的时候也是用这种方式。)

这里因为我后面要用Tomcat Maven插件(相当于内置tomcat),选war影响不大

点击OK完成(可以通过修改Application context(应用上下文)设置项目的访问路径)

如果上面选 war exploded,那就可以进行如下操作来实现热部署(修改网页文件后不需要重启tomcat)。

在webapp中随便写一个html文件

<!--a.html-->
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
1zzzqqqqqqqqqaaaaaaaaaaaaa
</body>
</html>

点击 ▷ 启动(IDEA会打开浏览器)

在浏览器地址栏末尾加上a.html。回车。网页内容正常显示

Tomcat Maven插件(可用可不用)

此插件相当于内置一个小型tomcat,比本地tomcat启动更快,方便使用。但版本更新较慢,当前只支持到tomcat7。多数人还是使用的本地tomcat。

pom.xml添加Tomcat插件(相当于内置了一个tomcat)(注意:这个插件更新较慢,)

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.tomcat.maven</groupId>
                <artifactId>tomcat7-maven-plugin</artifactId>
                <version>2.2</version>
                <configuration><!--配置(可选项)-->
                    <port>80</port><!--访问端口号(默认8080)-->
                    <path>/</path><!--项目访问路径(默认为项目名)-->
                </configuration>
            </plugin>
        </plugins>
    </build>

使用Maven Helper插件快速启动项目,选中项目,右键--> Run Maven --> tomcat7:run

然后就能在浏览器访问到该项目了(http://localhost/a.html)

posted @ 2023-01-08 21:13  文杰2000  阅读(56)  评论(0编辑  收藏  举报