• 如何创建一个JavaWeb项目


    Tomcat的部署和JavaWeb的创建

    由于JavaWeb项目需要在Web应用服务器上运行,Tomcat是目前主流Web应用服务器,大部分web 项目都是运行在Tomcat上的,包括以后使用的SpringBoot框架也是内嵌了Tomcat服务器,所以接下来就先来介绍Tomcat服务器的安装。

    1. Tomcat

    Tomcat 服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是开发和调试Servlet、JSP 程序的首选。也是绝大多数JavaEE开发工程师所必用的。

    1.1. Tomcat的作用

    Tomcat的作用是作为Web服务器部署Web项目,从而让客户端能够访问,在这个过程中它扮演者两个角色: Web服务器和Servlet容器

    Web服务器
    在这里插入图片描述

    Servlet容器

    在这里插入图片描述

    1.2. Tomcat的安装和启动

    第一步,配置JAVA_HOME和java环境变量。因为Tomcat是Java代码编写的,所以必须要配置JAVA_HOME和java环境变量之后才能运行,我们可以通过下面的命令检测:

    C:\Users\Administrator>java -version
    C:\Users\Administrator>echo %JAVA_HOME%
    C:\Users\Administrator>echo %PATH%

    第二步,将Tomcat压缩包解压到一个非中文无空格的目录下

    在这里插入图片描述

    第三步,配置Tomcat的环境变量:

    在系统变量里新建变量名:CATALINA_BASE,变量值:C:\apache-tomcat-8.5.27【本地tomcat的安装路径】
    在系统变量里 新建变量名:CATALINA_HOME,变量值:C:\apache-tomcat-8.5.27【本地tomcat的安装路径】
    在系统变量里 打开PATH,添加变量值:%CATALINA_HOME%\lib;%CATALINA_HOME%\bin

    第四步,修改脚本文件 startup.bat 和 shutdown.bat,指向本地的jdk与tomcat,在 @echo off 下面,具体地址根据自己机器安装位置添加:

    @echo off
    SET JAVA_HOME=C:\Program Files\Java\jdk1.8.0_231
    SET TOMCAT_HOME=C:\apache-tomcat-8.5.27
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    在这里插入图片描述

    第五步,启动Tomcat并访问首页:

    以管理员身份运行Tomcat解压后根目录下\bin\startup.bat即可启动Tomcat服务器,然后打开浏览器,在地址栏输入“http://localhost:8080”就可以访问Tomcat了
    在这里插入图片描述

    1.3. Tomcat的目录结构

    在这里插入图片描述

    1.4. Tomcat的端口

    在Tomcat安装目录下的conf目录中,可以看到一个server.xml文件,这个xml文件中就配置了Tomcat的端口号

    ……
    
    <Server port="8005" shutdown="SHUTDOWN">
    ……
    <Connector port="8080" protocol="HTTP/1.1"
    		   connectionTimeout="20000"
    		   redirectPort="8443" />
    ……
    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    三个位置共定义了3个端口号,Tomcat启动后,这个三个端口号都会被占用。

    2. 第一个JavaWeb程序

    2.1. 创建动态Web工程

    第一步: 创建Empty Project

    第二步: 创建动态Web的Module

    在这里插入图片描述

    在这里插入图片描述

    创建好的工程目录结构:
    在这里插入图片描述

    2.2. 动态工程目录结构

    目录或文件名功能
    src目录存放Java源文件
    web目录存放Web开发相关资源
    web/WEB-INF目录存放web.xml文件、classes目录、lib目录
    web/WEB-INF/web.xml文件别名:部署描述符deployment descriptor
    作用:Web工程的核心配置文件
    web/WEB-INF/classes目录存放编译得到的*.class字节码文件
    web/WEB-INF/lib目录存放第三方jar包
    加粗样式

    2.3. 在IDEA中集成Tomcat

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

    2.4. 创建用来部署Web工程的Tomcat实例

    编辑Tomcat实例
    在这里插入图片描述

    配置Tomcat实例

    在这里插入图片描述

    部署项目【如果找不到war包后面有介绍解决方案】
    在这里插入图片描述

    部署好之后的效果(**特别注意:**地址会自动把 “ - ” 转换为 “_”)
    在这里插入图片描述

    Idea运行时的界面布局
    在这里插入图片描述

    2.5. IDEA识别不到war包解决方案

    项目右键选择open Module Settings:
    在这里插入图片描述
    在Project Settings中选择Modules -> 在项目名处右键选择Add -> Web
    在这里插入图片描述
    在Project Settings中选择Artifacts -> + -> Web Application: Exploded -> From Modules
    在这里插入图片描述
    通过上述解决方案就可以解决IDEA识别不到war包的问题了。

    2.5. 在IDEA中重新部署运行

    2.5.1. 为什么需要重新部署?

    对于已经运行过的Web项目,如果我们增加了目录和文件,那么部署目录有可能不会自动同步过来,从而造成实际运行的效果和我们期望的不同。

    如下图中,我们在工程目录已经新增了images目录和两个图片:
    在这里插入图片描述

    如果重新部署后项目还没有出现就需要我们手动清除缓存再部署了:
    在这里插入图片描述

    2.5.2. 怎么重新部署

    清理部署目录
    在这里插入图片描述

    在这里插入图片描述

    构建
    在这里插入图片描述

    效果
    在这里插入图片描述

    2.5.3. 清除浏览器缓存

    在chrome下按F12唤出开发者模式,选择Application选项的Storage,并点击清楚缓存:
    在这里插入图片描述

    2.6. Tomcat手动部署Web项目

    我们可以集成IDEA直接自动部署Web项目,也可以通过手动的方式来了解项目是通过什么方式部署在Tomcat上的。

    单击工具栏的在这里插入图片描述
    【也就是project structure】打开项目结构。

    选择Artifacts(打包部署),选择添加Web Application: Archive。

    在这里插入图片描述

    给导出的war命名,为了防止出现路径错误,此处导出war的名字必须和项目部署名字相同:

    在这里插入图片描述

    确认创建或选择已有的Manifest.MF文件。单词“manifest”的意思是“显示” 。 这个 manifest 文件定义了与扩展和包相关的数据

    选择Manifest.MF文件存储目录:

    在这里插入图片描述

    编译生成war:
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    将Web项目打包成war包后,然后将war包放入Tomcat的webapps目录中即可:
    在这里插入图片描述

    在tomcat的bin目录中,点击startup.bat重启tomcat。在Tomcat启动过程中,会将war包进行解压,然后运行解压后的项目:
    在这里插入图片描述

    在浏览器访问我们刚刚部署的项目"http://localhost:8080/项目文件夹名/要访问的文件名"

    在这里插入图片描述

  • 相关阅读:
    oracle将restful接口封装到视图中
    ABC分析做法、步骤、Pareto图制作方法解说
    线性表
    六安RapidSSL泛域名https能保护几个域名
    Python网络编程之TCP编程
    告诉你,赚钱狠的人,都有一个特点?
    全面解析找不到msvcr100.dll的解决方法,快速修复系统msvcr100.dll丢失问题!
    CAN协议解析
    深度相机识别物体——实现数据集准备与数据集分割
    Java ArrayList和LinkedList
  • 原文地址:https://blog.csdn.net/m0_53951384/article/details/132928362