Java 如何序列化HttpServletRequest/HttpServletResponse?
我有两个客户机(A和B)和Servlet。我想,当客户端向SERVLET发送请求时,SERVLET将请求重定向到客户端B,客户端B将响应发送回客户端A。客户端不是SERVLET!!!它们是普通的套接字客户端,因此不可能实现经典的servlet重定向 您对故障排除有什么建议吗Java 如何序列化HttpServletRequest/HttpServletResponse?,java,servlets,serialization,Java,Servlets,Serialization,我有两个客户机(A和B)和Servlet。我想,当客户端向SERVLET发送请求时,SERVLET将请求重定向到客户端B,客户端B将响应发送回客户端A。客户端不是SERVLET!!!它们是普通的套接字客户端,因此不可能实现经典的servlet重定向 您对故障排除有什么建议吗 非常感谢 首先,不能使用Java序列化来序列化HttpServletRequest或HttpServletResponse。符合这些API的对象通常包括对servlet实现堆栈中“stuff”的引用,该实现堆栈本质上是不可序
非常感谢 首先,不能使用Java序列化来序列化HttpServletRequest或HttpServletResponse。符合这些API的对象通常包括对servlet实现堆栈中“stuff”的引用,该实现堆栈本质上是不可序列化的 其次,您不能将请求“重定向”到另一个客户端。从HTTP协议的角度来看,这是没有意义的
- 当客户机向服务器发送请求,服务器响应有一个3xx状态代码,上面写着“在其他地方尝试该请求”时,就会发生重定向。它是指向不同服务器的重定向,而不是指向不同的客户端
- 甚至忽略重定向的细节。无法向HTTP客户端角色中的某个对象发送HTTP请求。它不会期待它(倾听它),也不知道如何处理它。(事实上,这违反了HTTP协议。)
如果你解释了你在这里实际想做的事情,我们也许能够提出明智的替代方法
我正在尝试跨服务器连接两个java客户端应用程序。客户机将能够直接与其他客户机通信 从字面上说,你不能用HTTP来做这件事。但您可以构建一个HTTP服务器/servlet,将消息从一个客户端传输到另一个客户端;e、 g
第三种选择是使用现有的RPC或对象代理技术;e、 g.RMI、CORBA、ICE等等您试图解决的真正问题是什么?我正在尝试跨服务器连接两个java客户端应用程序。客户将能够直接与其他客户沟通……没有服务器,我试图通过重读来理解op的思维过程,给这个问题一个机会,但仍然无法。两个java客户端应用程序?希望您能更多地了解“客户”的含义。感谢您的及时回复!!我有两个不同的客户端应用程序。他们在不同的地点,互相交换信息。我试图找到通过服务器将这两个应用程序组合起来的最简单方法。发送的数据不能通过服务器。服务器仅用于连接它们。这类似于TCP/UDP打孔……如果A需要直接向B发送信息,它需要直接打开与B的连接。服务器唯一可能的角色可能是告诉A B在哪里;i、 作为某种“名称服务”或“交易者服务”。你认为Java RMI可以通过服务器在两个客户端之间建立直接连接吗?@sales1307不可以。RMI也是一种客户机/服务器协议。我认为,在您了解“客户机”和“服务器”实际上是请求/响应交互中两个角色的名称之前,您不会在这方面取得任何进展。因此,如果有东西向“客户机B”发送请求,那么“客户机B”必须处于服务器角色才能接收请求。“客户端”发送请求。“服务器”侦听请求并发送回复。