url没贴出来!
既然你说你本地测试没问题,那么你问题的重点应该放在-------本地和非本地的项目区别在什么地方?

解决方案 »

  1.   


    你是指项目中的url吗? 现在是连welcome-file里面指向的根目录下的index.html文件都打不开啊。linux那边的环境,因为是美橙的,我也看不到里面的布置。
      

  2.   


    你是指项目中的url吗? 现在是连welcome-file里面指向的根目录下的index.html文件都打不开啊。linux那边的环境,因为是美橙的,我也看不到里面的布置。
    看看
    访问的那个路径
    服务端口
      

  3.   

    经过一番努力,发现了,只要把web.xml里面struts2和spring的监听类注释掉,就可以正常访问jsp和html
    这是为什么 为什么注释掉监听就能正常访问啊 是不是先后顺序放错了 如果不注释掉 调整下顺序不可以吗
      

  4.   

    把spring和struts配置文件携程绝对路径, 试下
      

  5.   

    SEVERE: Error listenerStart
    应该是两个Listener的问题,具体什么问题,看下Tomcat的其他日志文件里,看下有没有信息。
      

  6.   


    先谢过楼上给位提示的思路。这里一起说一下吧。首先我是直接把TOMCAT的webapps文件夹下编译后的项目取出的,而且单独下载过tomcat5.5到本地测试,结果一切正常。这应该排除了编译后项目的问题。正如Juedaifanghua大神所说,应该是路径引用之类的出了问题,只是不太清楚windows和linux文件系统有哪里不一样。今天在公司下载了虚拟机和ubuntu,晚上回家再做个减法,好好看看是哪个配置的问题。如果问题解决了,我会第一时间发到这里。再次感谢楼上各位大神提供的解决思路。
      

  7.   


    先感谢楼上各位提供的思路,大家集思广益终于把这个问题解决了。现在第一时间贴出问题出现的原因和解决方案,如果有人之后遇过,请参考一下,也给自己留个备忘。问题原因:本地与服务器上JDK版本不一致。
    这里说明一下,我们写出的.java文件编译成.class文件走的是一个JDK流程,到tomcat容器中,运行.class文件这是另一个JDK(或JRE)流程。这两个环境如果Java版本不一致就会导致服务器直接在启动的时候宕掉。最关键的是,出错的时候尼玛Tomcat居然没有任何的提示!!!
    而这个问题的隐蔽性在用MyEclipse里面开发达到了最大化。
    我们都知道Tomcat启动的时候会自动检查环境变量里面的JAVA_HOME或JRE_HOME是否正确设置,如果没有设置就会提示错误。但是在这个过程中,如果是用Myclipse加载的Tomcat,这个java环境并不会应用到项目解析。 SHIT! 这个问题让我走到一个死胡同里面N久没出来。而Tomcat运行项目时候所使用的Java环境从哪里来?如果你用了MyEclipse,这货会很无节操的自己帮你选一个JDK给TOMCAT做解析用,尼玛,以前一直用1.6的时候无视了这个问题,今天终于醒目的发现在window-preferences-myeclipse-servers-tomcat-Tomcat N.x下面还有JDK的设置,在这里指定的就是Tomcat运行时候解析的Java环境。
    然后就是项目编译环境,大家应该都懂得,在Java-Compiler里面指定一个和Tomcat解析相同的版本就OK。BUT,如果之前项目使用JDK1.6创建的话,直接把这里改成1.5会报Project Facets不匹配,解决办法是:右键项目名-properties-Project Facets(有的MyEclipse版本中,是在Properties-MyEclipse-Project Facets),把java版本设为1.5即可。
    为了挽回这张3年码农的老脸,说的废话比较多,凑合着看吧。
    另外,Tomcat报错信息不明确的问题,这里倒是有一个算是技巧吧,希望能给大家一点思路。我的这个问题解决也是多亏了log4j兄台。方法就是利用log4j的DEBUG模式。我的项目中本身是有log4j的,只是把它的侦听类放到了最后,每次没加载到它服务器就挂了,因此一直没看到出错说明。所以,以后如果大家遇到在刚启动服务器就出问题的情况,可以考虑把log4j侦听类放到web.xml中的靠前的位置,比如放在welcome-file前面,这样就能确保第一时间看到出错的原因所在。
    最后,还是说一下这次获取的一个额外的经验吧。web项目在windows和linux下面运行,路径是不需要单独设置的,你完全可以使用如/WEB-INF/XXX.xml和classpath:xxxx.xml这种形式指定配置文件在linux下运行。再次感谢楼上各位提供的解决问题思路,结贴时分比较少不能一一照顾到请见谅。