Servlet没有从JSP获取会话:转发

时间:2012-01-17 04:02:21

标签: jsp session tomcat servlets

我是Java,Servlets和JSP的新手,并继承了我试图解决问题的应用程序。

我有一个JSP页面,它通过jsp:forward调用带有一些硬编码参数的tomcat servlet(Tomcat7)。这个JSP页面的目的是拥有一个简单,干净的链接,指向需要大量参数的Web资源。

servlet执行数据搜索并将结果绑定到会话,如果有超过10个项目,则可以通过后续Web请求进行分页。当使用servlet请求初始结果然后移动到后续页面时,这一切都正常。该网站使用cookie来管理会话。

以下是一个例子:

此作品 - 调用整页查询 http://cleanweb.co.nz/abode/getCategoryProducts.do?_siteId=7&_categoryId=1397&method=getCategoryProducts

然后跳转到结果的下一页(第2页)

这不起作用 - 调用JSP页面 (apache服务器使用重写将其转换为Full_Client_List.jsp) http://cleanweb.co.nz/Full_Client_List

然后跳转到结果的下一页(第2页)

如果我完全调用第一个请求(不是通过JSP页面),那么当我想查看后续页面时,servlet会记住结果

此设置适用于使用apache和tomcat(3.1)的旧服务器。通过将上述链接中的cleanweb.co.nz替换为202.191.38.129,可以看到这一点。

tomcat的开发有什么变化或我错过了哪些设置?

修改 我发现tomcat在路径中保存了带有上下文或应用程序名称的cookie,因此当导航到没有将其作为URL的一部分的页面时会话丢失。

解决方案(对我来说)是让tomcat将cookie路径设置为/。在我使用的版本中,通过将sessionCookiePath =“/”设置为tomcat server.xml配置文件中项目上下文标记的属性来完成

0 个答案:

没有答案