tomcat设置默认页面问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat设置默认页面问题相关的知识,希望对你有一定的参考价值。

环境tomcat+eclipse3.2+花生壳动态域名解析
浏览器输入"我的域名/我的工程名/index.jsp"可以成功访问
现在想要直接输入"我的域名"便默认转入index.jsp
求教应如何设置
现在的问题是:浏览器输入"我的域名/我的工程名"可以成功访问index.jsp
要求直接输入我的域名便可直接访问index.jsp

如下两种方法:

(1)在站点层设置


这种方法是只对某个站点进行设置,不是设置该服务器下的所有默认首页,比如在我的tomcat下有3个站点,分别是web01,web02,web03,现在我只想设置web01的默认首页。那么,我要做的就是找到WEB-INF目录下的web.xml文件,编辑其中的welcome-file,假如我想把首页换成index.html,那么就可以做如上图所示的那种设置。

(2)在服务器层设置

假如我现在希望tomcat服务器下的所有网站或者目录,都是以一个自定义的顺序来当作默认的首页,比如先后设置为index.html、index.htm、index.jsp,表示当访问一个站点的时候,当站点下同时有index.html、index.htm、index.jsp这三个文件的时候,服务器会选择index.html为优先的默认首页,当没有index.html,那么优先首页就是index.htm,当只有一个index.jsp的时候,优先首页就是index.jsp。当上述的三个文件都不存在,当直接访问站点的时候,如果在站点层也没有指定首页,那么就会报错提示找不到首页文件的错误。

在服务器层设置的时候,要找到tomcat的安装目录,找到conf目录下的web.xml文件,修改其中的welcome-file,如上图所示。

参考技术A

    tomcat原来的默认根目录是//localhost:8080,如果想修改访问的根目录,可以这样:找到tomcat的server.xml(在conf目录下),找到:

    代码如下:<Host name="localhost" appBase="webapps"

       unpackWARs="true" autoDeploy="true"
       xmlValidation="false" xmlNamespaceAware="false"></Host>

在</Host>前插入:

代码如下:

<Context path="" docBase="D:/eclipse3.3/jb51.net/tomcat/" debug="0"/>

其中D:/eclipse3.3/jb51.net/tomcat/就是我想设置的网站根目录,然后重启tomcat。

再次访问//localhost:8080时,就是直接访问D:/eclipse3.3/jb51.net/tomcat/目录下的文件了。

2.tomcat的web.xml(在conf目录下),在该文件中找到

代码如下:


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

这是tomcat默认的3个文件,当你输入指定路径后,tomcat会自动查找这3个页面。如果想让tomcat自动找到自己的页面,比如main.jsp。可以修改上面信息为:

代码如下:


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

参考技术B server.xml,在<host></host>之间加入代码:

<Context docBase="...路径..." path="" debug="0" reloadable="true"/>
参考技术C 清空webapp\ROOT文件夹,将你的工程中的所有文件拷贝到ROOT下。追问

没解决,输入我的域名仍然显示Directory Listing For /

追答

把项目里默认主页删掉,直接使用root的默认主页,试试。

参考技术D 这个要在web.xml里的进行配置,<welcome-file-list>
<welcome-file>XXX.jsp</welcome-file>
</welcome-file-list>追问

这步我已经设置了,依然没解决

追答

是不是你写的项目配置中也有web.xml相关的文件,看下里面有没有配初始页

追问

项目和tomcat中都配置过,还是都没有效果

本回答被提问者采纳

tomcat设置端口号和默认webapp

tomcat一下载,解压之后webapps目录下自带几个webapp:

* docs文档:这是一个静态页面集,不用启动tomcat也可以阅读

* examples样例

* hostmanager主机管理器

* manager应用管理器

* ROOT根目录:这个app可以访问以上四个app,这个app是默认的app,这个app十分简单,只有一些资源文件和一个jsp页面。

安装完tomcat之后,在bin目录下启动startup.bat。在浏览器地址栏输入localhost:8080,仔细阅读首页,这个页十分重要,包罗万象,可以进入到文档,可以进入到配置......

有了文档,不需要百度,不需要从官网上下载文档doc-full.zip,仔细阅读之,一切问题在这里都能找到答案。

一.修改,添加端口号

tomcat默认端口号为8080,http服务的默认端口号为80。在浏览器地址栏输入ip或者域名之后,如果不输入端口号,默认就是80端口。

修改tomcat目录下的conf/server.xml文件,service标签下的Connector可以有多个,再添加一个80端口的连接就可以了

<Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />
  
<Connector port="80" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

二.设置默认应用

添加Context标签并设置docBase,需要注意在java中路径分隔符一律按照‘/‘来总是正确的。

<Host name="localhost"  appBase="webapps"  
           unpackWARs="true" autoDeploy="true">  
  
       <!-- 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  
            Note: The pattern used is equivalent to using pattern="common" -->  
       <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"  
              prefix="localhost_access_log." suffix=".txt"  
              pattern="%h %l %u %t "%r" %s %b" />  
    <Context path="" docBase="D:\apache\apache-tomcat-7.0.26\webapps\OnlineExam">  
            <WatchedResource>WEB-INF/web.xml</WatchedResource>  
    </Context>  
  
  
     </Host> 

实际上,上面介绍的这种方法乃是下策,上策是把webapp的名称直接改为ROOT,tomcat默认ROOT目录是默认webapp

以上是关于tomcat设置默认页面问题的主要内容,如果未能解决你的问题,请参考以下文章

tomcat服务设置默认欢迎页

Spring MVC或Spring Boot配置默认访问页面不生效?

tomcat设置端口号和默认webapp

myeclipse默认的web项目启动页面

Tomcat默认工具manager管理页面访问配置

Tomcat默认工具manager管理页面访问配置