servlet3.0 新特性

1.添加注解支持,这些annotation主要放在javax.servlet.annotation包里面,servlet不但可以使用这些annotation,还可以使用java其它通用注解。
2.添加servlet模块化功能,官方术语叫web fragment,也就是一个web项目可以有多个类似web.xml功能文件,当然一个项目只能有一个web.xml文件,可以有多个web- fragment.xml文件,服务器会从WEB-INF/classes与WEB-INF/lib目录寻找web-fragment.xml文件,WEB-INF/lib下的web-fragment.xml文件必须放到jar包的META-INFA目录下。最后,这些web- frament.xml文件可以指定顺序。
3.提高servlet的元编程能力,也就是动态注册servlet,filter,listener。主要表现就是 javax.servlet.ServletContext接口中添加了很多方法,比如:addServlet、addFilter、 addListener,这些方法可以动态的添加servlet,filter,listener等
4.添加了对文件上传的直接支持,给javax.servlet.http.HttpServletRequest添加了getPart与getParts方法,并添加了javax.servlet.http.Part接口,其实早应该提供这个功能,统一文件上传接口。
5.把JSP文件作为资源文件打包到jar包,直接部署到WEB-INF/lib目录,这对产品化开发的项目又很多好处。JSP文件必须放到jar包里的一个特定目录:jar/META-INF/resources。这个目录是有servlet规范指定的,不可以更改。
6.添加了javax.servlet.SessionCookieConfig接口,支持session跟踪自定义,我们都知道cookie是用来实现session机制的其中一种方法,而且大部分时候是服务器的默认首选方法,在servlet3.0之前用来实现session的cookie的默认名称是jsessionid,servlet规范没有提供接口来自定义该属性。暂时没看出这个自定义有什么好处。
7.最重要的新特性:支持异步操作,这等于是把服务器端对AJAX的支持提升到规范的层面,以前servlet对ajax支持都是模拟出来的,因为servlet同步操作,必须有返回值,即使浏览器端不要任何返回结果,线程也要等待servlet执行完毕。
8.ServletContainerInitializer

你可能感兴趣的:(Ajax,jsp,servlet,session,filter,服务器)