java.lang.ClassNotFoundException:org.apache.catalina.connector.Response
我正在使用EclipseHelios编程运行在Tomcat5.5上的JSP和POJO。我尝试使用org.apache.catalina.connector.Response类,如下所示: 导入org.apache.catalina.connector.*; ... resp=(Response)r 其中r是HttpServletResponse的实例。Eclipse没有给出任何警告,并且项目编译良好。但是,当我浏览到包含此代码的页面时,会出现以下错误: java.lang.ClassNotFoundException:org.apache.catalina.connector.Response 知道出了什么问题吗 我也试过这种方法,结果也是一样的 org.apache.catalina.connector.Response resp=(org.apache.catalina.connector.Response)r 谢谢java.lang.ClassNotFoundException:org.apache.catalina.connector.Response,java,jsp,tomcat5.5,catalina,Java,Jsp,Tomcat5.5,Catalina,我正在使用EclipseHelios编程运行在Tomcat5.5上的JSP和POJO。我尝试使用org.apache.catalina.connector.Response类,如下所示: 导入org.apache.catalina.connector.*; ... resp=(Response)r 其中r是HttpServletResponse的实例。Eclipse没有给出任何警告,并且项目编译良好。但是,当我浏览到包含此代码的页面时,会出现以下错误: java.lang.ClassNotFou
我认为你不能用那门课。我不确定您想做什么,但是使用HttpServletResponse,您应该可以开始了。ClassNotFoundException意味着类在编译时可用,但在运行时不可用。因此,如何在源代码中导入它并没有什么区别
我还没有检查,但Tomcat很可能不允许web应用访问其内部类。我没有检查的原因是我知道即使我能做到这一点也不是个好主意。您应该根据API(在本例中,是javax.servlet.*下的内容)而不是实现来编写代码。显然,Tomcat设计人员并不认为Web应用程序使用其内部类是一个好主意。以下是几个可能的原因:
- 它使您的代码依赖于Tomcat
- 它使你的代码在面对内部细节的变化时变得脆弱;i、 这取决于Tomcat版本
- Tomcat堆栈或webapp上下文中的其他东西可能会导致响应对象是一个包装器,而不是您所期望的类
我之所以要将其转换为org.apache.catalina.connector.Response,是为了在将HTTP响应头发送到客户端之前读取它们中的内容
我明白了。也许你应该实现一个定制的阀门。(这是一个Tomcat特有的东西。)或者更好的办法是,看看是否有人能帮你完成这项工作 为什么要将其转换回servletcontainer特定的类,从而使您的应用程序无法在其他servletcontainer上运行?很有可能你根本不需要这样做。我怀疑你不知道如何在网上实现波佐的答案。这是真的吗?波佐的答案是实现这一目标的唯一正确途径。如果你在相应地实现它时遇到困难,你应该询问它,而不是询问如何实现错误的解决方案。你是对的。我正试着用另一种方法来绕过波佐的方法。也许你能解释一下他给我写了什么?我不明白他的建议,他也没有给我回信。我之所以要将其转换为org.apache.catalina.connector.Response,是为了在将HTTP响应头发送到客户端之前读取它们中的内容。任何建议或澄清都是非常感谢的。从另一方面来说,这肯定是可能的,但这只是一种错误的方法:)对不起,但这个答案是无用的。