Tag: 响应

java make a method等待另一个进程的响应

在我的程序中,我连接到另一种语言的解释器进程。 我有时需要程序向解释器询问几件事并使用它的响应。 该过程存储在IProcess变量中,并且通过该过程的IStreamsProxy完成通信。 为了收到响应,我在IStreamsProxy中添加了一个IStreamListener。 但是,当我写入IStreamsProxy(使用write()方法)时,我需要代码来等待响应,例如要调用的侦听器的streamAppend方法。 我试着使用wait()和notify()方法,但我不知道应该在哪些对象上调用它们。 使通信调用如下方法的查询类: /** * Sends a command to the interpreter. Makes the current thread wait for an answer of the interpreter. * @throws IOException */ private synchronized void send(String command) throws IOException{ this.s48Proxy.write(command); try { System.out.println(“waiting for reply”); this.wait(); } catch (InterruptedException e) { System.out.println(“interruption exception: “+e.getMessage()); } } 和听众: […]

请求调度程序转发和servlet链接之间的区别

请求调度程序的forward方法和servlet链接的概念有什么区别? 例 RequestDispatcher rd= req.getRequestDispatcher(“pathToServlet”); rd.forward(req,resp); 这样做是在不涉及客户端(浏览器)交互的情况下转发请求。 但是我们可以使用Servlet Chaining实现相同的目标吗? 如果我们可以那么有什么区别?

Tomcat – Servlet响应阻塞 – 刷新问题

我正在使用Tomcat 6.0.36和JRE 1.5.0,我正在开发Windows 7上的开发工作。 作为我正在做的一些工作的概念certificate,从Java代码我是HTTP通过套接字将一些XML发布到servlet。 然后servlet回传xml。 在我的第一个实现中,我将两端的输入流交给XML文档工厂,以提取通过线路发送的xml。 这在servlet中顺利运行但在客户端失败了。 事实certificate它在客户端失败了,因为响应的读取阻塞了文档工厂超时并在整个响应到来之前抛出exception。 (文档工厂的行为现在没有实际意义,因为正如我在下面描述的那样,我在不使用文档工厂的情况下遇到了相同的阻塞问题。) 为了尝试解决这个阻塞问题,我提出了一个更简单的客户端代码版本和servlet。 在这个更简单的版本中,我从等式中删除了文档构建器。 双方的代码现在只是从各自的输入流中读取文本。 不幸的是,我仍然对响应有这个阻塞问题,正如我在下面描述的那样,它只是通过简单地调用response.flushBuffer()来解决。 谷歌搜索只搜索了我能找到的一个相关主题( Tomcat没有刷新响应缓冲区 ),但这不是完全相同的问题。 我已经包含了我的代码并解释了下面的确切问题。 这是我的servlet代码(请记住,这是一个简单的概念validation代码,而不是生产代码), import java.io.InputStreamReader; import java.io.LineNumberReader; import javax.servlet.ServletConfig; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public final class EchoXmlServlet extends HttpServlet { public void init(ServletConfig config) throws ServletException { System.out.println(“EchoXmlServlet loaded.”); } public void doGet(HttpServletRequest request, HttpServletResponse […]

Vaadin – 响应列

我是新手使用Vaadin并且一直试图弄清楚如何在全屏时让两个组件并排,但是当屏幕移动时,它们会叠加在一起。 我目前的理解是Horizo​​ntalLayout将事物并排放置。 VerticalLayout将事物放在一起。 那么我该如何使用两者的function呢?

jqgrid如何显示服务器端消息

我使用jqGrid以表格格式显示数据,使用JSP和servlet 。 编辑 我想在执行insert, update, delete等操作时显示来自服务器的错误。 (datatype: “xml”) jqGrid的 jQuery(“#list10_d”).jqGrid({ height:250, width:600, url:’Assignment?action=Assign’, datatype: “xml”, colNames:[‘Sr. No.’,’PID’, ‘DATE’, ‘EMPID’], colModel:[{name:’srNo’,index:’srNo’, width:30,sortable:false}, {name:’PID’,index:’PID’,width:0, sortable:true,editable:false}, {name:’DATE’,index:’DATE’, width:75,sortable:true,editable:true,editoptions: { dataInit: function(el) { setTimeout(function() { $(el).datepicker({dateFormat:”dd-M-yy”,showButtonPanel: true,changeYear: true,changeMonth: true}).attr(‘readonly’,’readonly’); }, 200); }}}, {name:’EMPID’,index:’EMPID’, width:150,sortable:true,editable:true} ], rowNum:10, rowList:[10,20,50,100], pager: ‘#pager10_d’, sortname: ‘PID’, viewrecords: true, sortorder: “asc”, }, multiselect: true, editurl: […]

用于处理Java中的异步响应的设计模式

我从类似的问答中读到答案 如何在JAVA中创建异步HTTP请求? | 异步编程设计模式 | AsyncTask Android – 设计模式和返回值 我看到很多解决方案,但没有一个真的让我满意。 听众的方式 捕获结果后,处理将在onResult方法中实现。 public interface GeolocationListener { public void onResult(Address[] addresses); public void onError(Exception e); } 这个解决方案并不能让我满意,因为我想在main方法中处理结果。 我讨厌这个接口,因为当返回响应时,它会在onResult中处理,导致处理链,无法返回“main”方法。 servlet的方式 public class SignGuestbookServlet extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse resp) throws IOException { // … resp.sendRedirect(“/guestbook.jsp”); } } 没有公开的Java代码调用servlet。 所有配置都在web.xml中完成 我想要的方式 等待这样的回复 Response a = […]

有没有办法从Java中的响应对象中读取cookie?

似乎HttpServletResponse没有公开任何方法来执行此操作。 现在,我正在为一个狡猾且不易理解的servlet添加一堆日志代码,试图找出它究竟是做什么的。 我知道它设置了一堆cookies,但我不知道何时,为什么或什么。 在servlet执行结束时只记录HttpServletResponse对象中的所有cookie会很好。 我知道cookie通常是浏览器的责任,我记得在.NET中无法做到这一点。 只是希望Java可能会有所不同…… 但如果这是不可能的 – 任何其他想法如何完成我正在尝试做的事情? 谢谢,一如既往。

从JSP请求/会话对象获取服务器IP地址

如何从JSP页面获取服务器的IP地址? 现在,我所能做的就是request.getLocalName(),它返回服务器名称,而不是IP地址?

OutOfMemoryError:接收2.3 MB的XML响应时

以下是连接到Web服务并从服务器接收XML响应的简单方法,大约2.3MB,我得到的是OutOfMemoryError ( 我已经提到过这个 ),但是找不到我的方式,卡住了很多 public synchronized String getUpdates(boolean news) throws Exception { String response = null; HttpPost httppost; DefaultHttpClient httpclient; ResponseHandler res=new BasicResponseHandler(); List nameValuePairs; httppost = new HttpPost(context.getString(R.string.SYNCURL)); HttpParams params = new BasicHttpParams(); HttpProtocolParams.setContentCharset(params, “UTF-8”); String lastupdate = null; SharedPreferences preferences = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); lastupdate = preferences.getString(LAST_UPDATE, DatabaseHelper.updateDate); if(news) lastupdate = preferences.getString(LAST_UPDATE_NEWS, lastupdate); httpclient […]