我正在做一个简单的论坛,使用一系列Servlets
来代表主页、主题、帖子编辑、登录和用户列表页面。在其中一些页面上,当用户未登录时会出现一个链接。
我想要实现的是,在登录后触发重定向(使用RequestDispatcher上的forward()),使浏览器返回到用户在单击登录链接之前所在的页面。为了实现这一点,我有两个解决方案。
第一种解决方案是使用HTML Form
,其中包含一个登录按钮和一个不可见字段,该字段包含将作为Parameter
重定向页面的信息。虽然这是可行的,但我想尝试其他方法。
第二种解决方案是向session
添加一个Attribute
,以某种方式表示第一个“页面”。这可以包含字符串,但这与第一种方法没有区别。另一个变通方法是添加对HttpServlet的引用,并使用instanceof或静态字符串变量来以某种方式识别Servlet。但是,这将需要为所有Servlets
创建一个共同的祖先类。
也许您能看到另一个简单的解决方案,它能形成一个良好的折衷方案吗?或者,也许上述解决方案中的一个是完全可接受的?