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,如上图所示。
参考技术Atomcat原来的默认根目录是//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>
<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设置默认页面问题的主要内容,如果未能解决你的问题,请参考以下文章