解决加了登录过滤器不显示图片的问题
加了登录过滤器后,若我未登录,则页面图片都显示不出来,在网上查过之后,知道可以通过改写过滤器解决这个问题,于是我就在原先过滤器的基础上加了一点代码,解决了这个问题(粗体褐色部分为解决图片被过滤问题的代码)。
import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginFilter implements Filter {
public void init(FilterConfig arg0) throws ServletException {
}
public void doFilter(ServletRequest req, ServletResponse res,
FilterChain filter) throws IOException, ServletException {
HttpServletRequest hreq = (HttpServletRequest) req;
HttpServletResponse hres = (HttpServletResponse) res;
HttpSession session = hreq.getSession();
String flag = "";
StringBuffer fileURL = hreq.getRequestURL();
if (session.getAttribute("loginflag") == null) {
// 如果flag的值为空,判断所过滤的文件,若为图片,则正常执行
if (fileURL.indexOf(".jpg") > 0 || fileURL.indexOf(".bmp") > 0
|| fileURL.indexOf(".gif") > 0
|| fileURL.indexOf("image.jsp") > 0) {
filter.doFilter(req, res);
return;
}
} else {
// 若不为空,则setAttribute得到flag的值
flag = (String) session.getAttribute("loginflag");
}
if (flag.equals("ok")) {
// 若flag的值为“ok”,则正常执行
filter.doFilter(req, res);
} else {
// 否则跳转回登录页面,并移除flag
hreq.getRequestDispatcher("loginface.jsp").forward(hreq, hres);
return;
}
}
public void destroy() {
}
}
解决加了登录过滤器不显示图片的问题相关推荐
- linux plt.show不显示图片,解决matplotlib库show()方法不显示图片的问题
解决matplotlib库show()方法不显示图片的问题 最近使用python里的matplotlib库绘图,想在代码结束时显示图片看看,结果图片一闪而过,附上我原来代码: import matpl ...
- 解决三星调用系统相机拍照显示图片旋转90度横着的问题
最近项目有个功能是调用系统相机拍照上传图片的功能,发现别的手机都没有ok,只有三星的显示图片很明显是旋转了90度,横着的.后来百度了解是三星对android相机单独做了优化(android碎片化,各种 ...
- android 三星手机拍照旋转90度,解决三星调用系统相机拍照显示图片旋转90度横着的问题...
/** * 调用系统相机拍照工具类 * @author yao * */ public class CaremaUtil { private static String strImgPath = &q ...
- 解决CHROME中画布中无法显示图片的方法
最终效果图如下 我按照W3SCHOOL里面的方法,代码如下 <!DOCTYPE html> <html> <body><script type="t ...
- 解决uniapp在微信小程序显示图片/数据,h5不显示图片/数据。
配置跨域 首先在mainifest.json中的源码视图中配置跨域. "h5": {"devServer": {"port": 8080,& ...
- cocos stuido的ccs文件加载成功 缺不显示图片的问题
出现这种问题,主要是ccs 文件的路径导致的问题 解决办法,将ccs文件放到res 目录下,不能再有二级文件夹了,否则图片会显示不出来
- 解决XWPFRun的addPicture方法无法显示图片的问题
最近在解决一个导出订单发票的需求,导出的 word 上必须有条形码图片.查阅资料得知可以使用 XWPFRun 的 addPicture 方法来添加,代码如下: // 插入条形码图片 XWPFParag ...
- 解决苹果CMS采集后没有显示图片的问题
一般采集数据后,图片容易丢失,如下: 解决方法: ①进入后台按顺序点击:视频>视频数据>同步图片(这个步骤是同步已经采集过的视频图片) ②开启下次采集自动同步图片配置步骤:系统>采集 ...
- ie浏览器html插入图片,IE浏览器网页不显示图片如何解决?解决方法介绍
使用IE浏览器浏览网页却发现不显示图片,这可咋整,不用着急,看看本篇文章吧,一定会对大家有所帮助的. 解决ie浏览器打开网页不显示图片方法: 方法一.在IE窗口-工具-IE选项-高级-还原默认设置-确 ...
最新文章
- 苹果CEO乔布斯如何工作
- 美团技术 mysql_美团MySQL数据库巡检系统的设计与应用
- 四层负载均衡——LVS
- 这里有一份福利“拍了拍”你
- 工作111:直接写url
- 普通程序猿三步升级成高级程序员
- php导出数据到excel,防止身份证等数字字符格式变成科学计数的方法
- Bootstrap模态框的基本使用(复制可用)
- linux Rootkit检查
- vdbench 参数详解
- 4g能用吗64java,4g内存能不能装64位系统吗_电脑内存是4g可以安装64位系统吗
- GitHub简介、fork、pull和clone、快速起步
- dax-自定义周做同比和环比
- pd.DataFrame()函数解析(最清晰的解释)
- ORACLE 金额转大写中文
- 对物联网的感悟_对物联网产业的理解 对物联网的感悟
- RPM REBUILD
- SiamCAR: Siamese Fully Convolutional Classification and Regression for Visual Tracking
- jmap和jstack使用
- 计算机c盘小了,为什么电脑C盘空间越来越小?
热门文章
- org.apache.ibatis.binding.BindingException: Invalid bound statement(not found):
- 搭建postfix邮件服务,并用talnet发送邮件
- elasticsearch翻页优化
- 编程入门者小王的第一篇博客
- 【C语言】一个好用的循环队列与使用示例(以EC200/600为例的AT框架)
- 为什么白板面试总是过不了
- 解决未找到命令,环境变量错误
- Linux--查看文件的详细信息及其含义
- vmware里的vista安装声卡
- 各种技术基础研究(小计划)