Tomcat 之 部署Web工程
部署Web工程到Tomcat中
直接访问html页面与通过tomcat访问的区别
部署Web工程到Tomcat中
第一种方式
第一种方式是直接将web工程拷贝到Tomcat下的webapps目录下的某一个文件夹内,即可访问
具体路径为localhost:port/name1[/name2…]
简单的界面测试
在webapps目录下,新建一个文件夹,这里我新建了个test目录,然后在文件夹里创建了个test.html用于测试:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-a7ff0bfX-1625142665456)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701184627575.png)]](https://i-blog.csdnimg.cn/blog_migrate/4e93ec2c1480d3eb44e87c469cdcd7c7.png)
然后随便写上一些代码:
<!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>Document</title>
</head>
<body>
TEST_PAGE
</body>
</html>
接下来我们在浏览器访问http://localhost:9090/test/test.html,看到下面的界面:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gDIUQYZK-1625142665457)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701185040378.png)]](https://i-blog.csdnimg.cn/blog_migrate/72583a5c84c0f735f956f561dc5a4a15.png)
可以看到,界面访问成功了。
vue项目部署到Tomcat
这里用第一种方式,将vue项目部署到Tomcat服务器上
这里先看一下我的项目目录:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wb0Ji3OU-1625142665458)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701185453395.png)]](https://i-blog.csdnimg.cn/blog_migrate/aefff052a6d1aa41324338b8605af4c2.png)
注意:vue-cli3之后,使用vue create app创建项目,项目中不再会出现build文件夹,取而代之的是vue.config.js文件,所以我们需要以往的配置方式需要做一些改变
关于vue.config.js 官方的文档:https://cli.vuejs.org/config/#vue-config-js
配置的具体解释建议还是百度,官方文档看起来可能会让新手感到迷茫
根据下图提示的信息,我们知道了应该做出哪些配置:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hS8kdni3-1625142665459)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701190308308.png)]](https://i-blog.csdnimg.cn/blog_migrate/c84c4570658686388f15ae107dc4c436.png)
所以我们先在项目根目录创建一个vue.config.js文件(当然这个文件我相信一般的项目都会有的),在里面添加一行代码:publicPath: ‘/vue3/’,如图中所示:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wAVwp5Rt-1625142665461)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701191531640.png)]](https://i-blog.csdnimg.cn/blog_migrate/839abdc3a725261c08afe4bfa3aa2506.png)
这个表示访问项目时前面应该添加的路径,要添加这个的原因是因为Tomcat的一个项目是要在某一个具体路径下(文件夹)运行的。
然后终端运行npm run build命令打包:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IaT0iMYZ-1625142665462)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701191853693.png)]](https://i-blog.csdnimg.cn/blog_migrate/5050c3bf307dbd16db716e1ee0f30b76.png)
在webapps目录下创建一个文件夹,名字就是之前config文件中设置的vue3,将生成的dist文件夹下的所有文件转移到vue3目录下:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXry83mh-1625142665462)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701192007689.png)]](https://i-blog.csdnimg.cn/blog_migrate/333c78efc8c6aa52aca448816de03898.png)
这个时候我们开始访问前端界面:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GP31i5DV-1625142665463)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701192035226.png)]](https://i-blog.csdnimg.cn/blog_migrate/3a68847e3b469fc4c53388181e5d6d5c.png)
可以看到,项目已经被挂在服务器上了(√
这里我项目的主路径
/重定向到了shouye,正常的项目只会显示localhost:9090/vue3/(除非你像我一样也搞了重定向)
当然这里还有最重要的一个问题,那就是刷新的时候我们是向重定向之后的路径刷新的,这个时候就会出现服务器未响应的界面(这个问题我没有深究怎么解决)
第二种方式
找到conf\Catalina\localhost,在该目录下新建一个xml文件,名称随意,在里面添加配置信息,即可访问
添加如下信息:
<Context path="/abc" docBase="E:\book" />
path表示工程的访问路径,docBase表示工程目录
直接访问html页面与通过tomcat访问的区别
直接访问html页面
直接访问一个html页面,我们观察地址栏不难发现它使用的协议是file://协议file协议表示告诉浏览器直接读取file:后面的路径,解析展示在浏览器上即可
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-aQipegrD-1625143513526)(C:\Users\15998\AppData\Roaming\Typora\typora-user-images\image-20210701204222186.png)]](https://i-blog.csdnimg.cn/blog_migrate/372e60bbf1465f4c9e3a3637ad0fbc5e.png)
这是不经过网络的。
通过Tomcat访问
通过将Web工程挂载到Tomcat服务器上,我们可以发现使用的协议是http协议,这是经过网络的,跟file协议完全不同:

其过程为客户端(浏览器)将对该页面的请求发送给Tomcat服务器,Tomcat服务器接收到请求后,读取要访问的资源文件,然后返回客户端需要的页面的内容,客户端得到内容之后,再将其解析到浏览器上,这其实就跟我们平常前后端之间的请求差不多。
本文介绍了如何将Web工程部署到Tomcat服务器,包括直接将项目文件夹放入webapps目录和通过创建XML配置文件的方式。还讨论了直接访问HTML页面与通过Tomcat服务器访问的区别,后者涉及HTTP协议和服务器的资源处理过程。同时,展示了Vue项目在Tomcat上的部署步骤,并提及了刷新页面时可能出现的问题。
2567

被折叠的 条评论
为什么被折叠?



