当前位置: 首页 > 面试题库 >

ServletRequest中的会话变量

严心水
2023-03-14
问题内容

我需要通过过滤器访问会话变量。我什至不知道是否可能。实际上,问题在于实现的doFilter方法类型javax.Servlet.FilterServletRequest,而HttpServlet继承了类,而doPost方法的参数request是HttpServletRequest。

  1. 我可以在ServletRequest的过滤器中访问会话吗?
  2. 我应该那样做吗?
  3. 你能推荐我什么?

谢谢!


问题答案:

只需将获得的内容转换ServletRequest为即可HttpServletRequest

@Override
public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) req;
    HttpSession session = request.getSession(false);
    // ...
}


 类似资料:
  • 我的目标是用过滤器截获ServletResponse,并在其显示在网页上之前向其添加一些自定义html。我还想做一些计算,并将结果添加到会话变量HashMap中,以便在后续调用中访问。 我不知道如何从doFilter方法中的ServletRequest获取会话。这是我的代码: getSession的行抛出 JAVAlang.IllegalStateException:在提交响应后无法创建会话 如果

  • 问题内容: 使用大猩猩会话网络工具包时,不会跨请求维护会话变量。当我启动服务器并输入localhost:8100 /时,由于会话值不存在,页面被定向到login.html。登录后,我在商店中设置了会话变量,页面被重定向到home.html。但是,当我打开一个新选项卡并键入localhost:8100 /时,应使用已存储的会话变量将页面定向到home.html,但应将页面重定向到login.html

  • 问题内容: 我刚刚完成了在PHP中创建整个登录和注册systsem的操作,但是我的问题是我还没有使用任何会话。我是PHP的新手,以前从未使用过会话。我想做的是,在用户注册并填写登录表单后,他们仍将停留在同一页面上。因此,其中一部分将是会话已登录,另一部分将是其他(用户未登录,请显示登录表单)。谁能告诉我如何开始? 问题答案: 希望这可以帮助 :) 开始会话,您需要在页面顶部或在调用会话代码之前说出

  • 如何为drools无状态会话设置全局变量。 假设两个线程访问同一个会话,但为每个线程设置一个全局变量customer arraylist和新的arraylist。对于全局变量customer,第二个线程的arraylist是否替换第一个线程的arraylist。 这似乎是Stateless知识库类留档的情况: 无状态KnowledgeSessions支持全局,其作用域有多种方式。我将首先介绍非命令

  • 我正在使用Rspec(2.13.0)请求规范测试移动站点的登录api。我有一个login_user方法,可以正确地将用户写入测试数据库,并在db中生成auth_令牌。 我不认为在“只是测试移动-登录-页面”的例子中,auth_token被正确地设置为会话值。我可以看到重定向发生在登录后,正确的auth_token是在重定向时发送(参见login_user方法中的注释)。 我的语法是否不正确(这是我

  • 问题内容: 是否可以在PHP中使数组成为会话变量? 情况是,我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表单后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表? 问题答案: 是的,PHP支持将数组