首页 > 代码库 > Tomcat 仅用ip和端口 不用项目名就能访问项目

Tomcat 仅用ip和端口 不用项目名就能访问项目

今天发现生产上tomcat项目 仅用ip+端口 就能访问项目,觉得很奇怪,百思不得其解,各种尝试,终于找出原因


例:

       http://192.168.50.248:8081/login.htm     能直接进入项目的登录页面

       http://192.168.50.248:8081/project/login.htm  也能进入项目的登录页面


于是,我本地tomcat尝试了下,发现如果不加项目名,访问就404了,

后来我加了项目名,登录页面能访问,但是登录成功,跳转到index.htm的时候,项目名又不见了  而且响应又是404


后面发现,原来是tomcat默认启动项目惹的祸,如果配置了tomcat默认启动项目,就可以不用项目名也能访问项目


具体操作如下:

 

1、打开tomcat安装根目录,打开conf目录下service.xml找到<Host>节点,并且在该节点下新增:

<Context   docBase="/home/tomcat/webapps/project"  path="" debug="0" reloadable="true"  />    

说明:紫色部位为 你的项目路径,由于我是放到webapps目录下,所以就指向webapps


2、打开tomcat目录下的webapps目录,找到ROOT项目,将其改成另一个名字


3、重启Tomcat


重启成功后就能直接在浏览器中用 ip地址+端口 访问项目了

例:http://localhost:8081/login.htm  



最后:我还存在一个疑问,按道理我最开始的路径有项目名,那么我接下来的 相对路径请求 应该也会带有项目名的 

就好像http://192.168.50.248:8081/project/login.htm   请求是可以访问登录页面的,但是为什么我请求成功,return "/index"  的时候,

按正常来说应该返回到http://192.168.50.248:8081/project/index.htm    

可是返回的时候把项目名也丢了,地址变成了http://192.168.50.248:8081/index.htm    ,这就是我很疑问的地方,试了很多地方,也不知道哪里配置的


Tomcat 仅用ip和端口 不用项目名就能访问项目