Unsupported major.minor version 52.0
版本过低
[2021-02-07 08:25:52,537] Artifact javaweb-blog:war exploded: Error during artifact deployment. See server log for details.
java.lang.UnsupportedClassVersionError: com/nic/filter/AdminFilter : Unsupported major.minor version 52.0 (unable to load class com.nic.filter.AdminFilter)
一直报错,网上找一直是说和 jdk 的版本有关,但是 jdk 的版本尝试更换几个都无效。事实上是 Tomcat 的版本问题,项目开始用的是 Tomcat8.1 升级至 8.5.34 即可(升级 Tomcat9 可以否?会对下兼容吗?trytry)
org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]
warning:4.0 太高
org.apache.tomcat.util.descriptor.web.WebXml.setVersion Unknown version string [4.0]
用到 servlet 的页面跳转 404
web.xml 配置有误
页面能访问,也成功部署到 tomcat 下面的 weapps 文件夹下面,但是在进行页面跳转的过程中,会出现下面的 404 情况。分析之后是我这个项目是新建的一个空项目,然后代码是之前在 eclipse 下运行过的,而后直接将内容代码复制过来,却没复制 web.xml,导致现项目的 web.xml 是“空的”,无配置。
Tomcat 路径配置有误
还有一种情况,就是 tomcat 配置过程中的那两个路径也要注意下
调整为如下配置,不然会出现访问/jsp-peojectname/jsp-peojectname/index.jsp 页面为 404 的情况
其他类型错误
可能还有其他类型错误,参考以下的总结
数据库报错
navicat 也不能查看该数据库
HTTP Status 500 – Internal Server Error
Type Exception Report
Message get connection error!
Description The server encountered an unexpected condition that prevented it from fulfilling the request.
Exception
java.lang.RuntimeException: get connection error!
com.nic.util.JdbcUtil.getConnection(JdbcUtil.java:55)
com.nic.dao.ArticleDao.findArticle(ArticleDao.java:56)
com.nic.service.ArticleService.findArticle(ArticleService.java:20)
com.nic.servlet.PostlistServlet.doGet(PostlistServlet.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Root Cause
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1309)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1137)
java.lang.Class.forName0(Native Method)
java.lang.Class.forName(Class.java:264)
com.nic.util.JdbcUtil.getConnection(JdbcUtil.java:52)
com.nic.dao.ArticleDao.findArticle(ArticleDao.java:56)
com.nic.service.ArticleService.findArticle(ArticleService.java:20)
com.nic.servlet.PostlistServlet.doGet(PostlistServlet.java:50)
javax.servlet.http.HttpServlet.service(HttpServlet.java:635)
javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
Note The full stack trace of the root cause is available in the server logs.
Apache Tomcat/8.5.34
初步分析是用的 phpstudy 里面的 mysql 数据库不能生效,删除电脑之前的 mysql,用 phpstudy 数据库恢复
但是还会报错,判断应该是代码文件出错【不过不用将这个 jar 包导入到 lib 文件夹下(反而会报错),只需要将其导入到 tomcat 文件夹下的 lib 文件夹,即可】
mysql-connector-java-5.1.49.jar(或者直接上网搜再下载)~~