本文转载http://xxs673076773.iteye.com/blog/1134805

最合适的)
最直接的办法是,删掉tomcat下原有Root文件夹,将自己的项目更名为Root。

我在$tomcat/webapps/下建了个myjsp目录作为我网站的默认目录,在myjsp中有一个a.jsp文件,该文件要作为我网站的默认主页。

修改配置文件:

首先,修改$tomcat/conf/server.xml文件。
在server.xml文件中,有一段如下:
……
<engine name="Catalina" defaultHost="localhost">
<host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
……
<host>
</engine>
……
在<host></host>标签之间添加上:

<Context path="" docBase="myjsp" debug="0" reloadable="true" />

path是说明虚拟目录的名字,如果你要只输入ip地址就显示主页,则该键值留为空;

docBase是虚拟目录的路径,它默认的是$tomcat/webapps/ROOT目录,现在我在webapps目录下建了一个myjsp目录,让该目录作为我的默认目录。

debug和reloadable一般都分别设置成0和true。

然后,修改$tomcat/conf/web.xml文件。
在web.xml文件中,有一段如下:
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
在<welcome-file-list>与<welcome-file>index.html</welcome-file>之间添加上:

<welcome-file>a.jsp</welcome-file>

更改端口
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />

将port "8080"改成你的端口

保存上述两个文件后重启tomcat,在浏览器地址栏内输入"http://localhost:8080/",显示a.jsp页面的内容。

(一)
【转】 如何修改TOMCAT的默认主页为你自己项目的主页
启动tomcat之后,在猫页上有这么一段话:
As you may have guessed by now, this is the default Tomcat home page. It can be found on the local filesystem at: 
$CATALINA_HOME/webapps/ROOT/index.html
这就说明,无论你怎么折腾你自己的web.xml文件,对不起,tomcat只认它自己的web.xml定义的welcome页面。
而<welcome-file-list>标签上的这段注释:
<!-- If you define welcome files in your own application's web.xml -->
<!-- deployment descriptor, that list *replaces* the list configured -->
<!-- here, so be sure that you include any of the default values that -->
<!-- you wish to include.
-->
修改过程
1.不要碰conf目录下的那个web.xml文件,让它老死在那里吧。
2.把原来的ROOT目录清空,里面什么都不要留。删掉或者改名随便你怎么弄都成。只要清空就好。
3.发布你自己的项目到ROOT目录下,用war包发布或者用直接拷贝的都一个效果。保证index.html/index.htm/index.jsp其中一个存在于ROOT目录下。
4.删除%CATALINA%/work目录下的一切。我就是没有清理这个目录,导致http://localhost:8080永远都是那只猫~~~~郁闷
5.通知服务商重启tomcat。
(二)

这里把用指定项目的主页替换tomcat主页的方法记录一下:

1、 更改tomcat端口为80

在tomcat目录conf下找到server.xml打开,找到

<Connector port="80" protocol="HTTP/1.1"

connectionTimeout="0"

redirectPort="8443" URIEncoding="gb2312"/>

port改为80.

如端口80被占用,解决方法:解决:在win的cmd命令窗口输入netstat -abn ->c:/port80.txt 然后到c盘port80.txt文件中找到占用80端口的程序pid,记下pid。打开任务管理器,点击“查看”/选择列,勾选“PID(进程标识符)”,然后单击“进程”标签,找到80端口对应的pid,就可以看到是那个程序占用的了,更改这个程序的port,再重启这个程序,使更改生效。

2、 设置默认访问主页为指定项目。

在server.xml中找到

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

</Host>

在标签中间插入:

<Context path="" docBase="xbwl" debug="0" reloadable="true"/>

docBase="xbwl" xbwl即为指定的项目。

完整如下:

<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true"

xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="xbwl" debug="0" reloadable="true"/>

</Host>

(三)

可以通过以下操作实现更改tomcat的默认主页所在的目录。
替换并保存一下内容为conf文件夹下的server.xml
<?xml version='1.0' encoding='utf-8'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!-- Note: A "Server" is not itself a "Container", so you may not
define subcomponents such as "Valves" at this level.
Documentation at /docs/config/server.html
-->
<Server port="8005" shutdown="SHUTDOWN">

<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at /docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- JMX Support for the Tomcat server. Documentation at /docs/non-existent.html -->
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

<!-- Global JNDI resources
Documentation at /docs/jndi-resources-howto.html
-->
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>

<!-- A "Service" is a collection of one or more "Connectors" that share
a single "Container" Note: A "Service" is not itself a "Container", 
so you may not define subcomponents such as "Valves" at this level.
Documentation at /docs/config/service.html
-->
<Service name="Catalina">

<!--The connectors can use a shared executor, you can define one or more named thread pools-->
<!--
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" 
maxThreads="150" minSpareThreads="4"/>
-->

