tomcat部署项目如何去掉项目名称?急急急,在线等
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat部署项目如何去掉项目名称?急急急,在线等相关的知识,希望对你有一定的参考价值。
一般情况下我们部署完后访问的路径为http://127.0.0.1:8080/test/index.jsp,发布到Internet后路径为http://a.com.cn:8080/test/index.jsp,省略掉端口和默认首页后就为http://a.com.cn/test/,其中test为项目名称,如何省掉项目名称,让路径变为http://a.com.cn/ 呢?在线等,解决问题再加分!
我的是MyEclipse7.0做的项目;直接在server.xml中<Host></Host>间加了一句<Context path="" docBase="/fts" debug="0" reloadable="true"/>,其中docBase="/fts"中的/fts是项目名字。问题已经解决。
最后几行
<Context path="/test" debug="0" reloadable="false" docBase="E:\workspace\test\Web"/>
</Host>
</Engine>
</Service>
</Server>
将
<Context path="/test" debug="0" reloadable="false" docBase="E:\workspace\test\Web"/>
修改
<Context path="/" debug="0" reloadable="false" docBase="E:\workspace\test\Web"/>
就是把path值设为当前根目录
试一下看看。追问
tomcat的server.xml文件中根本就沒有
這句啊
那就加上这一句。你是Eclipse部署的吧。
参考技术A 直接把项目放到webapps的root目录下绝对行。 参考技术B 项目发布到Internet上后,a.com.cn是你申请的域名这个是必须有的。看一些项目部署相关信息,你就明白了。 参考技术C 不知道!从没碰见过这样的问题!
估计要从网络方面下手!不是程序端能解决的。
ubuntu外置tomcat部署应用;访问项目时去掉项目名
首先需要一个正常能跑的应用打成war包
- 项目中加入spring-boot-starter-web(如果是已经加入该依赖的项目可以忽略)和spring-boot-starter-tomcat依赖。
- packaging由jar修改为war。
- 在build内加入finalName,这个是设置打war包名称,可以不设置使用默认的。
修改启动类,使其继承SpringBootServletInitializer类,重写configure方法,代码如下
package com.fchan.springcloudstream;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;
@SpringBootApplication
public class SpringcloudstreamApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(SpringcloudstreamApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringcloudstreamApplication.class);
}
}
打成war包
下载安装tomcat
外网下载太慢了。找了个国内下载源地址
https://mirrors.cnnic.cn/apache/tomcat/
下载zip压缩包
解压到指定路径
unzip apache-tomcat-9.0.54.zip -d ~/app/tomcat/
到bin目录下启动和停止
./startup.sh
./shutdown.sh
部署项目
把项目的war包丢到webapps目录下,直接去bin下启动的话发现访问需要带上这个文件夹名字,也就是项目名
咨询了大佬
方案一
解压war包,在conf目录下的server.xml中的host部分添加context内容,然后Context标签docBase指向解压后的路径
解压war包
指向解压后的路径
<Context path="/"
docBase="/home/ubuntu/download/springCloudStream"
reloadable ="true" debug="0" privileged="true">
</Context>
测试不带项目名称请求成功
方案二
停止tomcat后,将原先webapps下的ROOT文件夹删除,然后将自己的war包改名成ROOT.war接着直接启动tomcat即可
方案三
类似方案一,修改conf路径下的server.xml,context标签的docBase指向自己的war包,把原先tomcat的webapps下的ROOT删掉,之后tomcat会自动解压指定路径的war包(一定要先删掉之前的ROOT文件夹再启动)
要注意的几点
- appBase为webapps,即我们解压后的文件会到这个目录下。
- Context标签中的path为空或者斜杠根路径
- Context标签中的docBase,注意下路径不要在webapps文件夹下,不然会重复启动,这里我的war包放在另一个目录下。
- 需要将webapps文件夹下原ROOT文件夹删除,因为我们这样做解压后的文件夹名为ROOT,如果原来已经有ROOT则不会发生解压操作。
<Context path="/"
docBase="/home/ubuntu/download/springcloudstream-0.0.1-SNAPSHOT.war"
reloadable ="true" debug="0" privileged="true">
</Context>
以上是关于tomcat部署项目如何去掉项目名称?急急急,在线等的主要内容,如果未能解决你的问题,请参考以下文章
在tomcat下部署 在webapps下的war包 的项目能不能直接通过localhost:8080访问不加项目名,急!在线等
tomcat部署项目去掉项目名称,直接IP地址不带项目名称访问