Jsp虚拟目录的问题,我要晕了,99999!;回答正确马上给分!

fuzuyuan 2004-04-21 01:45:04
在tomcat 5.0中,我做好一个名为myjsp的项目,我将他放在G:\test目录下,当然tomcat在别的盘下,我修改了server.xml配置文件,加了一条<Context path="/test" doBase="G:\test\myjsp" debug="0" reloadable="true" crossContext="true"/>,然后我重启tomcat,在地址栏中打入http://127.0.0.1:8080/test但是却老出404的错误,我上面这样配置难道不对吗,或是还需要什么别的工作呢!请高手救我!
...全文
136 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuzuyuan 2004-04-26
  • 打赏
  • 举报
回复
我将和大家一起讨论!
---------------------------------------
题目更改为:我建立好一个项目site(site严格遵守web的目录结构,即有WEB-INF,classes,lib文件夹,有web.xml配置文件等,并且这个项目在默认的webapps目录下成功运行过),我的tomcat安装在c盘下,但我将site目录放在f:\webapps目录下,我要怎样建立虚拟目录!才能成功的运行这个项目。
---------------------------------------
解决办法
tomcat4.0虚拟目录的配置
1.找到conf目录,打开里面的server.xml文件
2.在</host>标签的前面加上<Context path="/site" docBase="f:\webapps\site" reloadable="true" debug="0"/>
3.找到<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">
标签(我的host标签是这样的,不知大家的是怎么样的,但大家只要找到host标签就可以了),将appBase="webapps"改为appBase="f:\webapps",即更改了主目录。
4.重启tomcat4.0,在地址栏中输入http://127.0.0.1:8080/site,是不是可以成功的显示出页面呢?

tomcat 5.0虚拟目录的配置
1.找到conf目录,打开里面的server.xml文件
2.在conf目录下大家应该可以看到有一个目录叫做Catalina,打到最底层目录,里面应该有二个xml文件,即admin.xml,manager.xml文件,然后自己建立一个文件叫做site.xml,在里面写上<Context path="/test" docBase="d:\webapps\site" debug="0" privileged="true"/>标签(大家可以参看manager.xml文件自己来写)
3.在server.xml文件中找到<Host name="localhost" debug="0" appBase="webapps" unpackWARs="true" autoDeploy="true">标签,将appBase="webapps"改为appBase="f:\webapps",当然这也是更改主目录。
4.重启tomcat 5.0,在地址栏中输入http://127.0.0.1:8080/site,是不是可以成功的显示出页面呢?
另附:可以将conf\Catalina\localhost目录下的admin.xml,manager.xml文件放置到别的地方去,因为你每次启动tomcat的时候都会出现找不到admin目录的错误,这当然不会有什么影响,但看着却蛮烦的!
-------------------
由此,我们是不是可以看出tomcat 5.0和4.0的配置区别呢,很显然,4.0所有的配置都是在server.xml文件中
配置完成的,而5.0一部分是在conf\Catalina\localhost\site.xml文件中配置的,而且site.xml还是自己建立的!
最后,多谢大家给的帮助,由其是joeqlb他给了我很大的启示,谢谢大家!

瓦力Wall-E 2004-04-25
  • 打赏
  • 举报
回复
在tomcat 5中server.xml中先定义了一个Engine,然后在这个Engine的目录下定义一个相应的目录,里面防止一个配置文件,在这个文件里面修改Context配置。在现在这儿没有tomcat 5,你可以看看tomcat 5的目录,在conf目录下应该还有admin等几个目录,admin里面是admin的配置,你可以参考一下。
「已注销」 2004-04-25
  • 打赏
  • 举报
回复
学习一下 我现在也头痛这事儿
pengpong 2004-04-25
  • 打赏
  • 举报
回复
up
zeeler 2004-04-25
  • 打赏
  • 举报
回复
你在哪里定义这个目录:d:\site\login
fuzuyuan 2004-04-25
  • 打赏
  • 举报
