Java 小程序。会话到期
我有一个带有applet和servlet的web应用程序。Servlet通过在web.xml中定义Java 小程序。会话到期,java,session,servlets,applet,Java,Session,Servlets,Applet,我有一个带有applet和servlet的web应用程序。Servlet通过在web.xml中定义SecurityConstaint节来保护。 小程序的操作持续时间很长,大约1.5小时。在此操作期间,小程序始终向servlet发送请求(使用标准的HttpUrlConnection)。但一段时间后,servlet将401未经授权的响应代码返回给applet。我认为会话过期会带来麻烦。那么我该如何解决这个问题呢 与servlet通信的小程序也应传递会话ID;通常作为cookie JSESSIONID
SecurityConstaint
节来保护。
小程序的操作持续时间很长,大约1.5小时。在此操作期间,小程序始终向servlet发送请求(使用标准的
HttpUrlConnection
)。但一段时间后,servlet将401未经授权的响应代码返回给applet。我认为会话过期会带来麻烦。那么我该如何解决这个问题呢 与servlet通信的小程序也应传递会话ID;通常作为cookie JSESSIONID
请参见。可爱,没有代码,我们如何指出是什么wrong@Satya为什么需要代码?:)它如何帮助你理解问题?@Satya我发布了所有需要解决问题的主要事实。无论如何,发布代码对您没有帮助。这取决于您是否经常发送请求的配置和实际证据。如果你不发,我们帮不了你。另外,我们如何知道在哪些情况下,Servlet
返回401而没有看到它。@SotiriosDelimanolis添加了Servlet,通过在web.xml中定义SecurityConstaint节来保护它。
对原始帖子的感知。我认为理解这个问题就足够了。我认为发布代码对这个问题没用。我的代码中没有bug。我问如何使applet恢复会话(这样会话就不会过期),根据问题中的信息,这是正确的答案。嗯。。这意味着浏览器不与applet共享JSESSIONID
?也就是说,我需要在小程序启动时手动捕获JSSessionID(对于exmaple,通过init参数传递它),并且在创建HttpUrlConnection
时,我需要将JSSessionID
设置为请求头?@MyTitle是的,它不是一个特制的URLConnection,而是标准的URL通信;没有添加任何内容。为了安全,只有沙箱限制。这是setHeader(“Cookie”,…)
或者web应用程序也可以接受会话ID作为URL参数。好的,谢谢。所以这是正确的:在创建HttpUrlConnection时,我需要将JSESSIONID设置为请求头
?@MyTitle您也可以在URL中传递它。