以前访问tomcat下的项目时 一直都是 localhost:8080/projectName
后来感觉有点烦,每次都这样写,多麻烦啊 能不能直接输入ip地址(或者是localhost)就能访问到tomcat下的某一个默认的项目呢 ? 相当于项目中的欢迎页面 ! 于是就上网搜了一下 发现还真可以。 O(∩_∩)O哈哈~
首先打开tomcat安装目录下的conf/server.xml文件
1. 修改或者是增加tomcat的端口号
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
将上面的端口号改为80 或者是在加一条80端口号的记录 这样两个端口号都可以同时访问
2. 设置虚拟路径
<host>...</host>的标签之间添加 <Context docBase="E:\Tomcat 6.0\webapps\uploadPicture" path="" reloadable="true" debug="0" />
docbase: 项目的绝对路径
path: 访问该项目的路径 因为我们是想不输入项目名来访问这个项目,所以这个就为空
reloadable: 是否自动检测项目的变化。如果为true,则tomcat会自动检测项目的/WEB-INF/lib 和/WEB-INF/classes目录的变化,自动装载新的应用程序,我们可以在不重起tomcat的情况下改变应用程序。如果是false 就不检测 (推荐在开发的时候使用true 虽能debug消耗资源,但不用每次修改程序就重启tomcat,发布的时候用false)
debug : 调试信息 默认为0.
3. 保存文件 清空work/catalina文件夹下的所有文件, 重启tomcat 这样就可以直接通过ip地址访问项目了 ! O(∩_∩)O~
http://192.168.100.174
还有一种方法 就是把项目名改成ROOT。 感觉这个方法不怎么靠谱 就不写了 想要了解的可以看看 http://www.cnblogs.com/GT_Andy/archive/2010/08/31/1921753.html
遇到的问题
1. 80端口被占用, 这时候需要把占用80端口的服停了,或者是不改端口号了,通过 ip+port来访问
严重: Error starting endpoint
java.net.BindException: Address already in use: JVM_Bind:80
at org.apache.tomcat.util.net.JIoEndpoint.init(JIoEndpoint.java:501)
at org.apache.tomcat.util.net.JIoEndpoint.start(JIoEndpoint.java:515)
at org.apache.coyote.http11.Http11Protocol.start(Http11Protocol.java:204)
at org.apache.catalina.connector.Connector.start(Connector.java:1132)
at org.apache.catalina.core.StandardService.start(StandardService.java:531)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
2013-8-1 9:48:27 org.apache.catalina.startup.Catalina start
2. Unable to load configuration. - [unknown location] 不能读取到配置文件
jar包冲突 xerce.jar和xml-apis.jar这两个jar包冲突
删除xerce.jar
Unable to load configuration. - [unknown location]
at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:58)
at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:374)
at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:418)
at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:190)
at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)
at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)
at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)
at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3693)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4340)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:920)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:883)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
at org.apache.catalina.core.StandardService.start(StandardService.java:516)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)
at org.apache.catalina.startup.Catalina.start(Catalina.java:566)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
---------------------
作者:sessinsong
来源:CSDN
原文:https://blog.csdn.net/sessionsong/article/details/9668231
版权声明:本文为博主原创文章,转载请附上博文链接!