当前位置: 首页 > 面试题库 >

无法加载JSP的类

强保臣
2023-03-14
问题内容

异常堆栈跟踪

org.apache.jasper.JasperException: Unable to load class for JSP
 org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:599)
 org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:143)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:321)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

java.lang.ClassNotFoundException: org.apache.jsp.redirect_jsp
 java.net.URLClassLoader$1.run(Unknown Source)
 java.security.AccessController.doPrivileged(Native Method)
 java.net.URLClassLoader.findClass(Unknown Source)
 org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:131)
 org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:63)
 org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:597)
 org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:143)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:321)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:308)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:259)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:729)

我的redirect.jsp文件内容

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<% response.sendRedirect("user/list.htm"); %>

问题答案:

在servlet容器的掩护下,JSP在执行之前先编译为Java类。

例外

java.lang.ClassNotFoundException: org.apache.jsp.redirect_jsp

表示redirect.jsp您的webcontent文件夹根目录中的文件无法编译,这通常意味着该文件在 scriptlet中
包含一些原始Java代码,<% %>这些代码包含语法错误。您需要修复这些语法错误,以便servlet容器可以编译那些JSP文件。但是,普遍的共识是,
scriptlet
是一种不好的做法。您应该考虑Java代码是否最好不属于由a
Servlet或a 控制的完全有价值的Java类Filter


另一个可能的原因是servlet容器的工作缓存被弄乱了。使用较差的IDE插件进行开发时可能会发生这种情况。您想清理工作缓存。例如在Eclipse中,可以通过右键单击服务器并选择
Clean
来做到这一点。否则,必须通过删除所涉及的servlet容器的工作高速缓存中的所有内容来手动完成此操作。以Tomcat为例,这就是/work文件夹中的所有内容。



 类似资料:
  • 问题内容: 当我尝试运行Hibernate时,我在控制台中收到以下消息。 但是hibernate状态很好。我的项目有什么问题吗?我使用Eclipse(Helios),Hibernate 3.6.8。我使用这些jar文件:antlr-2.7.6,commons- collections-3.1,dom4j-1.6.1,hibernate3,hibernate- jpa-2.0-api-1.0.1.F

  • 我试图从groovy脚本调用Oracle存储过程,结果出现了标题中的错误。 以下是我的剧本: 当我删除(它们是OUT parameters)参数时,脚本将被编译,所以我认为它们有问题······ 我找到了一个让我的程序工作的解决方案: 但我想有一个更好的方法来传递这些SQL参数... PS:我正在使用Groovy-2.4.13,并尝试了Oracle JDK9和1.8.0_151

  • 我正试图用PDFBox和Groovy来搞乱一下。我试图使用PDType1Font类的getStringWidth()方法计算字符串的宽度。 我的问题是,每次编译和运行代码时,都会出现这样一个错误: 代码如下: 为了清晰起见,我删除了代码中所有不相关的部分。 问题出在哪里? 更新:我在IntelliJ中搜索了一下如何将外部jar添加到我的类路径,发现我需要转到项目结构- 我试着这样做: 但我仍然收到

  • 我的系统中安装了JMeter 5.2.1。当我尝试执行下面的代码时,我遇到了这个错误。 响应消息:javax。剧本ScriptException:组织。科德豪斯。非常棒。控制MultipleComplationErrorsException:启动失败:类生成期间出现常规错误:java。lang.NoClassDefFoundError:无法加载类com。蔚蓝色的消息传递。事件中心。由于缺少依赖关系

  • 这是密码。没有警告,文件正常。

  • 本文向大家介绍jquery popupDialog 使用 加载jsp页面的方法,包括了jquery popupDialog 使用 加载jsp页面的方法的使用技巧和注意事项,需要的朋友参考一下 如下所示: 以上就是小编为大家带来的jquery popupDialog 使用 加载jsp页面的方法全部内容了,希望大家多多支持呐喊教程~