Servlet3.0基础

    xiaoxiao2025-04-10  12

    一:要求

    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中请求头获取

    转载请注明原文地址: https://ju.6miu.com/read-1297932.html
    最新回复(0)