开发者社区 问答 正文

求问,为啥把tomcat6.0换成tomcat7.0、tomcat8.0就报错了呢? ?报错

开发工具是用的是MyEclipse14,jdk1.6和1.8,使用tomcat6没有任何问题,但是换了tomcat7和tomcat8都出错
Tomcat7:在谷歌浏览器输入http://localhost:8080/test/报错:The requested resource is not available.但是此时Console没报错。
tomcat8:Console报错:java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.FilterDispatcher 在谷歌浏览器输入http://localhost:8080/test/出错: The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
求问该如何解决呢?

展开
收起
爱吃鱼的程序员 2020-06-23 14:52:13 990 分享 版权
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1.看看你tomcat7和8的weapps下面是不是有你要deploy的项目,再看看里面文件是否完整,用IDE部署项目有时候同步不完整。

    编译问题,,你换成tomcat8之后,要重新编译,,,不然会少一些class,就会提示java.lang.ClassNotFoundException:

    首先确认JDK和Tomcat的版本是否对应
    其次换过JDK后重新编译
    最后把tomcatwork、webapps里的内容清除掉,重新发布,再启动试试。

    tomcate7.0.2还是几之后,加入了特殊字符拦截处理机制,比如有些特殊字符tomcate高版本自动过滤掉了,前端页面F12会看到,包request请求的错误,
    建议继续使用低版本,或者将你请求中的特殊字符进行加密处理。

    1.查看项目的Properties中JavaCompiler中对应的变异环境的版本是否和Window下Preferences->java->InstalledJREs是否是一个版本。
    2.直接cmd,输入java-version查看目前环境jdk的版本是否正确,如果不正确,去环境变量,将jdk引入的顺序改成第一个。

    Tomcat6到Tomcat7内部发生了大的改动,如数据库驱动加载,线程启动,不会自动建立ROOT.xml目录,tomcat7配置管理员信息(tomcat-users.xml)也发生了改变,,详细解决方案请访问:http://bbs.51cto.com/thread-1115141-1.html

    先访问http://localhost:8080/看tomcat是否能访问,如果能访问则到tomcat部署的目录看工程是否正确部署。如果不能访问,启动时又没报错的话,则看下tomcat的端口是否设置为8080

    有修改项目的JDK吗?
    http://blog.csdn.net/jen_wu/article/details/78614925

    .class文件没找到,清空后重新编译一下

    1.在计算机左下角,输入java-version查看目前环境jdk的版本是否正确,如果不正确,去环境变量,将jdk引入的顺序改成第一个。
    2.有可能是tomacat目录丢失bin目录

    2020-06-23 14:52:31
    赞同 展开评论
问答分类:
问答标签:
问答地址: