Tomcat 虚拟路径配置

Tomcat虚拟路径配置,参考地址:

http://www.fengfly.com/plus/view-64486-1.html

 

自己亲自试验总结如下:

Server.xml如下

<?xml version='1.0' encoding='utf-8'?>

<Server port="8005" shutdown="SHUTDOWN">

  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" />

  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />

    <Resource name="UserDatabase" auth="Container"

              type="org.apache.catalina.UserDatabase"

              description="User database that can be updated and saved"

              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"

              pathname="conf/tomcat-users.xml" />

  </GlobalNamingResources>

  <Service name="Catalina">

    <Connector port="8080" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina" defaultHost="localhost">

      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"

             resourceName="UserDatabase"/>

     <Host name="localhost"  appBase="D:/project2/yyy/WebRoot"

            unpackWARs="true" autoDeploy="true"

            xmlValidation="false" xmlNamespaceAware="false">

                            <Context docBase="" path=""/>

      </Host></Engine></Service></Server>

修改的时候,可以直接修改

<Host name="localhost"  appBase="D:/project2/yyy/WebRoot"

unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">

中的内容,把host 的name可以任意修改。

配置tomcat默认字符集修改这个:

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443"  URIEncoding="UTF-8" useBodyEncodingForURI="true" />

如果为本地的地址,但又想部署好多个项目,这可以直接这样用:

<Host name="www.wangbing.cn"  appBase="D:/project2/yyy/WebRoot"

unpackWARs="true" autoDeploy="true"xmlValidation="false" xmlNamespaceAware="false">

<Context docBase="" path=""/>//这行东西不能去掉,否则出错。</Host>

如果path给定值,例如:path=”wang”,则登录的时候为 http://www.wangbing.cn:8080/wang/...

如果为path=””,则可以直接输入:http://www.wangbing.cn:8080/.....

(yyy为一个项目,WebRootEclipse创建的项目的web根路径,如果自己改名字,则填写自己的名字。将$TOMCAT$/webapps/路径下的host­-manager文件包以及manager文件包拷到yyy/WebRoot/目录下)

上边的host name就是这个作用。appBase=””,后边的为项目所在目录,但必须写到WEB-INF目录上一层

做完这些工作,还要做一下如下:打开运行——》输入c:/WINDOWS/system32/drivers/etc 回车,找到hosts文件,打开hosts文件,输入如下:

127.0.0.1       localhost

127.0.0.1       www.langtoo.com

74.125.39.99              docs.google.com

127.0.0.1       www.wangbing.cn

这样,就可以拥有无数个项目同时运行在一个host中,仅仅如要在host name 修改为www.wangbing.cn即可。

异常信息:

"javax.naming.NameNotFoundException: Name jdbc is not bound in this Context"
解决方法:在tomcat 文件夹下找到   conf/context.xml文件,然后再context中加入如下配置:

<Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->
    <Resource name="jdbc/langtoo" auth="Container" type="javax.sql.DataSource"
                    maxIdle="30" maxActive="10" maxWait="10000" username="root" password="langtoo"
                     driverClassName="com.mysql.jdbc.Driver"
                             url="jdbc:mysql://localhost:3306/langtoo"/>
</Context>


还有在web.xml 中配置如下:

< resource-ref>
        <description>MYSQL SERVER DATASOURCE</description>
        <res-ref-name>jdbc/langtoo</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>




还有可能出现如下情况:
org.apache.jasper.JasperException: File "/struts-tags" not found
检查半天,没发现包和别的东西有问题,最后发现,如果倒入了struts-tags,但是没有使用,会导致此问题。这个问题不在于此,最终还是在于路径的问题,最好的方法是不直接在浏览器地址栏窗口上输入jsp的路径,而是用action间接的引导到相应的jsp文件,这样就可以解决这个问题。
还有一个情况:就是在tomcat中,struts.xml的第一个字母S不能大写,不然也报错








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值