在学习JavaEE的过程中慢慢了解到Java中编程思想的优秀设计,以下将是一个多态-向下转型的示例,该实例是在Servlet-过滤器中的登陆验证的示例,代码中运用向下转型解决问题

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterConfig;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletReponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter{public void init(FilterCOnfig config) throws ServletException{}public void doFilter(ServletRequest request, ServletResponse response, Filter chain) throws IOException, ServletException{HttpServletRequest req = (HttpServletRequest) request;               //向下转型HttpSession ses = req.getSession();                                  //取得sessionif(ses.getAttribute("useid") != null){                               //判断是否登录chain.doFilter(request, response);                           //传递请求}else{            request.getRequestDispatcher("login.jsp").forward(request, response);  //转到登陆页}}public void destory(){                                                     //销毁过滤}}

  session本身是术语HTTP协议的范畴,但是doFilter()方法中定义的事ServletRequest类型的对象,那么要想取得session,则必须进行向下转型,将ServletRequest变为HttpServletRequest接口对象,才能通过getSession()方法取得session对象。

转载于:https://www.cnblogs.com/hellopojun/archive/2012/07/03/2574916.html

JavaWeb学习笔记①——Java向下转型在JavaEE中运用——登陆验证相关推荐

  1. JavaWeb学习笔记(动态SQL)

    JavaWeb学习笔记(动态SQL) 动态SQL中的元素 < if>元素 < choose>.< when>.< otherwise>元素 < w ...

  2. java web孤傲苍狼,JavaWeb学习笔记

    我看的资料是孤傲苍狼的javaweb学习笔记,他写的真的很全,这或许就是社区力量吧!哪些问题不知道,上网搜一搜就有了,让自己不进步的敌人,只有懒惰了. 这是我接触JavaWeb的第二周,有一些自己的理 ...

  3. JavaWeb学习笔记(十)--HttpServletRequest

    1. HttpServletRequest简介 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中 2. Ht ...

  4. JavaWeb学习笔记2 —— Web服务器简介

    JavaWeb学习笔记2 -- Web服务器简介 参考教程B站狂神https://www.bilibili.com/video/BV12J411M7Sj 相关技术 ASP: 微软:国内最早流行的就是A ...

  5. B站狂神说JavaWeb学习笔记

    JavaWeb学习笔记(根据b站狂神说java编写) 1.基本概念 1.1 前言 静态Web: 提供给所有人看数据不会发生变化! HTML,CSS 动态Web: 有数据交互,登录账号密码,网站访问人数 ...

  6. JavaWeb学习笔记(5)-B站尚硅谷

    文章目录 十四.书城项目第三阶段--优化 (1)页面jsp动态化 (2)抽取页面中相同的内容 A.登录成功的菜单 B.base.css.jQuery标签 C.每个页面的页脚 D.manager模块的菜 ...

  7. javaweb学习笔记2(jquery的使用,以及常用的方法,选择器,过滤器)

    javaweb学习笔记2 javascript正则表达式 regfxp对象 方式1: var putt=new RegExp("e");//表示要求字符串中必须包含字符串evar ...

  8. 【javaweb学习笔记】servlet-api,filter和Listener

    javaweb学习笔记 1. servlet-api 1.1 servlet初始化 1.2 ServletContext和context-param 2. 什么是业务层 3. IOC 3.1 耦合/依 ...

  9. Javaweb学习笔记(JSP标准标签库)

    Javaweb学习笔记(JSP标准标签库) JSTL入门 安装和测试JSTL JSTL中的Core标签库 < c:out>标签 标签 标签 < c:catch>标签 标签 标签 ...

最新文章

  1. python提取文件名数字_在Python中从文件名提取扩展名
  2. C#图片处理常见方法性能比较
  3. 继承Javadoc方法注释
  4. 工作总结17:组件封装思想
  5. 学霸女神冯净冰:我是如何从复旦走到诺奖获得者经济学大会的
  6. python中提取几列_Python一键提取PDF中的表格到Excel(实例50)
  7. servlet mysql 分页_Java基础94 分页查询(以MySQL数据库为例,Servlet技术)
  8. 297 - Quadtrees
  9. 学习笔记︱深度学习以及R中并行算法的应用(GPU)
  10. 解决开始时cmd进入dos中ping会提示未出现在内部文件中
  11. Ubuntu18.04 wineQQ完美配置(解决不能输入中文、不能加载头像和图片、企鹅图标不能进入托盘任务栏等问题,附deepin-wine、微信、QQ安装包网盘链接)
  12. android 下的虚拟机下载地址,Android x86 虚拟机镜像下介绍及下载
  13. 维修手册 html 打开,戴尔Dell Latitude E6410/E6510官方拆机图解维修手册
  14. uni-app 小程序分享到朋友和朋友圈
  15. UDP丢包替代:用PCAP实现C/C++以太网SDR吞吐
  16. 微信计步器怎么不计步_微信运动不计步数是怎么回事?
  17. 高德足迹地图在哪里_高德地图怎么点亮城市 足迹地图查看方法
  18. 电脑唯独搜不到自己家wifi,怎么办?
  19. 知识那么多,作为一个IT人我们该怎样有效的学习?
  20. HTML屏蔽F12、右键、开发者工具、审查元素

热门文章

  1. 如何写好一篇高质量的IEEE/ACM Transaction级别的计算机科学论文?
  2. 基于STVD给stm8编程遇到的问题
  3. apche 虚拟主机设置
  4. 结对代码 复审 意见
  5. Hadoop学习笔记-关于Hadoop你不得不知道的12个事实
  6. 如何使用:before和:after伪元素?
  7. Oracle的共享封闭 独占封闭和共享更新封闭 (1)
  8. SpringWeb 系列教程 RestTemplate 4xx/5xx 异常信息捕获
  9. Sqlserver2008 FileStream解决图片存储问题
  10. 【Linux】解决Linux服务器内存不足问题