Java自学手记——servlet3.0新特性
servlet3.0出來已經(jīng)很久了,但市場上尚未普遍應(yīng)用,servlet3.0有三個(gè)比較重要的新特性:使用注解來代替配置文件,異步處理以及上傳組件支持。
支持servlet3.0的要求:MyEclipse10.0或以上版本,發(fā)布到Tomcat7.0或以上版本,并且需要創(chuàng)建JavaEE6.0應(yīng)用。
一、使用注解代替配置文件
可以使用 @WebServlet, @WebFilter, @WebListener 三個(gè)注解來代替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在處理費(fèi)時(shí)的請求時(shí)不要阻塞,而是一部分一部分的顯示。
原來,在服務(wù)器沒有結(jié)束響應(yīng)之前,瀏覽器是看不到響應(yīng)內(nèi)容的!只有響應(yīng)結(jié)束時(shí),瀏覽器才能顯示結(jié)果,使用異步處理,在服務(wù)器開始響應(yīng)后,瀏覽器可以看到響應(yīng)內(nèi)容,不用等待服務(wù)器響應(yīng)結(jié)束。
實(shí)現(xiàn)異步處理的步驟:
注意:
三、上傳支持
上傳文件對表單的要求:
使用文件上傳是,Servlet中需要使用request.getInputStream()來獲取整個(gè)表單的數(shù)據(jù),不能夠使用request.getParameter()。使用commons-fileupload類庫中的方法可以三部得到上傳文件的數(shù)據(jù):創(chuàng)建工廠,利用工廠創(chuàng)建解析器,使用解析器來解析request對象,得到List<FileItem>。servlet3.0中對上傳提供了支持,不再需要使用commons-fileupload,而是使用servlet3.0提供的上傳接口。
上傳步驟:使用request.getPart("字段名"),得到Part實(shí)例,通過Part中的方法得到文件的數(shù)據(jù),不過還沒有提供獲取文件原名稱的方法, 需要自己截取,servlet默認(rèn)是不支持使用上傳組件的,需要在servlet中添加注解,@MultipartConfig
轉(zhuǎn)載于:https://www.cnblogs.com/elecdog/p/5735348.html
總結(jié)
以上是生活随笔為你收集整理的Java自学手记——servlet3.0新特性的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试算法:Maxbuild
- 下一篇: 浅谈数据库优化方案--表和SQL