web tomcat 配置虚拟主机

来源:互联网 发布:成都网络 编辑:程序博客网 时间:2024/06/05 15:21
总所周知,在安装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
原创粉丝点击