此问题是书城项目实战中主页面公告和热卖信息栏中所犯下的错误,也许是自己太笨,好一会才把问题解决,拿出来给大家分享一下,轻喷。
错误描述:
org.apache.jasper.JasperException: 在 [10] 行处理 [/index.jsp] 时发生异常
HTTP Status 500 – Internal Server Error
Type 异常报告
消息 在 [10] 行处理 [/index.jsp] 时发生异常
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
org.apache.jasper.JasperException: 在 [10] 行处理 [/index.jsp] 时发生异常
7: </head>
8:
9: <body>
10: <jsp:forward page="/client/product/showIndex"></jsp:forward>
11: </body>
12: </html>
Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:626)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:500)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119)
错误详情:
出现原因:
原来是之前就存在一个Notice的包:import com.mysql.cj.protocol.x.Notice;
后来自己创建了import com.bookstore.commons.beans.Notice;创建后没有重新导入。
百度的方案(均不对)
其实这些解决方案的出发点是对的,就是需要导入包,但因为有重名的包下的类,因为自己的不细心没能发现,而且被改头文件和版本问题误入,所以使我一度懵逼状态。
1、有的说的tomcat版本问题
2、jar包没导入
3、没导入jar包
4、改头文件
同学的方案:
把client前的斜杠去掉(当然不对)
7: </head>
8:
9: <body>
10: <jsp:forward page="/client/product/showIndex"></jsp:forward>
11: </body>
12: </html>
正确的解决方式:
导入自己创建的jar包,然后把报错的地方Alt+Enter一一改正。
主要就是controller层和service层
从这个问题可以看出,编程时一定要细心,否则一点小错误就会浪费掉很多时间去解决,而且这类问题编写代码时无明显报错,运行后的报错也是没有照应,百度解决方案也是驴唇不对马嘴。当然在今后的学习中我也要加强项目锻炼,能够快速的识别问题的原因,能够独立解决大多数项目中存在的问题。