回复
org.apache.catalina.core.StandardService.start(StandardService.java:519)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at java.lang.reflect.Method.invoke(Method.java:324)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Error in resourceStart()
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Error getConfigured
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Context startup failed due to previous errors
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Exception during cleanup after start failed
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext LifecycleException: Container StandardContext[/login] has not been started
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4236)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.start(StandardContext.java:4139)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardService.start(StandardService.java:519)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at java.lang.reflect.Method.invoke(Method.java:324)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext resourcesStart
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Cannot find message associated with key standardContext.resourcesStart
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext java.lang.IllegalArgumentException: Document base d:\site\ch13 does not exist or is not a readable directory
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:185)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3753)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.start(StandardContext.java:3933)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardService.start(StandardService.java:519)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardServer.start(StandardServer.java:2343)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at java.lang.reflect.Method.invoke(Method.java:324)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:392)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Error in resourceStart()
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Error getConfigured
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Context startup failed due to previous errors
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext start
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext 严重: Exception during cleanup after start failed
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext LifecycleException: Container StandardContext[/ch13] has not been started
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4236)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.start(StandardContext.java:4139)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
fuzuyuan 2004-04-25
  • 打赏
  • 举报
回复
楼上一位老兄说的很对,应将<host>标签中的appBase也更改成绝对路径,我在tomcat4.0中这样做了后已经成功的建立了虚拟目录,但关键是我一直用的是5.0,而用5.0进行上面的配置,即添加<context>标签和更改<host>标签后却在加载时产生了很多错误!是不是5.0和4.0的机制不同产生的,还是我在配置中忘记了什么呢?请尝试过5.0虚拟目录配置并成功的高手告诉我!不胜感激。(我的webapps目录下的项目多的要炸了)
下面是加载时出现的错误!
2004-4-24 0:15:14 org.apache.coyote.http11.Http11Protocol init
2004-4-24 0:15:14 org.apache.coyote.http11.Http11Protocol 信息: Initializing Coyote HTTP/1.1 on port 8080
2004-4-24 0:15:14 org.apache.catalina.startup.Catalina load
2004-4-24 0:15:14 org.apache.catalina.startup.Catalina 信息: Initialization processed in 3805 ms
2004-4-24 0:15:14 org.apache.catalina.core.StandardService start
2004-4-24 0:15:14 org.apache.catalina.core.StandardService 信息: Starting service Catalina
2004-4-24 0:15:14 org.apache.catalina.core.StandardEngine start
2004-4-24 0:15:14 org.apache.catalina.core.StandardEngine 信息: Starting Servlet Engine: Apache Tomcat/5.0.12
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext resourcesStart
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext下 严重: Cannot find message associated with key standardContext.resourcesStart
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext java.lang.IllegalArgumentException: Document base d:\site\login does not exist or is not a readable directory
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.naming.resources.FileDirContext.setDocBase(FileDirContext.java:185)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:3753)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardContext.start(StandardContext.java:3933)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardHost.start(StandardHost.java:792)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1125)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:502)
2004-4-24 0:15:14 org.apache.catalina.core.StandardContext at
fuzuyuan 2004-04-24
  • 打赏
  • 举报
回复
上面唯一的一个错误我也改了,即doBase改为docBase还是不行啊,请救啊,上面所说的在图形介面里面改是怎么回事啊
stoneheenet 2004-04-24
  • 打赏
  • 举报
回复
你可以通过修改<Host name="xxx.xxx.xxx" appBase="c:\webapps" />
<Context path="test" docBase="test" debug="5" reloadable="true" crossContext="true">
</Context>
fuzuyuan 2004-04-24
  • 打赏
  • 举报
回复
对不起,也许我没说清楚,误导了大家!
我做了一个项目,那个项目肯定是已经经过成功检测了的,所谓成功检测就是放在默认的目录下运行,结果成功的显示了结果。然后,我将整个项目在移到别的盘下,这时通过上面的修改却不能显示了!
当然,我做的myjsp项目中肯定有相应的jsp文件,而且所有的目录,web.xml文件都是存在的!
正常情况下,在地址栏中打入http://127.0.0.1:8080/test,如果项目中没有index.jsp文件,程序会显示出myjsp中的所有jsp文件!这个大家肯定都有体会!但我一将项目移出,就报404错了,将项目移进默认目录下,却又可以正确显示了!
还有哪个知道,怎么将struts中的<html:radio>默认选中啊,好象<html:radio>没有checked这个属性啊!
enjoy330 2004-04-24
  • 打赏
  • 举报
