请问这段代码是什么意思?完全没听懂,一直在敲自己的代码

请问这段代码是什么意思?完全没听懂,一直在敲自己的代码

 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
User user=(User)((HttpServletRequest)servletRequest).getSession().getAttribute("user");
       servletRequest.setAttribute("user",user);
       filterChain.doFilter(servletRequest,servletResponse);
   }


原谅我,我是新手,在项目讲解的时候应该详尽的说一下为什么,重复强调一下过去的知识点,才好让人理解。

不然我们得自己花很长时间去摸索。如果是这样的话,看这些课程的意义也荡然无存!


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2018-09-10 11:41:46

你好!这个是过滤器的常用知识点,所以再这里老师没有重点强调。

User user=(User)((HttpServletRequest)servletRequest).getSession().getAttribute("user");这行代码是从session中获取user对象

 servletRequest.setAttribute("user",user);这段代码是将获取到的user对象存储到request中,便于后面进行转发

filterChain.doFilter(servletRequest, servletResponse);这行代码相当于过滤器放行,继续执行后面的代码。比如过滤器对所有.do的路径进行过滤,那么执行.do路径对应的代码前,会先执行Filter中的代码,如果不符合要求就会进行各种跳转,如果执行到当前这行代码就会继续执行.do对应的内容。

建议同学再巩固一下过滤器的相关知识。

祝学习愉快!

  • servletRequest.setAttribute("user",user);这段代码是将获取到的user对象存储到request中,便于后面进行转发 老师这一句 不是request.setAttribute么 说一下servletRequest 因为是servlet 调的 不是浏览器调的吗
    2018-09-12 10:00:11
  • 在Servlet类中,ServletRequest类表示来自客户端的请求,在Servlet类中,通过HttpServletRequest类的对象设置参数,在jsp页面中可以获取到了。祝学习愉快!
    2018-09-12 11:43:21
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
Java数据库开发与实战应用2018版
  • 参与学习           人
  • 提交作业       277    份
  • 解答问题       4297    个

Java数据库开发的必备技能,从流行的MySQL数据库开始,到Java原生的数据库管理接口JDBC的使用,再到常用的数据持久化框架MyBatis,让你向Java工程师的目标又迈进了一步!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师