Java 没有这样的文件或目录-Eclipse

Java 没有这样的文件或目录-Eclipse,java,eclipse,Java,Eclipse,我正在尝试将现有的jsp文件转换为pdf 为此,我正在使用itext库 用于转换的Servlet类 package com.kunal.servlet; import java.io.IOException; import java.io.*; import java.util.*; import javax.mail.*; import javax.mail.internet.*; import javax.activation.*; import javax.servlet.Servle

我正在尝试将现有的jsp文件转换为pdf

为此,我正在使用itext库

用于转换的Servlet类

package com.kunal.servlet;

import java.io.IOException;
import java.io.*;
import java.util.*;

import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.pdf.PdfWriter;
import com.itextpdf.tool.xml.XMLWorkerHelper;





/**
 * Servlet implementation class CartCheckout
 */
@WebServlet("/CartCheckout")
public class CartCheckout extends HttpServlet {
    private static final long serialVersionUID = 1L;

    /**
     * @see HttpServlet#HttpServlet()
     */
    public CartCheckout() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub

    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        try
        {
        // step 1
        Document document = new Document();
        // step 2
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("pdf.pdf"));
        // step 3
        document.open();
        // step 4
        XMLWorkerHelper.getInstance().parseXHtml(writer, document,
                new FileInputStream("WebContent/Test1.jsp")); 
        //step 5
         document.close();

        System.out.println( "PDF Created!" );
    }
        catch(DocumentException e)
        {
            e.printStackTrace();
        }


}
}
我的
Test1.jsp
文件位于
WebContent->Test1.jsp

当我运行servlet时,它会给出一个FileNotFoundException

堆栈跟踪

Sep 04, 2014 1:10:33 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
Sep 04, 2014 1:10:33 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:Agro' did not find a matching property.
Sep 04, 2014 1:10:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Sep 04, 2014 1:10:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 04, 2014 1:10:33 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Sep 04, 2014 1:10:33 PM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Sep 04, 2014 1:10:33 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 662 ms
Sep 04, 2014 1:10:33 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
Sep 04, 2014 1:10:33 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.9
Sep 04, 2014 1:10:35 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
Sep 04, 2014 1:10:35 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Sep 04, 2014 1:10:35 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 1626 ms
Sep 04, 2014 1:10:40 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [Cart_Checkout] in context with path [/Agro] threw exception
java.io.FileNotFoundException: WebContent/Test1.jsp (No such file or directory)
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(FileInputStream.java:146)
    at java.io.FileInputStream.<init>(FileInputStream.java:101)
    at com.kunal.servlet.CartCheckout.doPost(CartCheckout.java:62)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
    at org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Thread.java:745)
2014年9月4日下午1:10:33 org.apache.catalina.core.AprLifecycleListener init
信息:在java.library.path:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib上找不到允许在生产环境中实现最佳性能的基于APR的Apache Tomcat本机库
2014年9月4日下午1:10:33 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告:[SetPropertiesRule]{Server/Service/Engine/Host/Context}将属性“source”设置为“org.eclipse.jst.jee.Server:Agro”未找到匹配的属性。
2014年9月4日下午1:10:33 org.apache.coyote.AbstractProtocol init
信息:正在初始化ProtocolHandler[“http-nio-8080”]
2014年9月4日下午1:10:33 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息:为servlet写/读使用共享选择器
2014年9月4日下午1:10:33 org.apache.coyote.AbstractProtocol init
信息:正在初始化ProtocolHandler[“ajp-nio-8009”]
2014年9月4日下午1:10:33 org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
信息:为servlet写/读使用共享选择器
2014年9月4日下午1:10:33 org.apache.catalina.startup.catalina加载
信息:初始化在662毫秒内处理
2014年9月4日下午1:10:33 org.apache.catalina.core.StandardService startInternal
信息:开始服务Catalina
2014年9月4日下午1:10:33 org.apache.catalina.core.StandardEngine startInternal
信息:启动Servlet引擎:ApacheTomcat/8.0.9
2014年9月4日下午1:10:35 org.apache.coyote.AbstractProtocol开始
信息:正在启动ProtocolHandler[“http-nio-8080”]
2014年9月4日下午1:10:35 org.apache.coyote.AbstractProtocol开始
信息:正在启动ProtocolHandler[“ajp-nio-8009”]
2014年9月4日下午1:10:35 org.apache.catalina.startup.catalina start
信息:服务器启动时间为1626毫秒
2014年9月4日下午1:10:40 org.apache.catalina.core.StandardWrapper
严重:路径为[/Agro]的上下文中Servlet[Cart\u Checkout]的Servlet.service()引发异常
java.io.FileNotFoundException:WebContent/Test1.jsp(没有这样的文件或目录)
在java.io.FileInputStream.open(本机方法)
位于java.io.FileInputStream。(FileInputStream.java:146)
位于java.io.FileInputStream。(FileInputStream.java:101)
位于com.kunal.servlet.CartCheckout.doPost(CartCheckout.java:62)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:644)
位于javax.servlet.http.HttpServlet.service(HttpServlet.java:725)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
位于org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
位于org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
位于org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
位于org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
位于org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
位于org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:136)
位于org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
位于org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:610)
位于org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
位于org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:526)
位于org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1078)
位于org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:655)
位于org.apache.coyote.http11.Http11NioProtocol$Http11ConnectionHandler.process(Http11NioProtocol.java:222)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1566)
位于org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1523)
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
位于org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
运行(Thread.java:745)

如果您使用的是
FileInputStream(“WebContent/Test1.jsp”)
,这意味着该文件必须存在

如果要将所有JSP内容转储到不存在的PDF中,则应使用
OutputStreamWriter


运行web应用程序时,服务器webcontent文件夹中的内容将不可用。因此,最好在webcontent目录中创建一个名为jsp(或其他名称)的目录,并在servlet中使用/jsp/Test.jsp,它会工作。

显然,文件
webcontent/Test1.jsp
不存在……它在我的项目中。在WebContent文件夹中。