当前位置: 首页 > 知识库问答 >
问题:

使用Apache POI org . Apache . jasper . jasper读取jsp中的Docx文件内容异常:无法为JSP编译类:

法兴德
2023-03-14

嗨,我想使用Apache POI库在网页上显示Microsoft docs内容

这可以作为Java应用程序正常工作。

但应用程序正在jsp上抛出异常

附言(同postscript);警官(police sergeant)

以下是我目前为止的工作

<%@ page import="java.io.*" %>
<%@ page import="org.apache.poi.openxml4j.opc.OPCPackage" %>
<%@ page import="org.apache.poi.xwpf.extractor.XWPFWordExtractor" %>
<%@ page import="org.apache.poi.xwpf.usermodel.XWPFDocument" %>
<body>
<form name="form1" method="get" action="FileServlet"
    style="height: 78px;">
    <input type="file" name="xls_filename" align="top"
        onchange="form1.submit()">
</form>
<%
    String filename = request.getParameter("xls_filename");

    if (filename != null && !filename.equals("")) {
%>
<br>You chose the file
<%=filename%>.

<br>It's contents are:
<%
    InputStream fs = null;
        String fileData;

        XWPFWordExtractor extractor = null;

        try {
            fs = new FileInputStream(filename);

            XWPFDocument hdoc = new XWPFDocument(OPCPackage.open(fs));

            extractor = new XWPFWordExtractor(hdoc);

            fileData = extractor.getText();
            System.out.println(fileData);
            // document.add(new Paragraph(fileData));
            System.out.println(" pdf document created");
        } catch (IOException e) {
            System.out.println("IO Exception");
            e.printStackTrace();
        } catch (Exception ex) {
            ex.printStackTrace();
        } finally {
            //  document.close();
        }
%>
<%
    }

%>
</body>

堆栈跟踪:

 at org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:102)
    at org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:331)
    at org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:457)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:378)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:353)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:340)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:646)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:579)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

以上是完整的堆栈跟踪和错误,如下所示:

jsp文件中的第40行出现错误:/index.jsp XWPFDocument无法解析为类型

jsp文件中的第40行出现错误:/index.jsp无法解析OPC包

在jsp文件:/index的第42行发生错误。jsp XWPFWordExtractor无法解析为类型

共有2个答案

夏俊杰
2023-03-14

您需要确保在jsp中添加了导入,并且在WEB-INF/lib中包含了所有需要的jar

<%@ page import="java.io.*" %>
<%@ page import="org.apache.poi.xwpf.extractor.*" %>
<%@ page import="org.apache.poi.xwpf.usermodel.*" %>
<%@ page import="org.apache.poi.openxml4j.opc.*" %>
<%@ page import="org.apache.xmlbeans.*" %>
谷梁英资
2023-03-14

Jar库未正确添加到类路径中

dom4j-1.6.1.jar,xmlbeans-2.3.0.jar,< br> poi-3.9-20121203.jar,poi.ooxml-3.9-20121203.jar,poi . oo XML-schemas-3.9-2012 12 03 . jar,

放置在罐子上方的库

为我工作

谢谢你的帮助

 类似资料:
  • 问题内容: 我是使用库的新手,但是我需要能够向忘记密码的用户发送电子邮件。我正在尝试使用JavaMail和Apache Commons Email来实现这一点。但是,我认为我一定是错误地导入了库。 当我尝试发送电子邮件时,收到以下消息: 编码: 堆栈跟踪: 我已经尝试了几件事: 将包含所有.java文件的org.apache.commons.mail文件夹复制到我的netbeans项目的源文件中,

  • 嗨,我正试图用tomcat编译一个简单的jsp文件,但我一直收到这个错误消息 test.jsp(在Webcontent上) member.java } 据我所知,我有这个问题是因为我的tomcat找不到类文件,所以我把类文件放在 生成/类/pageNumber(其中pageNumber是我的包名) WEB-INF/类/PageNumber Tomcat\work\catalina\localhos

  • 我是Spring MVC的新手,我试图创建一个简单的Hello World程序,但当我运行该程序时,它显示出以下错误: StackTrace:]根本原因为org.apache.jasper.JasperException:无法为JSP编译类: 在生成的java文件[d:\workspace\springtest1.metadata.plugins\org.eclipse.wst.server.co

  • 我使用的是最新的TomCat版本,我最近安装了Eclipse Java EE版本,所以它也是最新的版本。顺便说一句,我有最新版本的Java SE(JDK)。 这是我的课: 这是我真正简单的jsp代码: 我得到了这个错误: 类型异常报告 消息无法为JSP编译类: 说明服务器遇到意外情况,无法完成请求。 异常org.apache.jasper.jasperException:无法为JSP编译类: 在生

  • 我已经尝试了stackoverflow上提到的大多数建议,但还没有找到解决方案。我遇到的错误如下所示。 我正在使用IntelliJ IDEA 2016.2,并应用了这些设置。 →、到 →、到 →→→,到 →→→,到 我使用的是Tomcat V8.0.36,对于JSP servlet有以下内容。 任何建议将不胜感激!

  • 我正在为初学者做一个关于Udemy、JSP、Servlet和JDBC的课程:构建一个数据库应用程序,并在我的Tomcat9.0.27、XAMPP和Eclipse中遇到这个问题。我不确定错误是什么或在什么地方,我已经做了一个定制包,它被指示: Java包+Java类文件 JSP文件 类型异常报告 在jsp文件[/fun-test.jsp]中的行[7]处发生错误:无法解析FunUtils 4:5:6: