过滤器和文件上传

1.过滤器
1.概述
过滤器就是在对目标资源进行请求前或请求后来进行拦截,

//放行前加入的代码
chain.doFilter(request,response);
//放行后的代码

2.写法
1.实现Filter接口
init(FilterConfig);
doFilter(ServletRequest,ServletResponse,FilterChain);
destory();

2.web.xml配置?
<filter>
<filter-name></filter-name>
<filter-class></filter-class>
</filter>
<filter-mapping>
<filter-name></filter-name>
<url-pattern></url-pattern>
</filter-mapping>

3.生命周期
1.在应用被加载或容器启动时,过滤器就进行实例化,初始化
2.以后每调拦截时,直接执行doFilter()
3.容器停止或应用卸载时,destory()执行销毁

4.配置详解
1.一个Filter可以有多个配置
2.也可以使用通配符进行配置(/* *.扩展名)
3.filter-mapping配置在前,说明它先拦截
4.配置初始化参数
<filter>结点内部添加一个<init-param>结点

参数获取:
filterConfig.getInitParameter("参数名");
Enumeration<String> paramNames= filterConfig.getInitParameterNames();
while(paramNames.hasMoreElements()){
String paramName = paramNames.nextElement();
}

5.<filter-mapping>可以加入<dispatcher>的配置
1.默认不写,是REQUEEST
2.其它取值
ERROR:过滤web.xml中配置的错误页
INCLUDE:动态包含的资源
FORWARD:转发的资源 errorPage属性是FORWARD

5.过滤器链
过滤器1-------------->过滤器2---------------->目标资源-------->过滤器2-------->过滤器1

6.简单示例
1.解决post提交乱码问题
2.动态资源不缓存
3.静态资源级存
7.复杂示例
1.字符全站过滤
2.脏话过滤器
3.html过滤器
4.全站压缩(理解)

2.文件上传
1.上传的必要性

2.上传的前提
1.enctype="multipart/form-data"
2.method="post"
3.<input type="file" />
3.当表单提交数据时, enctype="application/x-www-form-urlencoded",
它是默认值,此时服务器可以用request.getParameter()取数据,否则不能取数据。

4.接收客户端数据并引入上传框架

5.框架的使用
1.介绍SmartUpload
2. Commons-FileUpload(主讲)

6.commons-fileupload框架的使用
1.导2个jar包
commons-fileupload-xxx.jar
commons-io-xxx.jar

时间: 2024-08-08 05:38:36

过滤器和文件上传的相关文章

6.28笔记-servlet3.0注解配置、文件上传、过滤器、监听器

一.servlet3.0注解配置 使用javaEE6.0 支持servlet3.0 value的值就是访问路径 urlPatterns的值也是访问路径 @WebServlet(name="DemoServlet3",value="/demoServlet3") public class DemoServlet3 extends HttpServlet { ... } 二.文件上传 表单 method 必须是post enctype="multipart/f

Struts2单文件上传原理及示例

一.文件上传的原理 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1.application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式. 2.multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里. 3.text/plain:这种方式主要适用于直接通过表单发送邮件的

struts2中简单的文件上传

2016-08-31 一.       文件上传 利用commons-fileupload-1.2.1.jar实现简单的上传文件,首先在页面上填写表单,记得加上enctype="multipart/form-data",主要是确保上传文件的正确编码,设置表单的MIME编码,让form中的input值以2进制传过去,这样就能用于上传文件了. 2. 配置struts.xml,完成fileUpload与action实例映射, 这里以上传一个图片文件为例 <action name=&qu

【原创】用JAVA实现大文件上传及显示进度信息

用JAVA实现大文件上传及显示进度信息 ---解析HTTP MultiPart协议 一. 大文件上传基础描述: 各种WEB框架中,对于浏览器上传文件的请求,都有自己的处理对象负责对Http MultiPart协议内容进行解析,并供开发人员调用请求的表单内容. 比如: Spring 框架中使用类似CommonsMultipartFile对象处理表二进制文件信息. 而.NET 中使用HtmlInputFile/ HttpPostedFile对象处理二进制文件信息. 优点:使用框架内置对象可以很方便的

web 文件上传组件 Plupload

Plupload官网:点击打开链接   建议下载最新版本,低版本会出现浏览器兼容问题. 最近公司有个项目需要在web端使用多文件上传功能,刚开始准备使用HTML5来做,但是IE9以下是都不支持的,于是想到了flash,在网上搜了下各种开源的组件,最后决定使用Plupload,下面来介绍一下该组件使用时遇到的一些问题以及解决方案. 先贴出配置参数: <script type="text/javascript"> // Initialize the widget when th

Struts1.3——文件上传和下载

1.Struts文件上传 在Web开发中,会经常涉及到文件的上传和下载,比如在注册账户的时候,我们需要上传自己的头像等. 我们可以利用Struts很方便地实现文件的上传. 1.1 开发步骤 现在,假设我们要在注册的时候上传自己的头像.新建项目名称为StrutsFileUpAndDown,并引入Struts1.3 (1)首先,写注册的JSP页面register.jsp 它的body内容如下: <body> <h1>注册用户</h1> <% --如果表单有文件控件,则

Spring mvc文件上传与下载

文件上传 SpringMVC实现文件上传,需要再添加两个jar包.一个是文件上传的jar包,一个是其所依赖的IO包.这两个jar包,均在Spring支持库的org.apache.commons中. 单文件上传 jsp页面 <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <% String path = request.getContextP

Struts2入门(七)——Struts2的文件上传和下载

一.前言 在之前的随笔之中,我们已经了解Java通过上传组件来实现上传和下载,这次我们来了解Struts2的上传和下载. 注意:文件上传时,我们需要将表单提交方式设置为"POST"方式,并且将enctype属性设置为"multipart/form-data",该属性的默认值为"application/x-www-form-urlencoded",就是说,表单要写成以下这种形式: <form action="" metho

Spring Framework源码(十):SpringMVC之文件上传

我们这一章讲SpringMVC中文件上传的应用,首先我们还是从DispatcherServlet这个核心分发器开始讲起: processedRequest = checkMultipart(request); 还记得上一章讲doDispatch这个方法时见过的方法吧?现在我们来分析下这个方法的具体解析过程: protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartExcepti