日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java自学手记——servlet3.0新特性

發布時間:2025/7/14 java 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java自学手记——servlet3.0新特性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  servlet3.0出來已經很久了,但市場上尚未普遍應用,servlet3.0有三個比較重要的新特性:使用注解來代替配置文件,異步處理以及上傳組件支持。

  支持servlet3.0的要求:MyEclipse10.0或以上版本,發布到Tomcat7.0或以上版本,并且需要創建JavaEE6.0應用。

一、使用注解代替配置文件

  可以使用 @WebServlet, @WebFilter, @WebListener 三個注解來代替web.xml中的 Servlet, Filter, Listener 的配置,注解的好處是配置信息少,但是定死在代碼中,不方便修改。

1 @WebServlet( 2 urlPatterns={"/AServlet"}, 3     initParams{@WebInitParam(name="paramName",value="paramValue")}, 4 loadOnStartup=1 5 ) 6 public class AServlet extends HttpServlet { 7 public void init(ServletConfig config) throws ServletException { 8 System.out.println(config.getInitParameter("paramName")); 9 } 10 public void doGet(HttpServletRequest request, HttpServletResponse response) 11 throws ServletException, IOException { 12 request.setCharacterEncoding("utf-8"); 13 response.setContentType("text/html;charset=utf-8"); 14 response.getWriter().print("Hello World!"); 15 } 16 }

二、異步處理

  異步處理:Servlet異步處理就是讓Servlet在處理費時的請求時不要阻塞,而是一部分一部分的顯示。

  原來,在服務器沒有結束響應之前,瀏覽器是看不到響應內容的!只有響應結束時,瀏覽器才能顯示結果,使用異步處理,在服務器開始響應后,瀏覽器可以看到響應內容,不用等待服務器響應結束。

  實現異步處理的步驟:

  •   需要在@WebServlet注解中給出 asyncSupported=true, 不然Servlet默認是不支持異步處理的,如果存在過濾器,也需要在WebFilter設置該值。
  •   得到AsynoContext,它是異步上下文對象,AsynoContext ac = request.startAsync(request, response);
  •   給上下文一個 Runable 對象,啟動它!
  • 1 ac.start(new Runnable(){ 2 public void run(){ 3 ... 4 } 5 });

      注意:

  •   響應類型必須是 text/html, 所以需要設置?response.setContentType("text/html;charset=utf-8");
  •   IE如果不能正常輸出,這說明響應體大小不足512B,那你需要更多的輸出!
  •   AsyncContext#complete();:通知Tomcat服務器我們的異步線程已經執行完畢,讓Tomcat及時斷開與瀏覽器的連接,否則Tomcat無法知道異步線程是否已經結束,導致響應結束過一會才斷開連接。
  • 三、上傳支持

      上傳文件對表單的要求:

  •   method=post,提交方式必須為post
  •   enctype="multipart/form-data",它的默認值是它的默認值是:application/x-www-form-urlencoded
  •   <input type="file" name="必須給出">
  •   使用文件上傳是,Servlet中需要使用request.getInputStream()來獲取整個表單的數據,不能夠使用request.getParameter()。使用commons-fileupload類庫中的方法可以三部得到上傳文件的數據:創建工廠,利用工廠創建解析器,使用解析器來解析request對象,得到List<FileItem>。servlet3.0中對上傳提供了支持,不再需要使用commons-fileupload,而是使用servlet3.0提供的上傳接口。

      上傳步驟:使用request.getPart("字段名"),得到Part實例,通過Part中的方法得到文件的數據,不過還沒有提供獲取文件原名稱的方法, 需要自己截取,servlet默認是不支持使用上傳組件的,需要在servlet中添加注解,@MultipartConfig

    轉載于:https://www.cnblogs.com/elecdog/p/5735348.html

    總結

    以上是生活随笔為你收集整理的Java自学手记——servlet3.0新特性的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 欧美卡一卡二卡三 | 久久久免费看 | 色女人网 | 精品视频在线播放 | 国产成人精品亚洲日本在线观看 | jizz欧洲| 性国产精品 | 亚洲干干干 | 精品视频日韩 | 在线观看免费 | 男人的天堂在线播放 | 中文一区二区在线 | 在线播放亚洲 | 黄色av网址在线 | 尼姑福利影院 | 亚洲精品国产欧美在线观看 | 国产麻豆一精品一男同 | 男女无套免费视频网站动漫 | 中文在线不卡 | 国产精品国产三级国产普通话对白 | av在线不卡网 | 久草精品国产 | 少妇特黄一区二区 | 大黄网站在线观看 | 国产午夜精品久久久久 | 国产人免费人成免费视频 | 永久免费精品 | 潮喷失禁大喷水aⅴ无码 | 亚洲精品伦理 | 成人伊人网 | 免费观看成年人视频 | 动漫艳母在线观看 | 在线视频亚洲 | 在线看黄免费 | 欧美双性人妖o0 | 粗大的内捧猛烈进出视频 | 久久精品国产99国产精品 | 欧美日韩a v | 日韩国产欧美一区 | 日韩免费影院 | 国产成人aaaa | 亚洲午夜在线视频 | 国产欧美视频在线 | 国产真实交换夫妇视频 | 亚洲成人免费观看 | 99国产精品久久久 | 日本亚洲网站 | 探花av在线 | 亚洲国产精品毛片av不卡在线 | 大尺度电影在线 | 香蕉视频成人在线观看 | 欧美a√| 在线观看免费高清 | 亚洲毛片网| 欧美,日韩,国产在线 | 国产亚洲视频在线观看 | a级片免费视频 | 伊人网综合| 屁屁影院一区二区三区 | 欧美精品videos | 色婷婷亚洲一区二区三区 | 天堂av片 | 天天cao在线| 极度诱惑香港电影完整 | 天码人妻一区二区三区在线看 | 日韩午夜在线视频 | 欧美成人a∨高清免费观看 国产精品999视频 | 污污的视频在线免费观看 | 欧美午夜久久久 | 亚洲一个色 | 免费黄色视屏 | 一边摸一边做爽的视频17国产 | 国产伦精品一区二区三 | 啪啪短视频 | 成年人在线免费观看 | 久久不雅视频 | 一区二区三区四区在线免费观看 | ,国产精品国产三级国产 | 久久久久不卡 | 男女裸体无遮挡做爰 | 欧美一级特黄aaaaaa大片在线观看 | 亚洲一区二区三区免费在线观看 | 欧美大肥婆大肥bbbbb | 91免费观看入口 | 国产视频日本 | 人av在线 | 成人黄色片免费 | 中国黄色一级毛片 | 农夫色综合 | 美女一区二区三区视频 | 国产欧美自拍 | 天天干天天色天天 | 欧美日韩一区二区三区在线 | 久久久视频在线 | 国产欧美一区二区三区在线看蜜臂 | 美女擦边视频 | 久成人 | 亚洲免费观看高清完整 | 黄网站在线免费看 |