- 浏览: 78874 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (80)
- java (20)
- java 日志 (1)
- 网络应用 (1)
- 算法 (3)
- struts (2)
- 线程 (2)
- 数据库 (1)
- tools (1)
- lunix (8)
- Android (4)
- Nutch原理 (1)
- 字符编码 (1)
- 框架 (3)
- spring (7)
- Oracle (2)
- 数据连接池 (3)
- solr (3)
- 思想 (2)
- 架构设计 (1)
- 缓存 (2)
- hibernate (1)
- 学习 (1)
- java,jvm (1)
- 分页插件 (1)
- javascript (1)
- nginx (2)
- svn (2)
- 内存 (3)
- sqlserver (1)
- UML (1)
- JS 跨域 (1)
- mybatis (1)
- 加密 (0)
最新评论
-
q15106202446:
不知不觉 这些都有所了解了!时间过的好快..该进攻系统架构了
学习(转) -
zkq-java:
zkq-java 写道[u][/u]引用[i][/i][*][ ...
Solr 创建索引的原理 源码分析 -
zkq-java:
[u][/u]引用[i][/i][*][img][/img][ ...
Solr 创建索引的原理 源码分析
1.Servlet、Filter、Listener无需在web.xml中进行配置,可以通过Annotation进行配置; 2.模块化编程,即将各个Servlet模块化,将配置文件也分开配置。 3.Servlet异步处理,应对复杂业务处理; 4.异步Listener,对于异步处理的创建、完成等进行监听; 5. 文件上传API简化; tomcat 7.0.X 支持Servlet 3.0 原本Servlet开发完后,必须在web.xml中配置如下代码: 现在只需要在java源文件的Servlet类前面加上: @WebServlet(name="",urlPatterns={""},initParams={@WebInitParam(name="",value=""),loadOnStartup=1}) public class FirstServlet extends HttpServlet{} 代码示例: 实现一个最简单的Servlet。 这样的话只需要将class文件放入WEB-INF\classes 中,不需要再web.xml中作任何改动就完成部署; 原本Filter的配置如下: 现在只需要在java源文件的Filter类前面加上 @WebFilter(filterName="",urlPattern={"/"}); 原本在web.xml中配置如下: 现在只需要在java源文件的Listener类前面加上@WebListener即可; 原本一个web应用的任何配置都需要在web.xml中进行,因此会使得web.xml变得很混乱,而且灵活性差,因此Servlet 3.0可以将每个Servlet、Filter、Listener打成jar包,然后放在WEB-INF\lib中;注意各自的模块都有各自的配置文件,这个配置文件的名称为 web-fragment.xml ; 制作一个Servlet模块的步骤: 1.编写Servlet,并编译; 2.将此编译class文件及所在包通过jar包命令打成jar包; 3.将此jar包用winrar打开,并将其中的META-INF中的manifest删除并添加 web-fragment.xml; 4.将此jar包放入WEB-INF\lib中即可; web-fragment.xml注意点: 1.根元素为<web-fragment>; 2.<name></name>表示模块名称; 3.<ordering></ordering>是此模块的加载顺序; 4.<before><others/></before>表示第一个加载; 5.<after><name>A</name></after>表示比A后面加载; 6.可以在里面部署listener、filter、servlet 当然可以不设置任何的模块加载顺序; 代码示例: 配置两个listener模块; FirstListener.java FirstListener 的 web-fragment.xml内容: SecondListener的 web-fragment.xml内容是: 然后分别打成jar包,放入 WEB-INF\lib中即可; 随便访问一个web应用,然后发现 tomcat控制台输出: 看出先加载FirstListener,再加载SecondListener; Servlet在MVC中作为控制器,控制器负责分发任务给MODEL完成,然后把结果交给JSP显示; 而如果有许多MODEL,其中有一个MODEL处理时间很长,则会导致整个页面的显示很慢; 异步处理关键点:将复杂业务处理另外开一个线程,而Servlet将执行好的业务先送往jsp输出,等到耗时业务做完后再送往JSP页面; 一句话:先显示一部分,再显示一部分; 异步处理Servlet的注意点是: 1.需要在Annotation中注明 asyncSupported=true; 1.jsp 异步监听器用来监听异步处理事件;即“三”中讲到的知识点; 此监听器类似于ServletContextListener的机制; 只需要实现AsyncListener接口即可; 此接口有4个方法: public void onComplete(AsyncEvent event); public void onTimeout(AsyncEvent event); public void onError(AsyncEvent event); 以下是监听器实现的代码: 在Servlet异步处理处添加: actx.addListener(new MyListener());就可以添加监听器,每当异步处理完成时就会触发onComplete()事件,输出Complete; 原本文件上传时通过 common-fileupload或者SmartUpload,上传比较麻烦,在Servlet 3.0 中不需要导入任何第三方jar包,并且提供了很方便进行文件上传的功能; 注意点: 1. html中 <input type="file">表示文件上传控件; 2. form的 enctype="multipart/form-data"; 3.在Servlet类前加上 @MultipartConfig 4.request.getPart()获得; 下面是一个文件上传的例子: upload.html UploadUtil.java 由于在Servlet 3.0中很难获取上传文件的类型,因此我写了两个工具类,可以方便开发; 转自http://blog.csdn.net/xiazdong/article/details/7208316
Servlet 3.0 新特性概览
一、Annotation支持
1.Servlet
2.Filter
3.Listener
二、web模块化
SecondListener.java
三、Servlet 异步处理
四、异步监听器
public void onStartAsync(AsyncEvent event)throws IOException;
五、文件上传改进API
UploadServlet.java
发表评论
-
深度解析Java内存的原型及工作原理
2013-02-17 10:21 638本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
spring fileupload
2012-12-06 10:53 815spring支持在网络应用程序处理文件上传,提供拔插的or ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3372最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
java面试经典(转)
2012-05-15 16:31 414http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1102Java servlets 是一项被普 ... -
java入门基础(一)
2012-04-05 08:19 655java 的核心思想 ... -
hibernate与ibatis的区别
2012-03-07 09:05 848hibernate 是一站式ORM orm mappin ... -
配置文件load的几种方法(转)
2012-01-20 11:22 7941. InputStreamResource(Input ... -
Java关键字
2012-01-20 10:16 741Java关键字(keywords) abstract ... -
读源码之重拾接口与继承
2012-01-19 15:41 687Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 813ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 935下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
SAXReader解析XML
2012-01-18 08:43 3159总结: Document document=new SA ... -
threadlocal
2012-01-17 11:28 710概述 我们知道Spring通 ... -
mina2.0 多线程(一)
2012-01-17 11:26 2367mina 2.0 多线程 socket通信主体代码 ... -
hibernate load与get 的区别
2012-01-17 11:12 712hibernate中get方法和load方法的根本区别 如果你 ... -
web 容器
2012-01-17 11:01 712ApplicationContext是Spring的核心, ... -
java 基础
2012-01-05 15:36 738java 基础 Comparable ... -
java基础 GC整理
2012-01-05 15:33 811HotSpot是较新的Java ...
相关推荐
Servlet3.0新特性解析_03_Servlet3.0监听器、过滤器实现方式详解及Servlet的动态注册剖析
* @project servlet3.0 * servlet3.0的文件上传 * @date:2012-5-21 *在创建项目的时候首先添加Tomcat7.x的支持,然后把apache-tomcat-7.0.27\conf\web.xml拷贝到项目WEB-INF目录下 *把之前的web.xml覆盖.. 配置...
需要在tomcat下运行 博文链接:https://inotgaoshou.iteye.com/blog/975116
Servlet3.0新特性解析_01_Servlet3.0新特性深度解析、Servlet注解详解
Servlet3.0新特性解析_04_使用Servlet3.0实现文件上传及Part接口与MultiConfig注解深度解析
Servlet 是 Java EE 规范体系的重要组成部分,也是 Java 开发人员必须具备的基础...本文主要介绍了 Servlet 3.0 引入的若干重要新特性,包括异步处理、新增的注解支持、可插性支持等等,为读者顺利向新版本过渡扫清障碍
Servlet3.0新特性解析_02_Servlet3.0的异步支持与反向Ajax深入详解Servlet3.0新特性解析_02_Servlet3.0的异步支持与反向Ajax深入详解
servlet3.0使用手册,这里面有详细的api参考,使用很方便
非常好的学习Servlet3.0资料。特此共享。
servlet3.0jar下载,非常好用的控制器工具类包,servlet3.0jar下载,非常好用的控制器工具类包,
Servlet3.0_新特性详解
NULL 博文链接:https://pisces-java.iteye.com/blog/723125
JavaEE 6Servlet 3.0 中的新特性 • 易于开发和部署 • 模块化web.xml • 动态配置 • 异步Servlet • Servlet 3.0 — 易于开发 – 主要关注点 • 增强了API 以便使用SE 5 中新的语言特性 – 例如:批注、泛型...
第03课 servlet3.0新特性之@WebServlet_@WebInitParam详解 第04课 servlet3.0新特性之@WebFilter_@WebListener 第05课 JQuery AJAX 注册验证+二级菜单(JSON) 第06课 mybatis 框架搭建 第07课 mybatis 增删改查 第...
用servlet3.0异步技术,实现推送信息至客户端的聊天室
基于servlet3.0手写springmvc,实现了IOC和处理器映射器以及处理器映射器功能。
servlet 3,jar 包综合;用于javaEE servlet 3.0 开发使用。
个人整理的JavaServlet 3.0的API,按Java6 API的风格整理
servlet3.0.zip
servlet3.0-demo, 上传文件demo,基于注解开发