【问题标题】:How to write output continous row from servlet如何从servlet写入输出连续行
【发布时间】:2015-09-22 17:04:15
【问题描述】:

我正在处理JSPservlet。 下面的代码有效,但我希望它更有活力。

这是我的 JSP

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <form ACTION="Servlet" method="POST">
    <body><h1>Data Mahasiswa</h1>
        <table>
            <tr><td>Nama </td>
                <td>: <input type="text" name="Name" value="" /></td>  
            </tr>
            <tr><td>NIM </td>
                <td>: <input type="text" name="ID" value="" /></td>  
            </tr>
            <tr><td>Progdi </td>
                <td>: <input type="radio" name="Member" value="Not Member" />Not Member
                    <input type="radio" name="Member" value="Member" />Member
                 
                </td>  
            </tr>
        </table>
        <input type="submit" value="SAVE" />
        </form>
    </body>
</html>

这是我的 Servlet

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException; 
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Servlet extends HttpServlet {
    private String temp;
    private BufferedWriter writer;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter out = response.getWriter();
    String s1 = request.getParameter("Name");
    String s2 = request.getParameter("ID");
    String s3 = request.getParameter("Member");

    try{
try {
            String text = (s1 + " | " + s2 + " | " + s3);
            File file = new File("D:/write.txt");
            writer = new BufferedWriter(new FileWriter(file));
            writer.write(text);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                if (writer != null) {
                    writer.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }

    }
  finally{  
            out.println("<h1> Data Saved <h1>");
      }  
}

我想让我的输出 write.txt 如下

Bill | 788878 | Member
Mark | 655598 | Member
Ron | 953116 | Not Member

当前代码仅适用于 1 行。

我的意思是,每次重新输入的输入数据,它们都会写在输出 txt 文件的下一行。

【问题讨论】:

标签: java jsp servlets netbeans


【解决方案1】:

请尝试 writer = new BufferedWriter(new FileWriter(file, true));.

额外的true指定写入模式是append,而不是over write

append - 如果为真,则为布尔值,然后将数据写入到末尾 文件而不是开头。

【讨论】:

  • 但是,我如何让它能够写在下一行,因为我看到它写在下一列。我试过在后面加“\n”,但没用
  • 你在 Windows 中吗?如果是这样\n 单独没有帮助,你必须给\r\n。但是,您可以简单地给出这个声明writer.newLine();stackoverflow.com/questions/10034585/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-10
  • 1970-01-01
  • 2021-11-06
相关资源
最近更新 更多