Java/JSP输出一个文本文件

Java/JSP输出一个文本文件,java,google-app-engine,jsp,Java,Google App Engine,Jsp,我需要在我的网站上提供一个“文本”文件,以便合作伙伴可以每天阅读数据。我想动态生成这个“文本”文件。我们使用JSP和JavaServlets来创建我们的页面 当用户访问我的JSP或JavaServlet url时,是否有一种方法可以动态生成要下载的文本文件 我尝试过使用一个没有任何html的JSP。它确实在页面上放置了一些文本,但我似乎无法在输出中包含换行符,因此我认为最好将其作为要下载的文件来使用。要生成一些文本并下载,您可以使用以下方法: import java.io.IOException

我需要在我的网站上提供一个“文本”文件,以便合作伙伴可以每天阅读数据。我想动态生成这个“文本”文件。我们使用JSP和JavaServlets来创建我们的页面

当用户访问我的JSP或JavaServlet url时,是否有一种方法可以动态生成要下载的文本文件


我尝试过使用一个没有任何html的JSP。它确实在页面上放置了一些文本,但我似乎无法在输出中包含换行符,因此我认为最好将其作为要下载的文件来使用。

要生成一些文本并下载,您可以使用以下方法:

import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet( name = "TextOutputServlet", urlPatterns = { "/servlets/giveMeSomeText" } )
public class TextOutputServlet extends HttpServlet {

    protected void processRequest( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {

        response.setContentType( "text/plain;charset=UTF-8" );
        response.setHeader( "Content-Disposition", "attachment;filename=MyTextFile.txt" );
        PrintWriter out = response.getWriter();

        try {

            out.println( "Some content..." );
            out.println( "Some more..." );

        } finally {            
            out.close();
        }

    }

    @Override
    protected void doGet( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest( request, response );
    }

    @Override
    protected void doPost( HttpServletRequest request, HttpServletResponse response )
            throws ServletException, IOException {
        processRequest( request, response );
    }

}

你能详细说明一下这个问题吗<代码>但我似乎无法在输出中创建新行。您可以发布一些代码,说明您现在如何写入输出吗。您想向用户提供一个txt文件以供下载,还是只在网页中显示一些文本?谢谢David!这很有帮助!