当前位置:文档之家› Tomcat如何配置去项目名称访问

Tomcat如何配置去项目名称访问

相关资料:1. /dobaibai/item/4cf925818faad25f850fab11多域名访问配置步骤2. /question/541651557.html配置后http://localhost:8080仍是访问TOMCA T主页问题解决3. /blog/1139064TMOCAT启动,虚拟机内存不足问题解决任务目标:两个项目《易汇》《体系管理》部署在同一服务器中,并易汇不通过项目名称访问,而体系管理通过“/qc”访问,效果如下:http://localhost:8080 访问易汇管理系统http://localhost:8080/qc/访问体系管理系统解决过程与遇到问题:刚开始尝试时候,参照相关资料连接1配置方式,进行模仿。

1.先解决只部署一个项目时,去除项目名称访问该项目找到D:\apache-tomcat-6.0.39\conf\server.xml 配置文件,并在<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"></Host>标签中插入<Context path="" docBase="D:\\project\\dcms" reloadable="true" debug="0"></Context>效果:<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path="" docBase="D:\\project\\dcms" reloadable="true" debug="0"></Context></Host>标签中插入在Context标签中path属性是相当于起到项目别名的作用,比如path=”/qc”就可解决任务目标中的第二条连接访问,docBase就是项目在的物理路径(刚开始对这个“项目”物理路径理解很模糊,网上也没有太详细的说法,导致了第一次的错误),reloadable这个属性就是自动部署,“true”为自动部署;debug 调试消息等级,0最低,9最高,越高信息越多。

当进行实际操作时,我发现,我对docBase这个所谓的“项目物理路径”根本就没概念,他是直接是我Myeclipse中正在开发调试的项目呢,还是一个已经完成了的项目呢?我需要的是直接就关联到我正在Myeclipse中的项目里,网上找的资料基本都是直接关联一个已经完成了的项目。

在大量的搜索资料后,我自己逐渐有了这个概念:这个“项目物理路径”其实是完成后的项目的路径,并不是想象中的Myeclipse中的项目路径。

但是要是我就是指向开发工具中的项目啊,于是我决定尝试。

其中我Myeclipse调试的项目的物理路径是:D:\myWork\ws\DevelopCenterManageSystem2 于是我将Context标签中的docBase属性做了改变,效果:<Context path="" docBase="D:\\myWork\\ws\\DevelopCenterManageSystem2"reloadable="true" debug="0"></Context>当做了以上修改后,我启动TOMCAT,发现根本就没有将项目部署进去,myeclipse控制台根本就没有任何部署启动该项目的信息。

所以,myeclipse中的项目路径并不是我需要的,于是又开始上网查找,在无意间,终于找到了,其实就是一级之差,docBase 需要的是myeclipse中的WebRoot这个目录,其实仔细想想也能明白,编译后的文件和页面文件都是存放于这个目录之下,服务器需要的不正是这些么。

于是修改配置:<Context path="" docBase="D:\\myWork\\ws\\DevelopCenterManageSystem2\\WebRoot"reloadable="true" debug="0"></Context>修改完成后,再一次启动TOMCA T,控制台终于刷出一片信息,项目终于通过修改配置文件自动部署了。

第一个小目标最终配置效果:<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path=""docBase="D:\\myWork\\ws\\DevelopCenterManageSystem2\\WebRoot"reloadable="true" debug="0"></Context></Host>查看调试信息,没有报错,启动成功,然后在浏览器中输入:http://localhost:8080但是发现跳转的页面仍然是TOMCAT的那个主页,但是项目明明部署了,而且path中设置的也是“”,照理说是应该跳转到项目的主页啊,于是继续上网找解决办法。

最后发现资料链接2中给出了解决办法,那就是删除D:\apache-tomcat-6.0.39\webapps\ROOT这个文件夹,于是我首先是删除了ROOT这个文件夹,发现仍然行不通,访问的仍是TOMCAT的主页,我尝试过清除缓存等方法,还是没用,于是就想到,是不是因为webapps这个目录下的其他文件夹影响了呢?于是我将webapps目录下的文件夹都清空了,启动后就报错了,而且还提示某某某文件不存在,找不到之类,于是我恢复了webapps文件夹(记得备份个TOMCAT,反正也不大),经过尝试只保留红框中的文件夹就行。

最后重启TOMCAT,用http://localhost:8080 访问,成功访问项目主页,第一个小目标完成。

2.部署两个项目,第二个项目使用http://localhost:8080/qc/访问直接开门见山,第一次尝试模仿修改配置文件成<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path=""docBase="D:\\myWork\\ws\\DevelopCenterManageSystem2\\WebRoot"reloadable="true" debug="0"></Context></Host><Host name="127.0.0.1" appBase="webapps2"<!--这个设置成webapps2-->unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path="/qc"docBase="D:\\myWork\\ws\\NT_MS_mysql\\WebRoot"reloadable="true"debug="0"></Context></Host>启动TOMCAT时,报了个错误我一直纠结于第一行,然后百思不得其解,查找各种资料,纠结各种尝试,其实真正的错误是最后一行“ng.OutOfMemoryError”,虚拟机内存不足,解决方法在链接3,直接在Myeclipse中Window—Preferences—Myeclipse—Servers—tomcat 5.x—JDK的Optional Java VM arguments配置为:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m修改后,启动TOMCA T成功,但是在访问时出现了问题,发现我只能这样访问这两个系统,即在配置文件中的localhost 和127.0.0.1是不一样的,并不是想象中的localhost 等于127.0.0.1,于是我只能这么访问http://localhost:8080 访问易汇管理系统http://127.0.0.1:8080/qc/访问体系管理系统思考后,了解到,以上的配置方法,其实是配置两个不同域名分别访问两个不同项目,并不是我所需要的,同一个“localhost ”域名访问两个项目,而Host标签中的name是唯一的,不能重名。

于是经过尝试,又修改了配置文件,效果如下:<Host name="localhost" appBase="webapps"unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false"><Context path=""docBase="D:\\myWork\\ws\\DevelopCenterManageSystem2\\WebRoot"reloadable="true" debug="0"></Context><Context path="/qc"docBase="D:\\myWork\\ws\\NT_MS_mysql\\WebRoot"reloadable="true"debug="0"></Context></Host>就是在同一个<Host></Host>标签中,配置两个<Context></Context>,需要注意的是,同个Host标签中的Context标签中的path不能重名,要么会启动失败报错。

相关主题