Servlets 如何在CustomPhaseListener中获取请求对象?

Servlets 如何在CustomPhaseListener中获取请求对象?,servlets,cookies,request,jsf-1.2,Servlets,Cookies,Request,Jsf 1.2,我从一个链接点击我的Servlet。一些Cookies可能已经在客户端中设置。当点击我的Servlet时,我想检索这些Cookies 例如,我点击了http:/myDomain/myServlet/ServletReceiver这样的链接 在web.xml中,我有以下代码 <servlet> <display-name>ServletReceiver</display-name> <servlet-name>ServletReceive

我从一个链接点击我的
Servlet
。一些
Cookies
可能已经在客户端中设置。当点击我的
Servlet
时,我想检索这些
Cookies

例如,我点击了http:/myDomain/myServlet/ServletReceiver这样的链接

web.xml
中,我有以下代码

<servlet>
   <display-name>ServletReceiver</display-name>
   <servlet-name>ServletReceiver</servlet-name>
   <servlet-class>(location of my ServletReceiver)</servlet-class>
 </servlet>
 <servlet-mapping>
   <servlet-name>ServletReceiver</servlet-name>
   <url-pattern>/ServletReceiver</url-pattern>
 </servlet-mapping>
我的要求是,当我从
Cookies
检索一些数据时,我想将其设置为bean。由于我正在
CustomPhaselistener
中创建bean的实例(而不是
ServletReceiver
),如果我得到
请求
对象,通过它我可以获得cookie值,那么我可以在PhaseListener中的bean中设置它

我的bean的作用域是
request

那么,有没有办法在
CustomPhaseListener
中获取
request
对象呢

此外,我还在
doGet
方法中检索cookie。这是建议吗


我正在使用JSF 1.2

为什么不在会话中使用呢?@MaVRoSCy抱歉。我没有完全理解你。你的意思是让我的bean会话范围化?或者,您的意思是说在会话属性中共享我的值,并在PhaseListener中检索它?我不想将bean设置为会话范围,因为这是一个简单的页面,可以从用户处获取输入,我希望在用户发出新请求时,输入字段不要预先填充早期的值。通过会话共享值attributes@MaVRoSCy我不确定在我的
控制器中这样做是否正确(在我的
doGet
方法中)。因此,我正在寻找一种方法在我的PhaseListener中。请建议
public class ServletReceiver extends HttpServlet{
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Cookie[] cookies = request.getCookies();
    // Do some checks here based on cookies obtained and redirect to corresponding page
    RequestDispatcher dispatcher=request.getRequestDispatcher("/pages/index.jsf");
    dispatcher.forward(request, response);
 }
 }