Servlet3.0基础

2023-11-19

一:要求

1 MyEclipse10.0或以上版本

2 发布到Tomcat7.0或以上版本

二 步骤

 1 创建javaEE6.0应用

三 概述

注解代替web.xml配置文件

异步处理

对上传的支持

注解代替配置文件

1 删除web.xml

2 在Servlet类上添加@WebServlet(urlPatterns="Servlet类名"),过滤器同理添加@WebFilter(....) 监听器也同理添加@WebListener()

五、异步处理

1 实现异步的步骤

得到AsyncContext,它是异步上下文对象

final AsyncContext ac = request.startAsync(request,response)

给上下文一个Runnable对象,启动它

ac.start(new Runnable(new Runnable(){

public void run(){

}

ac.complete(); // 告诉tomcat异步线程已经执行结束,这才会让tomcat及时断开连接

});

@webServlet(..,asyncSupported=true)

response.setContentType("text/html;charset=utf-8")

IE如果不能正常输出,这说明响应体大小不足512b

六 

1 上传

Servlet3.0对上传提供了支持

表单不变

在Servlet中不需要使用commons-fileuoload ,而是使用Servlet3.0提供的上传文件的接口

上传的步骤:

使用request.getPart("文件表单字段名") 得到Part实例

Part:

String getContentType():获取上传文件的MIME类型

String getName() 获取表单项名称,不是文件名称

String getHeader(String header) 获取指定头的值

long getSize() 获取上传文件的大小

InputStream getInputStream() 获取上传文件保存到指定路径下

void write(String fileName) 把上传文件保存到指定路径下

默认Servlet不支持组件,需要添加注解@MultipartConfig 

没有提供获取上传文件名称的方法,需要我们自己从Content-Disposition中请求头获取

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Servlet3.0基础 的相关文章

  • Spring Boot Actuator未授权访问漏洞利用

    目录 一 前言 二 端点描述 三 漏洞发现 四 漏洞利用 五 安全措施 六 安全建议 一 前言 Actuator 是 Spring Boot 提供的服务监控和管理中间件 当 Spring Boot 应用程序运行时 它会自动将多个端点注册到路
  • EasyPoi实现Excel数据导入

    EasyPoi是一个基于Java的Excel导入导出框架 主要提供了Excel读取 写入等基本功能 并且支持通过注解来定义Excel文件的格式 添加maven依赖
  • mybatis中关于example类详解mybatis的Example[Criteria]的使用

    一 什么是example类 mybatis generator会为每个字段产生如上的Criterion 如果表的字段比较多 产生的Example类会十分庞大 理论上通过example类可以构造你想到的任何筛选条件 在mybatis gene
  • 【JavaWeb】Thymeleaf的简介与使用

    Thmeleaf MVC 为什么需要MVC 我们之前在书城项目第二阶段做登录的时候 曾经提出过优化登录失败后的处理 虽然说可以实现在登录失败之后跳转回到登录页面 并且展示失败信息 但是代码实在是太恶心了 根本没法维护 所以我们需要将视图展示
  • 设计模式之六大原则

    设计模式之六大原则 转载 关于设计模式的六大设计原则的资料网上很多 但是很多地方解释地都太过于笼统化 我也找了很多资料来看 发现CSDN上有几篇关于设计模式的六大原则讲述的比较通俗易懂 因此转载过来 原作者博客链接 http blog cs
  • IDEA(最新版)导入Myeclipse/eclipse的web项目并运行(全) Windows或者Mac系统

    一 前言 最近在做毕业设计 没想到现在的大学中还是使用的Myeclipse比较多 这个工具逐渐被IDEA工具所代替 因为IDEA的性能和使用更加优秀 或者我们在工作中遇到Myeclipse项目导入IDEA中的情形 怎么将Myeclipse开
  • Springboot 实现发送邮件功能,使用QQ邮箱

    引入依赖
  • JavaWeb会话技术

    1 Cookie对象 cookie是一种会话技术 它用于将会话过程中的数据保存到用户的浏览器中 从而使浏览器和服务器可以更好的地进行数据交互 创建Serlet 创建一个chapter05项目 创建一个自己喜欢的包 在该包中编写一个为Last
  • 关于split截取字符时,问号的特殊情况

    有一段字符 tring str gjjxxcx gjjxx cx jsp zgzh 1010024000019 如果使用如下代码 String strArray str split gjjxx cx jsp System out print
  • 通俗易懂权限管理模块设计-Java

    最近一直在做CMS系统 发现一些内容其实都是重复出现的 例如权限管理模块 权限管理模块就是为了管理用户是否有权利访问某个权限 如果不能则拒绝访问 其实Java中已经有很成熟的权限管理框架 例如 Shiro Spring Security等
  • errcode = 40163; errmsg = "code been used"(提供一种解决思路)

    最近在做微信开发 就在开发完毕测试的时候 遇到一个大问题 每次新用户进入的时候就报错 错误基本上就是code been used 我去百度了好久 没有找到合适的方案 后来我仔细的看了一下微信开发文档 终于解决了 注 该方法不一定对所有人有效
  • JavaWeb JDBC

    1 实现第一个JDBC程序 在MySQL中创建一个名称为jdbc的数据库 然后在该数据库中创建一个users表 创建 数据库和表的SQL语句如下所示 CREATE DATABASE jdbc USE jdbc CREATE TABLE us
  • 理解Servlet和Servlet容器、Web服务器等概念

    转载自http blog csdn net iAm333 之前在开源中国看到一篇文章 初学 Java Web 开发 请远离各种框架 从 Servlet 开发 觉得很不错 想到自己之前一直对各种框架执迷不悟 顿感惭愧 于是 看了孙鑫的 Ser
  • spring的jdbcTemplate批量添加数据,单条数据中文正常,多数据第二条数据开始中文乱码

    今天用spring的jdbcTemplate org springframework jdbc core JdbcTemplate 批量添加数据 方法是jdbcTemplate bathUpdate 然后遇到一个很神奇的问题 批量添加的数据
  • shell脚本中$#、$*、$@、$?、$0-n等含义一次性搞明白!!!

    一 Shell脚本变量的含义 1 表示执行脚本传入参数的个数 2 表示执行脚本传入参数的列表 不包括 0 3 表示进程的id Shell本身的PID ProcessID 即脚本运行的当前 进程ID号 4 Shell最后运行的后台Proces
  • 互联网 API 接口幂等性设计

    WEB 资源或 API 方法的幂等性是指一次和多次请求某一个资源应该具有同样的副作用 幂等性是系统的接口对外一种承诺 而不是实现 承诺只要调用接口成功 外部多次调用对系统的影响是一致的 幂等性是分布式系统设计中的一个重要概念 对超时处理 系
  • JavaWeb —— AJAX

    目录 AJAX 基本介绍 A synchronous JavaScript And XML 多用在 1浏览器搜索联想 2用户注册中离开光标 校验数据的正确性 同步和异步的区别 AJAX快速入门 AJAX 基本介绍 A synchronous
  • 解决Jenkins插件不能下载安装的问题

    安装到这一步 显示无法下载Jenkins插件 安装中升级站点 如果你还在安装过程中 遇见这个问题 你可以打开一个新的网页 输入网址http localhost 8080 pluginManager advanced 在最下面的升级站点 把其
  • IDEA2021从零开始搭建SSM框架手把手详细教程 (一)

    开发环境 macos IDEA 2021 mysql8 0 toma9 0 源码 https download csdn net download a2267542848 19730797 1 基本环境搭建 1 新建工程 新建后整个目录如下
  • JavaWeb——第五章 Servlet

    第五章 Servlet 一 Servlet简介 1 1 动态资源和静态资源 1 2 Servlet简介 二 Servlet开发流程 2 1 目标 2 2 开发过程 三 Servlet注解方式配置

随机推荐

  • C++ 引用对象成员的三种方式

    在程序中经常需要访问对象中的成员 访问对象中的成员可以有3种方法 1 通过对象名和成员运算符访问对象中的成员 2 通过指向对象的指针访问对象中的成员 3 通过对象的引用变量访问对象中的成员 通过对象名和成员运算符访问对象中的成员 例如在程序
  • 如何经营IT项目中客户关系

    IT项目经理首要的能力是执行计划能力和客户关系能力 在实际工作中 笔者发现许多项目经理具备很好的计划执行能力 却忽视或者不太重视客户关系 给项目实施造成了许多本可以避免的不利因素 影响了项目的进度 甚至造成项目的失败 所以 如何经营好客户关
  • 网站的SEO

    网站的SEO 什么是SEO SEO指search engine optimization 既搜索引擎优化 SEO有什么用 SEO可以提高网站排名 SEO怎么做 内优化 外优化 h1 h2权重比较高 建议使用 因为里面内容容易被检索到 建议只
  • 《FLUENT 14.0超级学习手册》——第2章 FLUENT软件介绍2.1 FLUENT软件特点简介

    本节书摘来自异步社区 FLUENT 14 0超级学习手册 一书中的第2章 第2 1节 作者 唐家鹏 更多章节内容可以访问云栖社区 异步社区 公众号查看 第2章 FLUENT软件介绍 FLUENT 14 0超级学习手册CFD商业软件FLUEN
  • 编译原理实验(词法分析器+语法分析器(递归下降法))

    1 分析C 词法 判断首位为数字的错误变量 通过对C 词法分析程序 GETSYM 的分析 并在此基础上按照教材附录A中给出的C 语言的语法描述 编写一个C 语言的词法分析程序 此程序应具有如下功能 输入为字符串 待进行词法分析的源程序 输出
  • 电脑提示vcruntime140_1.dll丢失怎么安装?

    许多用户在使用电脑的时候 在安装运行某些程序的时候 电脑突然提示由于找不到vcruntime140 1 dll 无法继续执行代码 遇到这种情况我们应该怎么解决呢 下面小编就带着大家一起看看吧 首先是打开电脑浏览器后在顶部输入 dll修复程序
  • 在平面中,一个点绕任意点旋转θ度后的点的坐标

    假设对图片上任意点 x y 绕一个坐标点 rx0 ry0 逆时针旋转a角度后的新的坐标设为 x0 y0 有公式 x0 x rx0 cos a y ry0 sin a rx0 y0 x rx0 sin a y ry0 cos a ry0
  • 网络/Network - 传输层 - UDP

    1 应用场景 主要用于学习计算机网络中传输层的UDP协议 弄清楚其工作原理 2 学习 操作 1 文档阅读 网络协议概论 Laravel 学院 UDP 协议简介 HTTP Socket TCP UDP的区别与联系 网络 Network 数据链
  • 【华为云计算产品系列】云上容灾架构实战部署详解

    华为云计算产品系列 云上容灾架构实战部署详解 1 前言 2 容灾方案介绍 2 1 本地高可用 2 2 同城双活 2 3 主备容灾 同步远程复制 异步远程复制 2 3 1 同步远程复制 2 3 2 异步远程复制 2 4 两地三中心 3 基于主
  • AI 编程助手 Amazon CodeWhisperer 使用(持续更新中)

    文章作者 天博 近期 chatGPT 非常火爆 试用一些公众号功能 及自己接入的 chatGPT 写小作文能力一流 但是准确率很低 一直在搜寻可以在 idea 中使用 且非常丝滑的 AI 编程工具 前不久看到 infoq 推荐的 Amazo
  • Java求出水仙花数

    题目要求 水仙花数必须满足如下2个要求 1 水仙花数是一个三位数 2 水仙花数的个位 十位 百位的数字立方和等于原数 实现思路 1 写出一个100 999的循环 2 将个位 百位和十位求出并计算其平方和 3 判断平方和是否与原数相同 实现代
  • flutter 文字拼接

    Container margin EdgeInsets only right 10 child Row mainAxisSize MainAxisSize min children ConstrainedBox constraints Bo
  • matlab直接在图上加图注,MATLAB insertShape图像上直接添加图像

    官方说明文档 http cn mathworks com help vision ref insertshape html jsessionid cf20e78d9c69962c2a47d7672c89 用figure 和plot的方式无法
  • 行为型模式-状态模式

    package per mjn pattern state after 环境角色类 public class Context 定义对应状态对象的常量 public final static OpeningState OPENING STAT
  • querystring模块

    querystring decode querystring encode querystring escape str querystring parse str sep eq options querystring stringify
  • 作为程序员,你是如何在工作以后找到女朋友的?

    作为程序员 你必然经历这样的一个场景 一个温馨的夜晚 一个可爱懵懂的妹子找你求助 想让你到她家修电脑 如果没有 那么请照镜子检查BUG 一般情况下 场景内会发生三种可能 1 你是一个计算机大牛 从进屋检查到修完电脑再到离开 全程五分钟说拜拜
  • 计算机网络:IP数据报文分析

    IP 数据报前 40 字节 编号 1 45 00 05 dc 4a cb 20 00 40 01 4B 52 c0 a8 00 27 7c 7f cf 0f 08 00 45 2e 00 01 00 17 61 62 63 64 65 66
  • Java 密码学相关知识

    密码的发展 密码的起源 密码的起源非常早 早期的符号密码像宗教符号 岩壁画 至今无人破解的 费托斯圆盘 和无人读懂的 伏尼契手稿 古代隐写术 国内的 封蜡技术 隐形墨水 吞服信条 国外的 卡登格子隐藏法 意大利数学家卡登 两张带孔的卡片 文
  • 在mybatis-plus项目中自带要编写sql语句,@select注解的使用

    提示 在mybatisplus中编写sql语句有两种方法 我重点使用 select注释这种方法 还有一种是增加mapper xml文件配置 这里不做讲解 在mybatis plus项目中自带要编写sql语句 select注解的使用 前言 一
  • Servlet3.0基础

    一 要求 1 MyEclipse10 0或以上版本 2 发布到Tomcat7 0或以上版本 二 步骤 1 创建javaEE6 0应用 三 概述 注解代替web xml配置文件 异步处理 对上传的支持 四 注解代替配置文件 1 删除web x