public void doFilter(ServletRequest request,
ServletResponse response, FilterChain chain)
throws IOException,ServletException
{
//获取该Filter的配置参数
String encoding = config.getInitParameter("encoding");
String loginPage = config.getInitParameter("loginPage");
String proLogin = config.getInitParameter("proLogin");
//设置request编码用的字符集
request.setCharacterEncoding(encoding); //①
HttpServletRequest requ = (HttpServletRequest)request;
HttpSession session = requ.getSession(true);
//获取客户请求的页面
String requestPath = requ.getServletPath();
这样的情景,在filter里面总会看到,为啥要强制转换呢?经过测试知道了,if(request instanceOf HttpServletRequest) System.out.println("true");输出true。
ServletRequest是HttpServletRequest的父接口,可见request是HttpServletRequest的实现类的对象,下面就会用到多态的知识,
ServletRequest request;这个是将子类对象赋给父类引用,他运行时的类型是子类,编译时的类型是父类,但是在运行时,父类类型对象调用的方法如果子类里面有,那就执行子类里面的方法,如果编译时的类型也就是父类没有调用的那个方法,则报错。所以在那里要做一个强制类型转换,否则就会报错。
分享到:
相关推荐
分析HttpServletRequest 内容 解析出设备来源 手机 电脑 什么种类浏览器 什么系统
直接进入lib文件夹: 源文件:commons-fileupload-1.4.jar 目的:tomcat10版本导致List<FileItem>...目标将在指定路径创建为与源相同类型的资源。 参考说明地址:https://github.com/apache/tomcat-jakartaee-migration
httpservletrequest、httpsession的jar包,导入资源包。
从HttpServletRequest获取各种路径总结.docx从HttpServletRequest获取各种路径总结.docx
httpservletRequest的学习笔记
Java中,引入javax.servlet.http.HttpServletRequest和javax.servlet.http.HttpServletResponse包的必备jar包:org.apache.commons.httpclient.jar
对request请求进行拦截,... <filter-class>weixin.idea.waiting.cq.controller.JsFilter</filter-class> </filter> <filter-mapping> <filter-name>sqlFilter</filter-name> <url-pattern>/* </filter-mapping>
将获取http请求的参数转换成Map集合
首先,提出了一个与Servlet Filter有关的问题,并解释了随之而引入的装饰模式。然后,讨论了如何在Servlet环境下使用此模式,并列出了使用此模式的几个比较有名的基于Servlet的项目。最后,文章通过实现一个删除空白...
HttpServletRequest 中 getRequestURL和getRequestURI的区别文档
JAVAWEB-09:HttpServletRequest对象&会话管理之Cookie
java HttpServletRequest HttpServletResponse 源码 request response
HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST)。如有必要,客户程序还可以选择发送其他的请求头。大多数请求头并不是必需的,但Content-Length除外。对于POST请求来说...
今天小编就为大家分享一篇关于Java service层获取HttpServletRequest工具类的方法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
如题,HttpServletReques HttpServletResponse很常见的
-- anon:它对应的过滤器里面是空的,什么都没做,这里.do和.jsp后面的*表示参数,比方说login.jsp?main这种 --> <!-- authc:该过滤器下的页面必须验证后才能访问,它是Shiro内置的一个拦截器org.apache.shiro....
由于HttpServletRequest不能直接取出文件数据,所以将其强制转换为MultipartHttpServletRequest MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; List<MultipartFile> ...
因为需要使用request方法中的getRequestURI()获取资源请求路径,Filter里的request是ServletRequest类型的而getRequsetURI()方法是HttpServletRequest类型的。所以首先需要强制转换。之后,就判断一下是否初始化页面...
HttpServletRequest 详解 HttpServletRequest对象代表客户端的请求,当客户端通过HTTP协议访问服务器时,HTTP请求头中的所有信息都封装在这个对象中,通过这个对象提供的方法,可以获得客户端请求的所有信息。
package com.chinasofti.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig;...里面有更详细的代码。。。