前言

针对在本地访问文件或资源出现的跨域问题,可以通过搭建本地服务器来解决,本篇随笔主要介绍通过搭建Apache Tomcat服务器来解决跨域。包括Apache Tomcat的下载、安装、环境变量的配置以及项目部署等。

具体内容

一、Apache Tomcat的下载

Apache Tomcat下载网址:https://tomcat.apache.org/

选择下载版本,现在最新的版本是Tomcat 9.0.27。这里下载最新版本,单击"Download",进入到下载页面,如下图所示:

选择"zip(pgp, sha512)"进行下载,下载zip版本的好处是不用安装,下载完成直接解压就可以使用了。下载完成后,如下图所示:

二、Apache Tomcat的安装及环境变量的配置

由于下载的是zip版本的,故不需要再单独安装,直接对压缩包进行解压,并进行环境变量的配置。

(1)解压完成之后,如下图所示:

(2)进入"高级系统设置"窗口,配置环境变量

使用"Win + X",点击"系统",如下图所示:

点击"系统信息",如下图所示:

点击"高级系统设置",如下图所示:

打开"高级系统设置"之后,如下图所示:

单击"环境变量",进入如下图所示:

单击"新建",新建2个系统变量"CATALINA_BASECATALINA_HOME",以及配置Path.

•新建CATALINA_BASE变量,如下图所示:

•新建CATALINA_HOME变量,如下图所示:

PS1:不太了解的读者可能会对Tomcat安装目录的环境变量的名字(如CATALINA_HOME)而感到疑惑,按照其他环境变量的设置来看,JAVA_HOME表示JDK的安装目录,同理,应该使用TOMCAT_HOME来表示Tomcat的安装目录,为何要使用CATALINA_HOME呢?事实上,在Tomcat 4以前就是使用TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。

PS2:在Windows系统下,环境变量的名字不区分大小写,也就是说CATALINA_HOME与catalina_home是一样的。

PS3:如果要想在任意目录下都能启动Tomcat,就需要设置CATALINA_HOME环境变量,将CATALINA_HOME添加到Windows系统的环境变量中,其值就是Tomcat的安装目录。此处Tomcat的安装目录是D:\Apache tomcat \apache-tomcat-9.0.27。如果不想在系统的环境变量中添加,也可以直接在startup.bat文件头部设置以下这行代码:

SET  CATALINA_HOME= D:\Apache tomcat \apache-tomcat-9.0.27

•配置Path

打开Path,添加变量值,如下图所示:

单击"确定"配置完成之后,检验Tomcat环境变量是否配置成功,是否能成功启动Tomcat服务?

启动Tomcat服务的方法有2种:

方法一:

在终端输入startup命令,然后回车,或者直接在Tomcat目录的bin文件夹下,双击“startup.bat”来启动Tomcat服务,启动成功如下图所示:

PS1:在Tomcat目录下的bin文件件下,直接双击打开"startup.bat"文件会闪退,解决方法如下:

右击startup.bat文件,选择"编辑"打开该文件,在该文件尾部加上"pause"即可,如下图所示:

方法二:将方法一中通过手动启动方式改为自动启动方式

当我打开“计算机管理”->“服务和应用程序”->“服务”下时,没有找到Apache Tomcat服务;于是就在网上找了好多解决方法,找到没有Tomcat服务的原因是:在Tomact的bin目录文件夹下没有“service.bat”和“tomcat9.exe”这两个文件,因为我使用的是Tomcat免安装版,所以为了能得到这两个缺少的文件,去Tomcat官网下载免安装版所对应版本号的EXE安装版,下载完成后,将其中的“service.bat”和“tomcat9.exe”这两个文件复制到bin目录下,然后将“service.bat”鼠标左键点击拖入到dos窗口, 按Enter键打开终端,输入“service.bat install Tomcat”命令安装服务,安装成功后,再按照上述方法打开“服务”,即可看到已存在Apache Tomcat服务,右键点击该服务,选择“属性”,将“启动类型”由“手动”设置为“自动”。如下图所示:

