我做了一个工程myApp,里边有jsp有servlet,放在webapps下可以运行,但放到root下边就无法运行了,提示servlet找不到,找过坛子里的帖子都没有找到解决办法·~
myApp里边WEB-INF下的web.xml文件配置好的,把这个xml文件拷贝到ROOT下WEB-INF里也还是不行~~
期待有高手抽时间来帮忙讲讲是咋回事?咋样可以解决?劳烦了~~提示一下重点都可以,我可以自己琢磨....
由于特殊情况,工程必须放在ROOT下边~
谢谢~~

解决方案 »

  1.   

    root 是需要你指定 你可以在MyEclipse里面调下就好了
      

  2.   

    你有没有把servlet的类放在WEB-INF/classes下面?
      

  3.   

    tomcat 下的项目工程部署,你可以先把项目压成 "myApp.war"格式的放在webapps下然后手动bin下的tomcat.exe,你可以看到在webapps下会自动编译生成一个myApp文件,而放到toot根下不会出现编译,所以说服务器tomcat是只在webapps下编译,客户端请求 ---servlet----编译成".class"文件----存入内存---响应请求,如果知识单单的jsp和html是可以在root根下编译的,但是有配置文件和配置关系时候服务器不能通过编译,所以只有在webapps下
    我也是自我想法有问题大家可以指正交流一下。。
      

  4.   

    我知道了,tomcat 下的项目工程部署,你可以先把项目压成 "myApp.war"格式的放在webapps下然后手动bin下的tomcat.exe,你可以看到在webapps下会自动编译生成一个myApp文件,然后把这个myApp文件 放到root下就ok啦就是说他下面必须有编译过的java.class。。
      

  5.   

    谢谢冰棍儿~~and帮我顶贴的朋友~
    我的工程在webapps下可以运行,也就是已经编译好的,war包只是一个压缩包吧,放到webapp下tomcat自动就可以解压的~~跟打不打包貌似关系不大O(∩_∩)O~我觉得
    我的servlet是放在我的工程目录下的WEB-INF,classes下的,也就是放在myApp/WEB-INF/classes/
    不是放在ROOT/WEB-INF/classes下的;
      

  6.   

    “我的servlet是放在我的工程目录下的WEB-INF,classes下的,也就是放在myApp/WEB-INF/classes/
    不是放在ROOT/WEB-INF/classes下的;”
    问题就出在这里
      

  7.   

    必须把servlet放在ROOT/WEB-INF/classes里边吗?
      

  8.   

    不管在哪里。.war不仅仅是压缩包。。你可以先试验下弄成.war格式的编译一下,生成一个myApp文件,然后把这个myApp文件 放到root下后把webapps下的所有myApp移走,你可以看一下效果。。这个跟开发工具中servlet位置没有关系的。。是一个部署问题
      

  9.   

    楼主问题解决了吗?我刚才建了一个简单带servlet的项目放到我的ROOT里,我这里一切正常啊。是在不行你建一个简单的带有Servlet的Demo放到ROOT里试试看行不行。或者你加我Q,我把我这个Demo放到你那试试。
      

  10.   


    你的意思是将工程打包成war包,放webapp下边,手动起tomcat,把自动生成的myApp拷贝到Root下??
    不行啊~~试过了·jsp文件可以访问,但servlet就不行了~
    另:war包可以用rar打开,里边的servlet已经是编译好的啊
    楼上~~你的QQ是多少嘞?我就是做了一个简单的工程,就一个jsp和一个servlet,jsp的表单的action为servlet,但就是提交表单的时候提示404~