java - 在 doPost() 响应中发送数据?

标签 java servlets http-post tomcat7 eclipse-jee

我是网络编程的初学者。我使用 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 个特定 boolean 值和 1 个字符串。我不知道如何继续。是否可以使用HttpServletResponse发送数据?或者我是否需要找到一种方法来“调用” doGet() 方法?

最佳答案

除了某些 header (例如响应代码)之外,HttpServletResponse 本身并不提供将数据写回客户端的方法。

但是,它有一个名为 getOutputStream 的方法和方法getWriter()这给了你回应。 OutputStreamPrintWriter。您可以使用它们将数据写入响应。

关于java - 在 doPost() 响应中发送数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31809417/

相关文章:

java - 从上面的包扩展类

java - 'Swizzle'(也许通过反射?) addView() 在 Android 上

java - 如何从 servlet 显示带有图像的 html 文件?

php - HttpPost 在 Android 中不工作

java - 如何在按下按钮时循环播放声音并在释放时停止播放?

java - 如何从 recyclerview newsapi 加载 url

javascript - 如何将 jsp 上的 javascript 变量传递给 servlet

jsp - 使 Servlet 重新加载调用它的页面

c# - 使用来自 $http post 服务的模型重定向到 MVC View

javascript - 如何将对象从 Angular 发布到 webapi Controller