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/form-data"    

    //1.创建DiskFileItemFactory
    DiskFileItemFactory dif = new DiskFileItemFactory();
    //2.创建ServletFileUpload 对象
    ServletFileUpload sfu = new ServletFileUpload(dif);
    //3.判断表单提交 是不是 multipart/form-data
    boolean isMultipart = sfu.isMultipartContent(request);

    限制文件上传的类型和大小
        类型:
            List<String> filTypes = Arrays.asList("jpg","png","gif","bmp");
            String fileType = fileName.substring(fileName.lastIndexOf(".")+1);
            System.out.println("后缀:"+fileType);
            boolean flag = filTypes.contains(fileType);

        大小:
            //设置单个文件的最大限制
            upload.setSizeMax(1024*30);
三、过滤器
    新建过滤器
        实现filter接口
    在web.xml 配置
        /* 表示过滤所有路径的请求和响应
          <filter>
            <filter-name>demoFilter</filter-name>
            <filter-class>cn.bdqn.demo.DemoFilter</filter-class>
          </filter>
          <filter-mapping>
            <filter-name>demoFilter</filter-name>
            <url-pattern>/*</url-pattern>
          </filter-mapping>
    过滤请求和响应
    过滤器的生命周期:
        初始化:
            web服务器启动时初始化
        过滤调用
            doFilter
        销毁:
            关闭web服务器
    用过滤器处理post请求中文乱码

    过滤器链

四、监听器
时间: 2024-12-16 10:17:05

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

Servlet3.0简化实现文件上传

注意事项 POST请求可以传输二进制数据,而GET只能传输文本信息 form表单标签中声明属性 enctype="multipart/form-data" 给Servlet添加注解@MultipartConfig,开启Servlet3.0文件上传组件开关 Servlet实现 @WebServlet(name = "UploadServlet",value = "/upload") @MultipartConfig public class Upl

Servlet编程专题11之Servlet3.0特性实现文件上传

- 使用Servlet3.0实现文件上传,不需要借助第三方的jar包. 1.在index.jsp文件中编写文件上传的表单: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html

Grails笔记三:完整的文件上传实例

文件上传在web应用中是比较普遍的,相对于使用jsp等技术实现文件上传,Grails的文件上传着实让人喜爱,因为极其简单,让人看一遍就容易轻松记住!不多说,实例如下: 1.在gsp页面中使用Grails标签uploadForm <g:uploadForm name="myUpload" action="saveFile"> <input type="file" name="myFile" /> <

Spring Mvc 笔记二之异常和文件上传

spring mvc的异常与文件上传 1.异常: spring注解版的异常有局部异常和全局异常                1.局部异常对单个controller有效;(在controller类写一个处理异常的方法) @ExceptionHandler(value={UserException.class}) public String handlerExceptionTest(UserException e ,HttpServletRequest request){ request.setA

JSP学习笔记(四):文件上传

JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档.我们使用 Servlet 来处理文件上传,使用到的文件有: upload.jsp : 文件上传表单. message.jsp : 上传成功后跳转页面. UploadServlet.java : 上传处理 Servlet. 需要引入的 jar 文件:commons-fileupload-1.3.2.commons-io-2.5.jar. 结构如下所示: 1.创建一个文件上传表

用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传

第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三部分: https://www.cnblogs.com/cgzl/p/8525541.html 第四部分: https://www.cnblogs.com/cgzl/p/8536350.html 这部分就讲从angular5的客户端上传图片到asp.net core 2.0的 web api. 这是

《白帽子讲WEB安全》学习笔记之第8章 文件上传漏洞

第8章 文件上传漏洞 8.1 文件上传漏洞概述 文件上传漏洞是指用户上传一个可执行的脚本文件,并通过此脚本文件活动执行服务器端的能力. 原理:由于文件上传功能实现代码没有严格限制用户上传的文件后缀以及文件类型,导致允许攻击者向某个可通过 Web 访问的目录上传任意PHP文件. 文件上传漏洞安全问题: q  上传文件是WEB脚本文件,服务器的WEB服务器解释并执行了用户上传的脚本,导致代码执行: q  上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行

express4.0以上版本文件上传

发现很多node的书介绍express文件上传都是基于3.*版本的, 现在express的版本都是4.+的,很多以前的代码跑不动了 所以自己折腾了个小demo 实现了限制上传文件种类和大小 例子是基于formidable模块的 github地址为https://github.com/felixge/node-formidable var express = require('express'); var formidable = require('formidable'); var router

笔记之_java整理kindeditor文件上传插件

下载插件压缩包 图片创建虚拟服务器路径: 在Tomcat中,打开Tomcat的系统文件夹servers,打开下面的server.xml, 在<Context docBase="class" path="/class"--/>标签中,修改绝对路径docBase和虚拟路径path ,绝对路径是磁盘上创建的保存图片的文件夹,虚拟路径是网页访问图片的路径, 根据自己要用的上传文件的类型,选择插件的相关案例,引用css.js,修改路径以及页面类型jsp.php,