美文网首页
Java三大组件之Servlet3.0的特性

Java三大组件之Servlet3.0的特性

作者: cp_insist | 来源:发表于2017-01-02 23:56 被阅读0次

引言:Servlet3.0今天学习到的,下面简单总结一下常用的特性:

一、使用要求

    1. MyEclipse10.0或以上版本!
    1. 发布到Tomcat7.0或以上版本!

二、步骤

    1. 创建JavaEE6.0应用!

三、概述

  • 1:注解代替web.xml配置文件
  • 2:异步处理
  • 3:对上传的支持

Servlet3.0在市场上没有应用!


  • 3.1注解代替配置文件

    • 删除web.xml
    • 在Servlet类上添加@WebServlet(urlPatterns={"/AServlet"})
    • 在Filter类上添加@WebFilter(urlPatterns="/AFilter")
    • 在Listener类上添加@WebListener
  • 总结:

  • 注解好处:配置信息少!
  • 注解缺点:不方便修改!

  • 3.2、异步处理
    1. 什么是异步处理
      原来,在服务器没有结束响应之前,浏览器是看不到响应内容的!只有响应结束时,浏览器才能显示结果!
      现在异步处理的作用:在服务器开始响应后,浏览器就可以看到响应内容,不用等待服务器响应结束!

    2. 实现异步的步骤

第一步:得到AsyncContext,它异步上下文对象
   AsyncContext ac = request.startAsync(request,response);
第二步:给上下文一个Runnable对象,启动它!(给上下文一个任务,让它完成!)
    ac.start(new Runnable() {
      public void run() {
      }
    });
 @WebServlet(urlPatterns="/AServlet", asyncSupported=true)
  resp.setContentType("text/html;charset=utf-8");
 IE如果不能正常输出,这说明响应体大小不足512B,那你需要多输出点废话!
 AsyncContext的complete():通知Tomcat我们异步线程已经执行结束了!这让Tomcat才会及时的断开与浏览器的连接!

  • 3.3、上传支持
    1. 上传
    • 上传对表单的要求:
      method="post"
      enctype="multipart/form-data",它的默认值是:application/x-www-form-urlencoded
      <input type="file" name="必须给"/>
    • 上传Servlet的使用:
          > request.getParameter()不能再用
          > request.getInputStream()使用它来获取整个表单的数据!

commons-fileupload
    > 创建工厂
    > 解析器
    > 使用解析器来解析request对象,得到List<FileItem>


Servlet3.0对上传提供了支持:
  * 表单不变
  * 在Servlet中不需要再使用commons-fileupload,而是使用Servlet3.0提供的上传组件接口!
  上传的步骤:
  * 使用request.getPart("字段名"),得到Part实例,
  * Part:
   > String getContentType():获取上传文件的MIME类型
   > String getName():获取表单项的名称,不是文件名称
   > String getHeader(String header):获取指定头的值
   > long getSize():获取上传文件的大小
   > InputStream getInputStream():获取上传文件的内容
   > void write(String fileName):把上传文件保存到指定路径下
默认Servlet是不支持使用上传组件:需要给Servlet添加一个注解@MultipartConfig
它没有提供获取上传文件名称的方法:
****这需要我们自己从Content-Disposition头中截取!***

相关文章

  • Java三大组件之Servlet3.0的特性

    引言:Servlet3.0今天学习到的,下面简单总结一下常用的特性: 一、使用要求 MyEclipse10.0或以...

  • 谈java SPI机制、spring-mvc启动及servlet

    主要回顾了java的类加载机制,servlet3.0新特性,java的spi机制,以及spring-mvc的初始化...

  • Servelt3.0特性

    Servlet3.0新特性 注解 在JavaEE6规范中 添加了Servlet3.0规范中,该规范 允许在 定义 ...

  • java基础概念

    java_basic 介绍 java基础 三大特性之—封装 三大特性之—继承 三大特性之—多态 抽象 接口 深拷贝...

  • servlet-3.0 基础摘要

    servlet3.0 的新特性 新增了几个注解 @WebServlet 、@WebFilter、@WebListe...

  • Tomcat 性能优化

    启动参数优化 启动溢出 tomcat为了支持servlet3.0的特性,比如说支持@WebServlet、@Web...

  • java培训专家介绍java的特性之:继承

    java培训专家介绍java的特性之:继承 什么是继承?java特性继承又是什么?在线教育平台专家为你解答! 多个...

  • 1-React Hooks简介

    Time: 20200126 1.什么是Hooks? 允许使用React的特性,而无需写类组件。 比如组件状态,之...

  • Java11的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

  • Java15的新特性

    Java语言特性系列 Java5的新特性 Java6的新特性 Java7的新特性 Java8的新特性 Java9的...

网友评论

      本文标题:Java三大组件之Servlet3.0的特性

      本文链接:https://www.haomeiwen.com/subject/ztjgvttx.html