Dim*_*ims 6 java session tomcat servlets liferay
我在Liferay中编写了自定义servlet,想要知道哪个用户页面调用它并知道其他参数如theme.但是请求的属性和会话字段都是空的.
如何使自定义servlet像portlet一样接收请求?
谢谢
它手动读取cookie.我想像Liferay那样做,即使用它的API.可能吗?
更新1.
我在一个WAR中有一个portlet和一个servlet.我可以从portlet JSP中知道我是谁(登录用户),如下所示:
HttpServletRequest request = (HttpServletRequest)pageContext.getRequest();
ThemeDisplay themeDisplay = (ThemeDisplay)request.getAttribute(WebKeys.THEME_DISPLAY);
themeDisplay.getUser()
Run Code Online (Sandbox Code Playgroud)
现在我想从servlet中做同样的事情.可能吗?
我正在使用自动部署的eclips.
您要么必须模仿 Liferay 在 portlet 请求处理中所做的事情(不推荐),要么将您的 servlet 代码放入 portlet 中 - 这可以是 portlet 的“资源处理” - 在这里您可以完全访问 http 请求并且可以自己完成有关流中传输的数据类型的所有操作。
我宁愿推荐这个,因为它会更容易升级。从逻辑角度来看,Portlet 资源处理程序与 servlet 非常相似。可能还有其他(更明智的)选择,但这就是我针对此类问题想到的。