<!-- A "Connector" represents an endpoint by which requests are received
and responses are returned. Documentation at :
Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
Java AJP Connector: /docs/config/ajp.html
APR (HTTP/AJP) Connector: /docs/apr.html
Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="80
connectionTimeout="20000" 
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
<Connector executor="tomcatThreadPool"
port="8080" protocol="HTTP/1.1" 
connectionTimeout="20000" 
redirectPort="8443" />
--> 
<!-- Define a SSL HTTP/1.1 Connector on port 8443
This connector uses the JSSE configuration, when using APR, the 
connector should be using the OpenSSL style configuration
described in the APR documentation -->
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

<!-- An Engine represents the entry point (within Catalina) that processes
every request. The Engine implementation for Tomcat stand alone
analyzes the HTTP headers included with the request, and passes them
on to the appropriate Host (virtual host).
Documentation at /docs/config/engine.html -->

<!-- You should set jvmRoute to support load-balancing via AJP ie :
<Engine name="Standalone" defaultHost="localhost" jvmRoute="jvm1"> 
--> 
<Engine name="Catalina" defaultHost="localhost">

<!--For clustering, please take a look at documentation at:
/docs/cluster-howto.html (simple how to)
/docs/config/cluster.html (reference documentation) -->
<!--
<Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster"/>
-->

<!-- The request dumper valve dumps useful debugging information about
the request and response data received and sent by Tomcat.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.RequestDumperValve"/>
-->

<!-- This Realm uses the UserDatabase configured in the global JNDI
resources under the key "UserDatabase". Any edits
that are performed against this UserDatabase are immediately
available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>

<!-- Define the default virtual host
Note: XML Schema validation will not work with Xerces 2.2.
-->
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">

<Context path="" docBase="C:\Tomcat6\webapps\pms" workDir="C:\Tomcat6\webapps\pms"/>

<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->

<!-- Access log processes all example.
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
prefix="localhost_access_log." suffix=".txt" pattern="common" resolveHosts="false"/>
-->

</Host>
</Engine>
</Service>
</Server>

(四)

方法一:(适合对服务器中单个站点的设置)
(d:\demo\为站点根目录)
在Tomcat中,默认主页为:index.html,index.htm,index.jsp
如果需要使用其他页面作为默认主页,需要配置WEB-INF文件夹下的web.xml文件:
如上例中:
在D:\demo\WEB-INF\文件夹中建立文件web.xml:
内容如下:

<?xml version=”1.0″ encoding=”UTF-8″?>
<web-app version=”2.4″
xmlns=”http://java.sun.com/xml/ns/j2ee”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=”http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd“>
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
</web-app>

方法二:(以下设置将应用于该服务器下所有的站点)推荐使用
打开文件conf/web.xml,找到这段代码:

<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

在中间加入你想要的文件名即可。
如:我想让hello.jsp成为默认首页,我将上面那段代码改成:

<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

最新文章

  1. 再读&lt;&lt;基于MVC的JavaScript Web 富应用开发&gt;&gt;
  2. Spring3系列1 -- HelloWord例子
  3. C# Socket编程 同步以及异步通信
  4. IPv4&amp;IPv6双重协议栈
  5. MySQL优化---DBA对MySQL优化的一些总结
  6. Dede 列表文章 自增
  7. mybatis的详解
  8. C#中单问号,双问号的用法(转)
  9. iOS开发多线程-线程间通讯
  10. 走进 Xamarin Test Recorder for Xamarin.Forms
  11. JS声明对象时属性名加引号与不加引号的问题
  12. AFM论文精读
  13. Spring Boot 定时任务使用
  14. SDN中的Heavy-Hitter测量文献阅读
  15. 深度学习框架Tensor张量的操作使用
  16. Shell常见问题整理
  17. 我是如何沉迷于linux系统的?
  18. vi 基本命令使用
  19. 【LeetCode】200. Number of Islands (2 solutions)
  20. Access2007 操作或事件已被禁用模式阻止解决办法

热门文章

  1. redis lpop key 当key不存在时,返回nil , 监测redis执行语句是否正常执行
  2. Mac 通过活动监视器关闭卡死进程
  3. 开发完 iOS 应用,接下去你该做的事
  4. python学习笔记——线程threading (一)
  5. C 标准库IO缓冲区和内核缓冲区的区别
  6. iOS9中怎样在日历App中创建一个随意时间之前開始的提醒(三)
  7. scikit-learn 入门
  8. 几种常见排序算法之Java实现(插入排序、希尔排序、冒泡排序、快速排序、选择排序、归并排序)
  9. (转) 共享个很棒的vim配置
  10. 用 Qt 中的 QDomDocument类 处理 XML 文件