在doPost()响应中发送数据



我是一个完全的web编程初学者。我用Eclipse Java EE和运行在本地主机上的Tomcat服务器创建了一个应用程序。

应用程序的目标是从客户端获取信息并发回其他信息。

我开发了一个servlet并实现了一个完美工作的doPost()方法。我得到保存在名为USSDPull的bean中的信息,并将其写入名为log.txt的文本文件中。

public void doPost( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{

USSDPull ussdpull = new USSDPull();
                ussdpull.setUssdstring(request.getParameter("ussdstring"));
                ussdpull.setSessionid(Integer.parseInt(request.getParameter("sessionid")));
                ussdpull.setMsisdn(request.getParameter("msisdn"));
                ussdpull.setUssdcode(request.getParameter("ussdcode"));
                ussdpull.setEncoding(Integer.parseInt(request.getParameter("encoding")));
                response.setContentType("text/text");
                response.setCharacterEncoding( "UTF-8" );
                PrintWriter out = response.getWriter();
                out.flush();
                out.println("POST received : " + ussdpull.getUssdstring()+" "+ussdpull.getSessionid()+" "+ussdpull.getMsisdn()+" "+ussdpull.getUssdcode()+" "+ussdpull.getEncoding());
                //WRITE IN FILE
                FileWriter fw = new FileWriter("D:/Users/Username/Documents/log.txt", true);
                BufferedWriter output = new BufferedWriter(fw);
                output.write(dateFormat.format(date)+";"+ussdpull.getUssdstring()+";"+ussdpull.getSessionid()+";"+ussdpull.getMsisdn()+";"+ussdpull.getUssdcode()+";"+ussdpull.getEncoding()+"n");  
                output.flush();
                output.close();
}

我需要servlet将2个特定的布尔值和1个字符串发送回客户机。我不知道该怎么做。是否可以使用HttpServletResponse来发送数据?或者我是否需要找到一种方法来"调用"doGet()方法?

HttpServletResponse本身并没有给您一种将数据写回客户端的方式,除了一些标头,例如响应代码。

然而,它有一个叫做getOutputStream的方法和一个叫做getWriter()的方法,可以给你提供响应。一个OutputStreamPrintWriter。您可以使用它们将数据写入响应。

相关内容

  • 没有找到相关文章

最新更新