eclipse 发布项目修改context root及tomcat的server.xml配置

时间:2024-04-06 09:14:42

最近在eclipse中部署web项目的时候发现一个有关项目context path 的问题,几经查证终于解决现总结如下:

1.设置web项目的context root,这个值就是我们在访问web项目的时候,跟在端口后面的名称,例如http://localhost:8080/myweb/login/login 中的mybwe。选中项目右键选择Properties,如图:eclipse 发布项目修改context root及tomcat的server.xml配置

点击后选择Web Project Settings,在右侧的输入框Context root 中输入你想要的值。

2.设置context root 为/。因为一般的项目访问的时候,默认会以项目名称,也就是tomcat 在war包解压后的文件中标准文件(比如WEB-INF 等文件的父文件名)为context root。但是这个访问起来比较麻烦,每次都是需要输入这个值,所以一般我们需要将其设置为/,但是只是为了访问方便,我们并不去修改包名为/,当然你也是修改不了的。 

2.1 当项目还没有添加进server前。只要按照第一步修改项目的context root 为/,然后在server中添加该项目,之后运行,就会发现访问的时候不需要项目名称了,可以以“/”访问了,例如http://localhost:8080/login/login,是不是觉得很方便呀!

2.2当项目已经添加进server了。这个时候按照1步骤设置了项目context root,然后在server继续中发布项目,你会发现还是不对,没起作用,使用/访问项目还是报错。原因就在于server中的path并没有修改,这个path是真正在tomcat中起作用的值。请看tomcat官方文档解释:

eclipse 发布项目修改context root及tomcat的server.xml配置

然后怎么修改呢?方案一:删除server中的项目,然后重新添加。此时发现server中的path已经修改。如何查看呢?

打开server view,双击server。

eclipse 发布项目修改context root及tomcat的server.xml配置

选择Modules页签。

eclipse 发布项目修改context root及tomcat的server.xml配置

方案二。直接打开server的Modules页签,选择指定项目,选择Edit,输入path值为“/”,然后点击OK,后保存设置(ctr+S)。接着在server中启动项目,就会发现已经生效。

注意:这是tomcat的设置,假如是weblogic有网友发现是不可以的,需要在服务器中进行xml配置。

后续思考:其实eclispe也是在模仿tomcat的设置,所以按道理我们将war包拷贝到tomcat的路径,经过一定的设置也是可以实现上述目的的,目前正在研究中。后续会发博客