- 浏览: 81446 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (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 664本文主要通过分析Java内存分配的栈、堆以以及常量池详细的讲 ... -
spring fileupload
2012-12-06 10:53 842spring支持在网络应用程序处理文件上传,提供拔插的or ... -
Java文件上传组件 common-fileUpload 使用教程
2012-05-25 15:26 3453最近项目中,在发布商品的时候要用到商品图片上传功能(网站前 ... -
java面试经典(转)
2012-05-15 16:31 454http://blog.csdn.net/aweijun360 ... -
Servlet 3.0 简介
2012-05-08 15:28 1128Java servlets 是一项被普 ... -
java入门基础(一)
2012-04-05 08:19 679java 的核心思想 ... -
hibernate与ibatis的区别
2012-03-07 09:05 878hibernate 是一站式ORM orm mappin ... -
配置文件load的几种方法(转)
2012-01-20 11:22 8251. InputStreamResource(Input ... -
Java关键字
2012-01-20 10:16 769Java关键字(keywords) abstract ... -
读源码之重拾接口与继承
2012-01-19 15:41 713Java抽象类和接口的区别(好长时间没看这种文章了) ... -
java 基础 集合
2012-01-18 11:09 850ArrayList和LinkedList, Ar ... -
HttpUrlContent 详解
2012-01-18 08:45 967下边的总结对我帮助蛮大的~不仅用法了解,整个连接流程也要明 ... -
SAXReader解析XML
2012-01-18 08:43 3188总结: Document document=new SA ... -
threadlocal
2012-01-17 11:28 744概述 我们知道Spring通 ... -
mina2.0 多线程(一)
2012-01-17 11:26 2404mina 2.0 多线程 socket通信主体代码 ... -
hibernate load与get 的区别
2012-01-17 11:12 738hibernate中get方法和load方法的根本区别 如果你 ... -
web 容器
2012-01-17 11:01 747ApplicationContext是Spring的核心, ... -
java 基础
2012-01-05 15:36 781java 基础 Comparable ... -
java基础 GC整理
2012-01-05 15:33 856HotSpot是较新的Java ...
相关推荐
相较于之前的版本,Spring 3.0引入了许多新特性,使得开发者能够更加灵活高效地构建Web应用。 1. **丰富的功能**:Spring MVC提供了丰富的功能,如数据绑定、验证、格式化以及国际化支持,这有助于构建强大的Web...
- **Servlet 3.0**:Servlet 3.0 的推出带来了诸多新特性,如异步处理、过滤器的异步支持、嵌入式Servlet容器以及对HTTP请求参数的改进等,这些都极大地提升了Web应用程序的性能和响应速度。 - **JPA 2.0**:Java ...
#### Spring3.0新特性 - **Java5支持与注解配置**:Spring3.0全面支持Java5的特性,如泛型、注解和可变参数,简化了代码编写和维护。 - **Spring Expression Language (SpEL)**:引入了一种新的表达式语言,可用于...
1. **Java 5支持**:Spring3.0支持Java 5,包括泛型、注解和可变参数等特性,简化了配置和编程。 2. **Spring Expression Language (SpEL)**:引入了Spring表达式语言,可用于XML和注解Bean定义中,增强了表达能力。...
- **异步处理**:Servlet 3.0引入了异步处理的支持,使得Servlet能够处理长时间运行的任务而不会阻塞服务器线程。 #### 三、JSP技术详解 - **JSP基本语法**: - 脚本元素(Scriptlets):如`<% %>`用来执行Java...
Spring MVC 3.0 是一个功能强大且灵活的框架,它不仅简化了 Web 应用程序的开发过程,还提供了丰富的特性来支持现代 Web 开发的需求。从 DispatcherServlet 和 ContextLoaderListener 到控制器、视图解析器以及 ...
Spring 3.0注解是该版本引入的重要特性,极大地简化了Spring MVC框架的配置和使用。Spring MVC是一个强大的Web应用程序开发框架,它允许开发者构建模块化的、松耦合的Web应用,支持RESTful风格的请求处理。在这个...
### MyEclipse 10.5:全面解析与新特性概览 #### 一、MyEclipse概述 MyEclipse是一款强大的集成开发环境(IDE),主要用于Java和J2EE应用程序的开发。它作为Eclipse的一个插件集合,不仅提供了丰富的功能,还支持...
Spring 3.0新特性 - **Java 5的支持**:Spring 3.0全面支持Java 5,利用其特性如泛型和枚举等来提高类型安全性和代码可读性。 - **文档改进**:官方文档进行了大幅度更新,提供了更清晰的指南和示例。 - **新的...
- **JDBC 2.0/3.0新特性**:JDBC(Java Database Connectivity)是Java平台的标准数据库访问接口。JDBC 2.0/3.0引入了许多新特性,如RowSet、批处理等,极大地提高了数据库操作的灵活性和性能。 - **JDBC Optional ...
- **Servlet3.0规范的新特性**: - 异步处理支持:Servlet 3.0引入了异步处理能力,允许Servlet在非阻塞模式下运行,从而提高响应速度和服务器效率。 - 文件上传改进:增强了文件上传功能,提供了更简单的API来...
- **Servlet 3.0 下的 MultipartResolver**:对于 Servlet 3.0 及以上版本,Spring MVC 提供了内置的文件上传支持。 - **处理表单中的文件上传**:通过控制器方法来接收和处理上传的文件。 #### 异常处理 ...
- **组件模型**:包括 EJB 3.1、Servlet 3.0、JSP 2.2 等核心组件模型,支持更灵活的应用程序架构设计。 - **Web 应用框架**:如 JSF 2.0,提供了更强大的 Web 开发工具和库。 - **服务端技术**:包括 CDI (Contexts...
- **简化开发**: 引入了简化企业级应用开发的新特性,如POJOs (Plain Old Java Objects) 和依赖注入。 - **面向注解的配置**: 支持使用注解进行配置,减少了XML配置文件的使用,提高了开发效率。 - **统一EL语言**: ...
- **Servlet技术**:使用Servlet 3.0的新特性简化应用开发。 #### 框架学习 - **Struts2**:了解Struts2框架的基本原理、Action处理机制及常用的标签库。 - **Hibernate**:深入学习Hibernate的API、配置文件、检索...