我有多个servlet和jsp页面(大约100个),我想使用HttpSession
为这些页面进行会话管理。在设置HttpSession.getAttribute()
的属性后,是否有必要在每个servlet和jsp页面中检查HttpSession
。
有没有方便的方法,以便我不必检查每个servlet和jsp文件中的HttpSession.getAttribute()
?
答案 0 :(得分:1)
我想你想要实现的目标可以使用 Servlet过滤器来完成。有关详细信息,请查看: - http://www.journaldev.com/1933/java-servlet-filter-example-tutorial
http://tutorials.jenkov.com/java-servlets/servlet-filters.html
答案 1 :(得分:0)
如果您不想在每个servlet(和jsp)中重复检查会话,您可以创建一个基本servlet类,其service()
方法在开头用HttpSession.getAttribute()
覆盖代码,然后调用您必须在所有servlet中实现的抽象doService()
,后者必须从基本servlet扩展。对于JSP来说,它有点棘手(因为从JSP扩展很复杂,甚至可能不实用),但是您可以拥有一个带有此代码的JSP片段,您可以在开头的所有JSP中<@include ...>
。使用JSP的一些模板框架将使其更容易。希望,这可以让您对如何继续前进有所了解。