jsp中过滤器选择过滤器的写法详解
实例如下:
public class LoginCheckFilter implements Filter { private FilterConfig config=null; private String webroot=null; public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub HttpServletRequest request=(HttpServletRequest)req; HttpServletResponse response=(HttpServletResponse)resp; HttpSession session=request.getSession(false); //取得当前会话的session,没有session也不创建session,同request.getSession()一样 String url=request.getRequestURI(); //获取当前输入的 /项目/当前访问的路径 与我们定义的路径是否相同 if(url!=null&&url.equals(webroot+"/login.jsp")&&url.equals(webroot+"/LoginServlet")){ chain.doFilter(req,resp); }else{ if(session==null){ response.sendRedirect(webroot+"/login.jsp"); }else{ String user2=(String)session.getAttribute("user1"); if(user2==null){ response.sendRedirect(webroot+"/login.jsp"); }else{ chain.doFilter(request, response); } } } } @Override public void init(FilterConfig config) throws ServletException { // TODO Auto-generated method stub this.config=config; ServletContext ctx=config.getServletContext(); //获取url /项目名 webroot=ctx.getContextPath(); //项目名 } }
这里需要注意的是LoginServlet跳转到欢迎页面所用的跳转是客户端跳转。
以上这篇jsp中过滤器选择过滤器的写法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关推荐
-
JSP使用Servlet过滤器进行身份验证的方法
本文实例讲述了JSP使用Servlet过滤器进行身份验证的方法.分享给大家供大家参考,具体如下: 1.Servlet过滤器的作用描述 (1)在HttpServletRequest到达Servlet 之前,拦截客户的HttpServletRequest. 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据. (2)在HttpServletResponse 到达客户端之前,拦截HttpServletResponse. 根据需要检查HttpServ
-
JSP使用过滤器防止SQL注入的简单实现
什么是SQL注入攻击?引用百度百科的解释: sql注入_百度百科: 所谓SQL注入,就是通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.具体来说,它是利用现有应用程序,将(恶意)的SQL命令注入到后台数据库引擎执行的能力,它可以通过在Web表单中输入(恶意)SQL语句得到一个存在安全漏洞的网站上的数据库,而不是按照设计者意图去执行SQL语句.[1] 比如先前的很多影视网站泄露VIP会员密码大多就是通过WEB表单递交查询字符暴出的,这
-
JSP用过滤器解决request getParameter中文乱码问题
(1)客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter()读取参数时,很容易出现中文乱码现象. (2)用过滤器解决request中文乱码问题. (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class ChineseFilter implements Filter { //定义
-
jsp用过滤器解决中文乱码问题的方法
定义一过滤器,实现Filtter接口 public class EncodingFilter implements Filter { @Override public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException,
-
JSP利用过滤器解决request中文乱码问题
本文为大家分享了JSP用过滤器解决request中文乱码问题,具体内容如下 (1)客户端的数据一般是通过HTTP GET/POST方式提交给服务器,在服务器端用request.getParameter() 读取参数时,很容易出现中文乱码现象. (2)用过滤器解决request中文乱码问题. (3)代码如下: package my; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public clas
-
通过过滤器(Filter)解决JSP的Post和Request中文乱码问题
jsp代码: import javax.servlet.*; import javax.servlet.http.*; public class CharsetFilter implements Filter { public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) { try { HttpServletRequest
-
JSP 中request与response的用法详解
JSP 中request与response的用法详解 概要: 在学习这两个对象之前,我们应该已经有了http协议的基本了解了,如果不清楚http协议的可以看我的关于http协议的介绍.因为其实request和response的使用大部分都是对http协议的操作. request对象的介绍 我们先从request对象进行介绍: 我们知道http协议定义了请求服务器的格式: 请求行 请求头 空格 请求体(get请求没有请求体) 好了,这里我们就不详细介绍了,我们只看几个应用就可以了,没什么难度: 应
-
Mybatis中like搭配concat的写法详解
目录 Mybatis like搭配concat写法 在Mybatis中的写法 Mybatis concat()函数模糊查询 Mybatis like搭配concat写法 在Mybatis中的写法 <!--concat Mysql和 Oracle区别 ,不存在sql注入--> <select id="findUserByLikeName3" parameterType="java.lang.String" resultMap="use
-
jsp中过滤器选择过滤器的写法详解
实例如下: public class LoginCheckFilter implements Filter { private FilterConfig config=null; private String webroot=null; public void destroy() { // TODO Auto-generated method stub } @Override public void doFilter(ServletRequest req, ServletResponse res
-
SpringBoot中shiro过滤器的重写与配置详解
目录 问题 解决方案 实现代码 1.重写shiro 登录 过滤器 2.重写role权限 过滤器 3.配置过滤器 问题 遇到问题:在前后端分离跨域访问的项目中shiro进行权限拦截失效 (即使有正确权限的访问也会被拦截) 时造成302重定向错误等问题报错:Response for preflight is invalid (redirect) 1.302原因:使用ajax访问后端项目时无法识别重定向操作 2.shiro拦截失效原因:跨域访问时有一种带预检访问的跨域,即访问时先发出一条methods
-
JAVAEE Filter 过滤器设置是否缓存实例详解
在网页中,每次的客户端访问服务器,有部分不用重复请求,如有些图片,视频等就没有必要每次都请求,这样会让服务器增大工作量.为了防止这样,我们采用过滤器来设置客户端是都缓存. 页面的缓存与不缓存设置及html页面中meta的作用 HTTP1.1中启用Cache-Control 来控制页面的缓存与否,这里介绍几个常用的参数: no-cache,浏览器和缓存服务器都不应该缓存页面信息: public,浏览器和缓存服务器都可以缓存页面信息: no-store,请求和响应的信息都不应该被存储在对方的磁盘系统
-
SpringBoot面试突击之过滤器和拦截器区别详解
目录 实现过滤器和拦截器 a) 实现过滤器 b) 实现拦截器 过滤器 VS 拦截器 1.出身不同 2.触发时机不同 3.实现不同 4.支持的项目类型不同 5.使用的场景不同 总结 实现过滤器和拦截器 首先,我们先来看一下二者在 Spring Boot 项目中的具体实现,这对后续理解二者的区别有很大的帮助. a) 实现过滤器 过滤器可以使用 Servlet 3.0 提供的 @WebFilter 注解,配置过滤的 URL 规则,然后再实现 Filter 接口,重写接口中的 doFilter 方法,具
-
YII框架中搜索分页jQuery写法详解
控制层 use frontend\models\StudUser; use yii\data\Pagination; use yii\db\Query; /** * 查询 * */ public function actionSearch() { //接值 $where=Yii::$app->request->get(); //实例化query $query=new Query(); $query->from('stud_user'); //判断 if(isset($where['sex
-
JSP开发中Apache-HTTPClient 用户验证的实例详解
JSP开发中Apache-HTTPClient 用户验证的实例详解 前言: 在微服务框架之外的系统中,我们经常会遇到使用httpClient进行接口调用的问题,除了进行白名单的设置,很多时候我们需要在接口调用的时候需要身份认证.翻了一下官方文档,解决方法很多,但是都不太符合实际业务场景,这里提供一种简单粗暴的解决方法. 解决方法:利用请求头,将验证信息保存起来. 实现代码: public class HttpClientUtils { protected static final Logger
-
java 中maven pom.xml文件教程详解
maven pom.xml文件教程详解,具体内容如下所示: <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.x
-
C/C++ 中堆和栈及静态数据区详解
C/C++ 中堆和栈及静态数据区详解 五大内存分区 在C++中,内存分成5个区,他们分别是堆.栈.自由存储区.全局/静态存储区和常量存储区.下面分别来介绍: 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区.里面的变量通常是局部变量.函数参数等. 堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个delete.如果程序员没有释放掉,那么在程序结束后,操作系统会自动回收. 自由存储区,就是那些由malloc等分
随机推荐
- js+CSS实现模拟华丽的select控件下拉菜单效果
- JS模拟实现ECMAScript5新增的数组方法
- DataGrid中实现超链接的3种方法
- 解决PHP在DOS命令行下却无法链接MySQL的技术笔记
- 整理php防注入和XSS攻击通用过滤
- Python编写屏幕截图程序方法
- WinForm实现按名称递归查找控件的方法
- SQL中查找某几个字段完全一样的数据
- 用JavaScript修改CSS属性的代码
- Javascript快速实现浏览器系统通知
- JavaScript setTimeout使用闭包功能实现定时打印数值
- 一个级联菜单代码学习及removeClass与addClass的应用
- CentOS设置精准时间的方法
- 易语言取秒的用法和实例
- JavaScript继承定义与用法实践分析
- django框架使用方法详解
- Python 3.8 新功能全解
- 详解解决小程序中webview页面多层history返回问题
- MyBatis中动态sql的实现方法示例
- C语言实现3*3数组对角线之和示例