详解在Tomcat7.0中设置默认服务器和不加端口名访问
最近申请了一个域名,想尝试一下关联自己的服务器,首先要做的就是在阿里云上申请一个域名,此操作不写,跟着网站提示就可以搞定。
准备条件,新建web项目,部署到tomcat7.0服务器上,所用工具为Eclipse。
第一步:设置WEB项目的欢迎页
在WEB-INF文件夹下有个web.xml文件(最近新建的项目不包含此文件,可以手动新建),在welcome-file-list节点中设置,代码如下
<welcome-file-list> <welcome-file>test.html</welcome-file> </welcome-file-list>
这样,原先需要在浏览器访问http://192.168.0.108:8080/MyWebService/test.html,现在只要访问http://192.168.0.108:8080/MyWebService就可以访问test.html
第二步:去端口访问
上面访问的时候需要把IP+端口号都加上才可以正确访问tomcat,现在我们就要去掉端口直接用http://192.168.0.108来访问本地服务器。
如图,在Eclipse中有一个Service的配置项目:
打开其中的server.xml文件,找到 Connector 节点,可以发现默认的port是8080,将其改为80端口。
<!-- 这里将8080端口改成浏览器默认80端口,可以不输入端口只输入ip访问 --> <connector connectiontimeout="20000" port="80" protocol="HTTP/1.1" redirectport="8443"> </connector>
这时再访问上面项目的test.html只需要这样:http://192.168.0.108/MyWebService
第三步:设置tomcat的默认服务器
现在我们要做到这样的效果,访问http://192.168.0.108就可以打开test.html,那我们还需要设置默认服务器。
同上打开server.xml文件,找到Host节点(一般在最后),如果已经在tomcat中add过项目,这时在host节点中应该会有Context节点,它代表的就是添加到服务器的项目名和路径。
代码修改如下:
<host appbase="webapps" autodeploy="true" name="localhost" unpackwars="true"> <valve classname="org.apache.catalina.valves.AccessLogValve" directory="logs" pattern="%h %l %u %t "%r" %s %b" prefix="localhost_access_log." suffix=".txt"></valve> <!-- <context docbase="MyWebService" path="/MyWebService" reloadable="true" source="org.eclipse.jst.jee.server:MyWebService"/> --> <context path="" docbase="MyWebService" debug="0" reloadable="true" source="org.eclipse.jst.jee.server:MyWebService"> </context></host>
注释掉的部分就是先前直接add进来的项目配置,下面一条就是修改后的,注意:source="org.eclipse.jst.jee.server:MyWebService"这句话不可以省略,否则服务器启动出错,找不到具体项目。
这时再访问http://192.168.0.108就可以打开test.html了。
第四步:配置域名解析
先前申请过阿里云的域名,只要进入管理平台找到域名解析,将本地ip添加到域名解析中即可。
不需要带端口,默认访问80端口,添加解析ip的具体操作可以点击新手指导,DNS不需要修改(如果以前没修改过的话),这时就可以本地访问www.xxx.com来访问test.html,这里只可以本地访问,如果要想外网访问就要购买阿里的云服务器,再进行配置。