详解在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的配置项目:

详解在Tomcat7.0中设置默认服务器和不加端口名访问

打开其中的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添加到域名解析中即可。

详解在Tomcat7.0中设置默认服务器和不加端口名访问

不需要带端口,默认访问80端口,添加解析ip的具体操作可以点击新手指导,DNS不需要修改(如果以前没修改过的话),这时就可以本地访问www.xxx.com来访问test.html,这里只可以本地访问,如果要想外网访问就要购买阿里的云服务器,再进行配置。

相关推荐