【问题标题】:Save form details in a file in JSON format JSP-Servlet将表单详细信息保存在 JSON 格式 JSP-Servlet 的文件中
【发布时间】:2017-05-25 19:03:03
【问题描述】:

我在 jsp 中创建了一个注册表单,然后使用 servlet 检索了这些值。

在 servlet 中,我编写了代码来创建文件并尝试在该文件中以 json 格式保存数据。

但我无法保存数据:-(

我可以使用请求调度程序将这些值转发到下一页吗? 完全糊涂了……

        File f=new File("C:\\Users\\marslab4\\workspace\\Registration\\WebContent\\sample2.json");
        f.createNewFile();
        //out.println("json");
        /*FileWriter filewriter = new FileWriter(f, true);
        filewriter.write("first name:" + fname);
        filewriter.write("last name:" + lname);
        filewriter.write("user name:" + uname);
        filewriter.write("email:" + email);
        filewriter.write("password:" + pswd);
        filewriter.write("confirm password:" + repswd);
        filewriter.write("phonenumber:" + phonenumber);
        filewriter.write("security question:" + SecurityQuestion);
        filewriter.write("answer" + tarea);
        filewriter.flush();
        filewriter.close(); */

    //saving in JSON form

    JSONObject json=new JSONObject();
    JSONArray jarray=new JSONArray();
    JSONObject details;
   try
    {
       for(int i=0;i<10;i++)
       {
               details = new JSONObject();
               details.put("firstname:",fname);
               details.put("lastname:",lname);
               details.put("username:",uname);
               details.put("email:",email);
               details.put("password:",pswd);
               details.put("confirm password:",repswd);
               details.put("phonenumber:",phonenumber);
               details.put("security question:",SecurityQuestion);
               details.put("answer:",tarea);
               jarray.put(details);
       }
               json.put("details",jarray);
    }
    catch(JSONException e)
    {
        out.print("unable to save in JSON File");
        e.printStackTrace();
    } 
   response.setContentType("application/json");
   response.getWriter().write(json.toString());

我的 servlet 代码,获取表单值到 Servlet,然后保存到文件

response.setContentType("text/html");
PrintWriter out = response.getWriter();
String fname=request.getParameter("fname");
String lname=request.getParameter("lname");
String uname=request.getParameter("uname");
String email=request.getParameter("email");
String pswd=request.getParameter("pswd");
String repswd=request.getParameter("repswd");
String phonenumber=request.getParameter("phonenumber");
String SecurityQuestion=request.getParameter("SecurityQuestion");
String tarea=request.getParameter("tarea");

【问题讨论】:

  • 您需要将请求保存在文件中吗?或者您是否需要将一些信息发回给客户?你想先解决哪个问题?
  • 嗨@alayor 首先我需要保存到文件中。稍后我需要解析该JSON对象以显示给客户端
  • 为什么无法保存到文件中?你能从客户端获取数据到 servlet 中吗?
  • 在 txt 文件中我可以保存。但是,我需要它以 JSON 格式保存..“名字:ganeshlast name:pasupuletiuser name:ganeshpemail:ganesh@gmail.compassword:jhansi123confirm password :jhansi123电话号码:9999999999安全问题:foanswerbchboifhbxhifhg "
  • 我猜你可以使用相同的代码保存在 txt 文件中——但是以这种方式调用 writer 方法filewriter.write(json.toString());

标签: java json jsp servlets


【解决方案1】:

你可以试试下面的代码:

File f = new File("C:\\Users\\marslab4\\workspace\\Registration\\WebContent\\sample2.json");        
FileWriter filewriter = new FileWriter(f, true);
filewriter.write(json.toString()); // Pass json object.
filewriter.flush();
filewriter.close();

您应该传递您创建的 json 对象,而不是单独传递每个请求参数,如上所示。

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2012-07-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 2019-03-17
    • 2020-07-30
    • 1970-01-01
    • 2011-11-14
    相关资源
    最近更新 更多