回复
而你输入ie: http://127.0.0.1:8080/test
意思是运行webapp\root\test文件,jsp文件都不是(因为无扩展名)。不出错那一定是tomcat出错。

enjoy330 2004-04-24
  • 打赏
  • 举报
回复
2。中应该是不在webapp下,必配server.xml.
enjoy330 2004-04-24
  • 打赏
  • 举报
回复
假如我有一个名为test的文件家,并把它作为站点。myjsp.jsp是它下面的文件。
首先保证文件夹WEB-INF在test文件家下有。这是站点的基础。(tomcat\webapps\ROOT下把WEB-INF文件夹复制过来)
1。如果你test这个站点在tomcat目录下的webapp下,什么也不做就可以了。默认了。淡然也可以配server.xml:
<Context path="/test" docBase="\test" debug="0" reloadable="true" crossContext="true"/>
开ie,输入:http://127.0.0.1(或locahost):8080/test/myjsp.jsp 绝对ok!

2.如果你test这个站点在tomcat目录下的webapp下,如:g:下,那必须配server.xml
<Context path="/test" docBase="G:\test" debug="0" reloadable="true" crossContext="true"/>
开ie,输入:http://127.0.0.1(或locahost):8080/test/myjsp.jsp 绝对ok!

附加:配server.xml,
docBase="G:\test",表示test是站点文件家,你要运行的页面jsp文件如mytest.jsp在它下面。docBase是树跟。

看你的错误:
path="/test" doBase="G:\test\myjsp" 就算是:docBase="G:\test\myjsp"
它表示你所有站点文件在G:\test\myjsp目录下(如有a.jsp在此。)
开ie,输入:http://127.0.0.1(或locahost):8080/test/a.jsp 绝对ok!

你表是了虚拟目录文件家test=文件家G:\test\myjsp 而你输入ie: http://127.0.0.1:8080/test
你起码要指明运行哪个文件吧?(后面加“/bb.jsp”,就运行G:\test\myjsp\bb.jsp文件)
zcjl 2004-04-24
  • 打赏
  • 举报
回复
在G:\test\myjsp下建一个文件夹WEB-INF,然后在其下放一个web.xml
一个简便的方法是去tomcat\webapps\ROOT下把WEB-INF文件夹复制过来就ok了
fu80008 2004-04-24
  • 打赏
  • 举报
回复
学习不要过急!你最好用1.4!
enjoy330 2004-04-24
  • 打赏
  • 举报
回复
输入:地址兰
http://127.0.0.1:8080/test/myjsp.jsp
五分,骗人啊,我给你分吧
fuzuyuan 2004-04-24
  • 打赏
  • 举报
回复
特别声明,我是在tomcat5中做的试验,但是有哪位是在tomcat 4中做的也可以,但一定要成功了的,如果大家能亲自做下,在做成功的前题下,然后告诉我正确结果,将不胜感激!
另附:不放在根目录下!(因为那个大概谁都会吧^-^)
redlionjj 2004-04-24
  • 打赏
  • 举报
回复
放在webapps/root目录下,什么也不用改动,直接用
http://localhost:port/目录名/ 就可以了!
pengpong 2004-04-23
  • 打赏
  • 举报
回复
up
mlm0075851 2004-04-22
  • 打赏
  • 举报
回复
首先:你看自己是否配置环境变量:变量名:CATALINA_HOME
变量值:D:\Tomcat 4.1(安装Tomcat的目录)

其次:在有就是你配置server.xml时 test可能写成Test的,路径有时区分大小写的。weblogic就区分,Tomcat可能也区分。
建议用weblogic7.0
加载更多回复(5)

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