测试Tomcat的方法:打开浏览器,在地址栏输入http://127.0.0.1:8080或者http://localhost:8080,回车,启动成功如下图所示:

以上表示在顺利的情况下,就表示配置完成了,前提是在本机上已安装JAVA JDK。

===============================================================

当然,在验证Tomcat是否配置成功时,出现了一点儿小插曲,在命令行运行startup命令,命令行报错,如下图所示:

分析错误原因是:计算机上未安装JAVA,更没有配置JAVA环境变量,于是就去下载安装了JAVA,并进行JAVA环境变量的配置,最终解决了上述问题。

下面记录安装Java,以及配置环境变量的过程:

安装JAVA,直接去网页上下载,然后安装JDK即可,直接运行JDK.exe的可执行文件,默认安装即可,安装JDK,会默认安装JRE。安装路径最好是不包含中文名。安装完成之后,配置环境变量:

配置JAVA环境变量的步骤和Tomcat相似,需要新建"JAVA_HOME"和"CLASSPATH"变量名,以及配置Path。

•新建JAVA_HOME变量,如下图所示:

•新建CLASSPATH变量,如下图所示:

CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

解释说明:

.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;

JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。

PATH使得系统可以在任何路径下识别java命令。

CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java命令才能识别。

•配置Path

打开Path,添加变量值,如下图所示:

单击"确定"配置完成之后,检验JAVA环境变量是否配置成功?

在CMD终端输入"java -version",如下图所示,表示安装成功

三、Apache Tomcat项目部署

部署静态页面或项目,其实有很多种方法,下面介绍3种:

方法一:直接把静态页面复制到Tomcat安装目录的webapps目录中

例如:新建一个practice文件夹,在文件夹里新建一个test.html文件,然后将整个practice文件夹复制到Tomcat安装目录的webapps目录中,启动tomcat后,在浏览器输入ip:port/practice/test.html即可访问了。

方式二:在Tomcat安装目录中有一个conf文件夹,打开此文件夹,其中包含配置文件server.xml,打开配置文件,并在<host>和</host>之间插入如下语句

<Context path="practice" docBase="D:\practice" debug="0" reloadable="true" crossContext="true"/>

其中,path为虚拟路径,docBase为项目的路径,启动tomcat后在浏览器输入ip:port/practice/test.html即可访问了。

方式三:在conf目录中,在Catalina\localhost(此处需要注意目录的大小写)目录下新建一个XML文件,任意命名(例如:hello),只要和当前文件中的文件名不重复即可,代码如下

<Context path="" docBase="D:\ practice " debug="0" reloadable="true" crossContext="true"/>

其中,path属性可以不写,docBase为项目的路径,启动tomcat后在浏览器输入ip:port/hello/test.html即可访问了。

结束语

  不管是项目,还是单个的文件,都可以通过扔到服务器上再去访问,这样就可以解决使用file协议访问文件带来的跨域问题,服务器上的文件一般都是通过http协议来访问文件,则不会存在跨域的问题。

  在搭建Tomcat服务器的整个过程中,遇到了不少问题,自己慢慢查询得以解决,收货颇多。

