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在處理費時的請求時不要阻塞,而是一部分一部分的顯示。
原來,在服務器沒有結束響應之前,瀏覽器是看不到響應內容的!只有響應結束時,瀏覽器才能顯示結果,使用異步處理,在服務器開始響應后,瀏覽器可以看到響應內容,不用等待服務器響應結束。
實現異步處理的步驟:
注意:
三、上傳支持
上傳文件對表單的要求:
使用文件上傳是,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新特性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试算法:Maxbuild
- 下一篇: 浅谈数据库优化方案--表和SQL