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