Apache Tomcat下载、安装、环境变量配置以及项目部署的更多相关文章

  1. Maven下载与环境变量配置

    前言: Maven 是一个基于 Java 的工具,所以要做的第一件事情就是安装 JDK.如果还未安装 JDK,可以参考Win10下JDK下载与环境变量配置. 项目 要求 JDK Maven 3.3+ ...

  2. Python下载、环境变量配置、 模块安装方法

    下载 Windows版官网下载地址:https://www.python.org/downloads/windows/ 类似下图以 installer结尾的文件就是我们需要下载的,位数根据自己的电脑进 ...

  3. Win10下JDK下载与环境变量配置

    一.JDK下载 1.JDK下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.ht ...

  4. git的安装-环境变量配置

    windows安装git和环境变量配置 2015.10.12 评论(0) 10,729 点此嗨一下 Git是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. Git是一个开源 ...

  5. windows系统Android-sdk的下载与环境变量配置

    最近一段时间在做app的开发,作为前端而言,开发app并不像android工程师那样熟悉android开发:无论是使用cordova.js或者react-native开发都需要配置android开发环 ...

  6. java下载和环境变量配置

    初学java,以前没有接触过这方面内容,所以简要记录一下我2个月的学习流程. 首先,我在慕课上学习java的基础,浙江大学翁恺老师的课程. 下载ECLIPSE-java 进入官网:https://ww ...

  7. Java Web框架play framework的下载与环境变量配置

    Web项目的开发有着众多的框架,近期刚刚接触了play. 对于一个Java开发者来说,play是一个不可多得的好框架.以下我简介下怎样下载play .以及play的环境变量配置方法. (1)登录pla ...

  8. maven的下载,环境变量配置,和eclipse配置,和IntelliJIDEA配置

    一.maven简介 Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖 ...

  9. jdk 安装 环境变量配置

    右键选择 计算机→属性→高级系统设置→高级→环境变量 1.系统变量→新建 变量名:JAVA_HOME 变量值:(变量值填写你的jdk的安装目录,例如本人是 C:\Program Files\Java\ ...

随机推荐

  1. Vue.js 入门:从零开始做一个极简 To-Do 应用

    Vue.js 入门:从零开始做一个极简 To-Do 应用 写作时间:2019-12-10版本信息:Vue.js 2.6.10官网文档:https://cn.vuejs.org/ 前言  学习 Vue ...

  2. npm install 时 提示err code EINTEGRITY报错

    1.报错截图如图: 2.报错缘由:因npm 版本问题导致 3.解决方法:升级npm版本(npm i -g npm),再重新npm install即可.

  3. ASE团队项目alpha阶段Frontend组 scrum2 记录

    ASE团队项目alpha阶段Frontend组 scrum2 记录 本次会议于11.5日, 11:30在微软北京西二楼13158研讨室,讨论持续15分钟 与会人员:Jingyi Xie, Jiaqi ...

  4. ASP.NET MVC SignalR 简单聊天推送笔记

    介绍:(抄袭于网络) ASP.NET SignalR 是为 ASP.NET 开发人员提供的一个库,可以简化开发人员将实时 Web 功能添加到应用程序的过程.实时 Web 功能是指这样一种功能:当所连接 ...

  5. 洛谷P3979 遥远的国度 树链剖分+分类讨论

    题意:给出一棵树,这棵树每个点有权值,然后有3种操作.操作一:修改树根为rt,操作二:修改u到v路径上点权值为w,操作三:询问以rt为根x子树的最小权值. 解法:如果没有修改树根操作那么这题就是树链剖 ...

  6. java如何生成一个0-100的随机整数?

    public class Test {public static void main(String[] args) {int num=(int)(Math.random()*101);System.o ...

  7. k8s集群的搭建之三:flannel

    一介绍 flannel是CoreOS提供用于解决Dokcer集群跨主机通讯的覆盖网络工具.它的主要思路是:预先留出一个网段,每个主机使用其中一部分,然后每个容器被分配不同的ip:让所有的容器认为大家在 ...

  8. WPF ItemControl的源与选择项问题

    具体场景: datagrid的行中有个combox 每个行是一个实例A 每个行中的SelectedItem是实例A的一个属性B 我希望实现datagrid的复制Command,具体做法是A序列化反序列 ...

  9. Windows 屏幕保护程序

    { 创建一个win32 窗口项目,不是控制台的 把exe改为src文件 复制到windows目录下 ok }

  10. mui-scroll-wrapper mui-scroll 内容增多不出滚动条

    滚动条需要初始化 mui('.mui-scroll-wrapper').scroll({});