web tomcat 配置虚拟主机

总所周知,在安装tomcat后,并开启的状态下可以通过
http://localhost:端口号/

的形式去访问tomcat的主页,即localhost就表示了主机本身,这是怎么做到的呢?

这是因为在tomcat的server.xml文件中,配置了<Host>标签,以下为tomcat的<Host>标签内容:

 <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="/demo" docBase="D:\webdomn"/>
        <Context path="/test" docBase="D:\Workspaces\test\WebRoot" reloadable="true"/>
		<Context path="/xml" docBase="D:\Workspaces\xml_jsp\WebRoot" reloadable="true"/>
		<Context path="/king" docBase="D:\Workspaces\king\WebRoot" reloadable="true"/>

		<Context path="/ser" docBase="D:\Workspaces\Servlet\WebRoot" reloadable="true"/>
		<Context path="/struts2" docBase="D:\Workspaces\MyEclipse 10\struts2\WebRoot" reloadable="true"/>
-->		

        <Context path="/tian" docBase="D:\Workspaces\MyEclipse 10\tian\WebRoot" reloadable="true">
			<Resource name="jdbc/mysql"
				auth="Container"
				 type="javax.sql.DataSource"
				 driverClassName="com.mysql.jdbc.Driver"
				 url="jdbc:mysql://localhost:3306/test?autoReconnect=true"
				 username="root"
				 password="6012518"
				 maxIdle="30"
				 maxWait="10000"
				 maxActive="100"
          />
		</Context>
			
		<Context path="/shop" docBase="D:\Workspaces\MyEclipse 10\TestShop\WebRoot" reloadable="true"/>
		
		<Context path="/sunxin" docBase="D:\Workspaces\MyEclipse 10\sunxin\WebRoot" reloadable="true"/>

		<Context path="/mall" docBase="D:\Workspaces\MyEclipse 10\Shopping_mall\WebRoot" reloadable="true"/>

		<Context path="/register" docBase="D:\Workspaces\MyEclipse 10\register\WebRoot" reloadable="true"/>
		

		</Host>

最后的<Context>为对项目的位置进行配置,关于这点在此不多做赘述。主要是<Host>标签下的两个属性  :   

name="localhost"  appBase="webapps"
原来如此,在此处进行的配置,把localhost和127.0.0.1进行了连接!!


window/system32/drivers/etc/hosts

所以我们可以做如下实验,新建Host如下:

<Host name="www.baidu.com"  appBase="D:\Tomcat 7.0\test">
		
</Host>

D:\Tomcat 7.0\test

下可以建立web项目,必要的是ROOT文件夹,在该文件夹下,最简单目录结构如下:


WEB-INF目录结构如下:


配置web.xml,配置如下:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                      http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  version="3.0"
  metadata-complete="true">

   <welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
    </welcome-file-list>
</web-app>
即设置主页为index.html

然后重启tomcat,再次通过浏览器访问~却发现访问的仍为 百度的网站

因为浏览器有DNS服务器,会去解析www.baidu.com为什么地址,所以根本轮不到tomcat去使用。遇到这种情况,可以通过修改host文件完成,因为浏览器在询问DNS服务器前会去查询该文件,如果该文件有,则直接使用。host文件目录如下:

C:\Windows\System32\drivers\etc\host.ini文件

在该文件中添加如下语句:

127.0.0.1 www.baidu.com
接着就可以通过www.baidu.com访问到
D:\Tomcat 7.0\test
下的web项目了。

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值