当前位置:  技术问答>java相关

大虾们,帮帮我----怎样在两个Servlet之间通信?

    来源: 互联网  发布时间:2015-06-26

    本文导语:  有两个Servlet: Servlet A 和 Servlet B. Servlet A 先运行,运行一段时间后,Servlet B 由另外的请求启动运行, 现在,Servlet B 在运行中需要知道 Servlet A 中的一些变量当前值。 如何解决?请大虾们帮帮我。 ...

有两个Servlet: Servlet A 和 Servlet B.
Servlet A 先运行,运行一段时间后,Servlet B 由另外的请求启动运行,

现在,Servlet B 在运行中需要知道 Servlet A 中的一些变量当前值。

如何解决?请大虾们帮帮我。

|
1.应用ServletContext
  a.在Servlet A中,用setAttribute()设置你要共享的数据
  b.在Servlet B中,用getAttribute()读取以上的object
2.Session中使用的方法相同,但是保存在session中的object必须实现serizable 接口。以下是使用session保存数据的例子,读取数据也类似,建议看看有关ServletContextSession方面的资料,很有帮助。GOOD LUCK!  public void service(HttpServletRequest request,                     HttpServletResponse, response)             throws IOException{  // Get the session and the counter param attribute  HttpSession session = request.getSession (true);  Integer ival = (Integer)                  session.getAttribute("simplesession.counter");  if (ival == null) // Initialize the counter    ival = new Integer (1);  else // Increment the counter    ival = new Integer (ival.intValue () + 1);  // Set the new attribute value in the session  session.setAttribute("simplesession.counter", ival);  // Output the HTML page  out.print("");  out.print(" You have hit this page ");  out.print(ival + " times!");  out.print("");}

|
public void service(HttpServletRequest request,                     HttpServletResponse, response)  throws IOException
{  // Get the session and the counter param attribute HttpSession   
session = request.getSession (true);  
Integer ival = (Integer)session.getAttribute("simplesession.counter");  
if (ival == null) // Initialize the counter    
  ival = new Integer (1);  
else // Increment the counter    
     ival = new Integer (ival.intValue () + 1);  
// Set the new attribute value in the session  
session.setAttribute("simplesession.counter", ival);  
}

|
FT~~~~
这两个Servlet不能通过以上的方法通讯。
这算什么设计?还想得到A的引用
FT~~~

哦!可以用Application传!!!
跟sesion 和request用法一样
在Servlet里
this.getServletContext().setAttribute("a",yourObject);
Object a =this.getServletContext().getsetAttribute("a");

|
不太明白你说的,你是说的另一个请求是是谁发出的?
Serlet A?要不就是另一个IE启动的一个请求?
还是Frame的有两个Servlet(A,B)一个改变另一个要刷新?

建议在Serlet中传参数用request和session

|
很简单了,

|
request.setAttribute()
request.getAttribute()


|
你的设计有些问题

|
context, session, request, attribute这些都可以啊

|
把请求转给另一个servlet就可以了啊
然后接收另一个servlet的返回数据

    
 
 

您可能感兴趣的文章:

  • QTextBrowser的拖影问题,各位大虾,帮帮忙
  • U盘的LINUX系统问题,大虾们帮帮忙。
  • 哪位大虾能帮帮我啊
  • 各位大虾segmentation fault的问题。我都晕了,帮帮忙吧,仅有的10送给你
  • 救急!本人小菜,在安装linux下得vsftpd时遇到了问题,那位大虾帮帮忙啊
  • 大虾们,帮帮忙!
  • 请各位大虾帮帮小弟,只一个小忙而已,谢谢!
  • 那位大虾有关于内核模块方面的资料啊,急需啊~~~~~~~帮帮我提供一点资料
  • 大虾们帮帮忙
  • 各位大虾帮帮忙!
  • 新手求救,大虾帮帮忙。。。。。。。。。
  • 各位大虾帮帮忙,急!!!——有关字节对齐问题
  • 大虾帮帮我救命呀!!
  • 请教熟悉JavaMail的大虾请帮帮忙,多谢了!
  • 大虾们啊,帮帮我这个菜鸟吧!!!
  • 哪位大虾能帮帮我?
  • 莫名其妙的问题,大虾帮帮忙
  • 关于wu-ftp如何运行?请大虾们帮帮忙!
  • 急:我安装red hat linux,碰到小问题,各位大虾快帮帮我吧(在线等待。。。)
  • ☆☆☆急急急急急啊!!!各位大虾帮帮忙啦!小弟的机子进不去了!
  • 请问各位大虾,怎么实现三层页面之间的参数传递?
  • 请教大虾们:在shell脚本中如何用expr连续进行多个变量之间的计算
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 各位大虾,小弟有一事不明,请大虾赐教!
  • 在solaris下如何卸载wu-ftpd???????????????????????谢谢大虾!!!!!!!!!!
  • 请大虾们谈谈linux和unix的异同吧
  • 请大虾,详细介绍一下JavaBean的写法,和调用过程!
  • 对LDAP有研究的大虾请进,见者有分
  • 超级新手菜鸟请问各位大虾!
  • 各位大虾,一个初学者该怎样开始学习java?
  • 请问各位大虾,什么地方有Jsp学习资料?
  • 哪位大虾知道weblogic与websphere的差别?
  • 大虾救命!APACHE没有理睬JSP?!!!
  • 请问各位大虾,如何把一个String赋值给一个Char[]??
  • 大虾救命啊!!!50分!!!
  • 哪位大虾指点一下哪里有weblogic下载啊???
  • 请问各位unix大虾,哪有免费的unix下载?
  • 初学者求救!!哪位大虾给点源代码?
  • 在下初学java,请各位大虾推荐几个java学习网站吧!
  • 请各位大虾介绍几个好一点的linux论坛,谢谢!
  • 大虾救命,dos下面怎么输入中文?
  • 请问大虾们,如何学习linux?
  • session里面可以放整型数吗?大虾请指教!!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3