- 浏览: 489669 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (185)
- job (15)
- linux/windows/unix/bash/shell (31)
- JAVA/J2EE/spring/hibernate/struts (30)
- VC/C++ (48)
- mysql/postgresql (6)
- php/jsp/asp/pear (1)
- FMS/flex/openlaszlo/red5/openmeetings (34)
- apache/tomcat/ftp/svn (6)
- xen/vm/Hadoop/cloudcompute (6)
- visual studio/eclipse/zendstudi/ant (8)
- others (1)
- windows异常处理 __try __except (1)
- (1)
- matlab (4)
- android (0)
最新评论
-
hongzhounlfd:
很透彻,很详细
依赖注入和控制反转 -
jefferyqjy:
谢谢~言简意赅~很明了!
依赖注入和控制反转 -
elderbrother:
太好了,谢谢
依赖注入和控制反转 -
east_zyd_zhao:
终于搞明白了
依赖注入和控制反转 -
Dremeng:
完美,一看就懂理解透彻
依赖注入和控制反转
第一篇:简单概述
首先,既然是Java Servlets,Java的特性它都具备,比如“一次编写,多平台运行”,而且它肯定是用Java语言来写的,所以,学习Servlets必须要有一定的Java语言基础。如果没有,恐怕您会对以下内容失望的。
从Servlets的工作机制上看,它比较象CGI(Common Gateway Interface)通用网关接口,比如:和CGI程序一样,Servlets可以响应用户的指令(提交一个FORM等等),也可以象CGI程序一样,收集用户表单的信息并给予动态反馈(简单的注册信息录入和检查错误)。
然而,Servlets的机制并不仅仅是这样简单的与用户表单进行交互。传统技术中,动态的网页建立和显示都是通过CGI来实现的,但是,有了Servlets,您可以大胆的放弃所有CGI(perl?php?甚至asp!),利用Servlets代替CGI,进行程序编写。(千万别怀疑,接着看)
对比一:当用户浏览器发出一个Http/CGI的请求,或者说调用一个CGI程序的时候,服务器端就要新启用一个进程(而且是每次都要调用),调用CGI程序越多(特别是访问量高的时候),就要消耗系统越多的处理时间,只剩下越来越少的系统资源,对于用户来说,只能是漫长的等待服务器端的返回页面了,这对于电子商务激烈发展的今天来说,不能不说是一种技术上的遗憾。
而Servlets充分发挥了服务器端的资源并高效的利用。每次调用Servlets时并不是新启用一个进程,而是在一个Web服务器的进程中共享和分离线程,而线程最大的好处在于可以共享一个数据源,使系统资源被有效利用。
对比二:传统的CGI程序,不具备平台无关性特征,系统环境发生变化,CGI程序就要瘫痪,而Servlets具备Java的平台无关性,在系统开发过程中保持了系统的可扩展性、高效性。
对比三:传统技术中,一般大都为二层的系统架构,即Web服务器+数据库服务器,导致网站访问量大的时候,无法克服CGI程序与数据库建立连接时速度慢的瓶颈,从而死机、数据库死锁现象频繁发生。而我们的Servlets(现在可以这么叫了吧,算是妮称,ok!)有链接池的概念,它可以利用多线程的优点,在系统缓存中事先建立好若干与数据库的链接,到时候若想和数据库打交道可以随时跟系统"要"一个链接即可,反应速度可想而知。
在与传统技术的对比中,Java的服务器(至少三层架构)提出了一种“中间件”的概念,可能中间件的范围太广,本文又是Servlets的概貌了解,就不涉及太多。不过应用服务器的广泛应用,特别是在电子商务的时代,网站没有用到应用服务器的还真是让我感到奇怪?因为Sevlets技术是应用服务器的重要组成部分之一,在此简单提过。
作为从《Java Enterprise Best Practices》摘取的三部分的第一部分。主要是学习怎么有效地用 Servlets 工作。
从1996年Servlets的产生便决定了Java服务端的发展前景,并成为Java运用到WEB中的标准途径,是Java程式员做WEB应用程式服务的技术基础。本章探讨servlet发展和设置最佳实战。
有效地用Servlets工作
我们从Servlets Frameworks开始介绍,Servlets Frameworks如(Apache Struts)通过提供给用程式框架提高了研发人员的工作效率从而逐步的流行起来。在第一部分,我们学习Servlets Frameworks到底提供了那些东东;然后,我们由浅入深地介绍怎么用预编译来优化Servlets性能,下一步,我们处理一些比较棘手的装载设置文件主题、并提供了一些代码使任务更加简单化。接着我将要提供一些关于何时需要使用HttpSession 和 SingleThreadModel特点的经验技巧。在本部分末尾,我将解释怎么控制缓冲以便更清晰的获得用户的经历,和一些最经常出现的问题如:“怎样实现客户端下载文件的时候弹出’保存’对话框”,你将会明白这个问题的关键是HTTP头信息的正确设置。
选择正确的Servlet Frameworks
当我们写Web应用程式时候,首先应该记住Servlets是一项开源技术,早期,人们在做Java Web编程的时候总是忘记这个,没有引入Servlet API,于是我们不得不自己去实现。有点象以前的时代,非常的艰难,程式员必须自己写自己的Servlet代码,根本没有一点投机。我们今天非常幸运的不必那样做了。就象输出只要”out.println()”即可。
目前。时代已改动,群体协作精神已来临,我们有许多servlet基础技术使Web应用程式更加快速容易的实现。第一个变革便是表示层(presentation layer)的变化:在out.println()出现之前,JavaServer Pages (JSP), WebMacro,和Velocity等给我们提供了丰富的选择。这些技术更容易对研发,设置,修改动态的页面内容。在Java Servlet Programming(Second Edition)一书中你能看到这些和其他模板技术的研究。
今天,我们主要讨论框架中的表示层的变革。(见图1)这些新的框架为快速建立web应用程式、页面添充web应用程式提供了一个平稳的操作平台。Framework具有最佳的专家设计和良好的重用性,好的Framework能提高你的应用程式模块化和可维护性。Framework也能让将将不同的技术封装成一种包形式并以提供组件的方式解决通常的任务。如果你选取正确的Servlet Frameworks,能非常快的提高你的效率并且非常好协调团队工作。因此我在这里选用正确的Frameworks 的同时在这个章节里提供了一些关于选取正确的Frameworks 的经验技巧。
图1:Servlets,模板技术和框架
Tips for selecting a framework(选择框架技巧)
选取framework,非常重要的一步就是考虑每个framework的特性。以下是一些framework提供的部分特性,并不是所有的framework都支持这些特性。
1. 和模板语言集成
有些framework是一些模板语言的综合,其他的虽然也对模板语言经常优化,但只算上一支持模板语言的插件模型。如果你需要具体的模板语言,首先要确保framework能够非常好的支持他。
2. 设计和研发的分离
framework的目标之一就是让研发WEB应用程式时候使研发和设计分离。选择正确的模板语言是有必需的,但选择framework更是迫切而必要的,毕竟每种framework的关注不同,但都支持设计和研发的分离模式。
3. 安全性能
默认的servlet存取空话子和安全模型只能在普通的工作中适用,并不能满足安全高级需求,一些framework提供了一些可变换的安全模型,更有一些支持安全模型插件。如果你要需要高级安全控制,选择正确的framework是必须的。
4. 表单校验
framework通常提供一些校验表单数据的工具,能够允许framework在Servlet看到数据前对传递过来的参数/表单数据进行全方面的审核。比如说;一些允许使用表单上一步/下一步向导及其当前状态简洁方便的研发。
5. 错误处理
一些framework具有普通/高级错误处理机制、比如发送邮件警戒、数据存储日志错误或自动格式化的用户/管理者错误。
6. 持久性/数据库性能
持久性的终端数据存储能说是framework最为强大的性能之一,比如数据库技术。Frameworks让用户不再用sql的思维而使用object(对象)的思维来考虑事物。
7. 国际化
国际化是一直是一种挑战。不过有些framework有这种简单处理语言不同的性能。
8. IDE
一些framework为了framework的发展和支持第三方IDES(integrated development environments)提供了IDES。
9. 支持web服务的机构
随着web服务的增长趋势,经常见到一些以web服务为中心的新的framework和一些已存在的framework大力宣传他们的web 服务。
除了上面的特性,另外要考虑的是framework的许可证,我的建议是选择开源项目或是有多种卖主的标准接口。这样将会保护你的利益。不管是开源还是普通标准的framework都能避免一种单一的framework问题并能确保没有人能在你终止你正在使用的framework.。
第三要考虑的是 该framework的市场定位,不同的地方有不同的需要。Frameworks都是根据某一市场领域而产生的。你可能会发现去研究相似的应用程式用不同framework实现是非常用的.
发表评论
-
剖析Android消息机制
2011-10-26 15:56 1008剖析Android消息机制 在Android中,线程内部或者 ... -
Chapter 6 Exceptions(JAVA EXCEPTION IN NATIVE CODE)
2011-09-26 09:53 1463Contents | Prev | Next | Index ... -
JNI编程中如何传递参数和返回值。
2011-09-14 17:51 1760首先要强调的是,native方法不但可以传递Java的基本类型 ... -
Windows Mobile与Android应用开发对比
2011-09-06 11:44 1241Windows Mobile在经历过最初的Wince系列,po ... -
android和JNI经典blog.doc
2011-09-01 15:29 1708Android JNI调用 2011-02-24 1 ... -
java中的jar关联SRC调试
2011-07-31 21:28 1075我现在的方法是: 打开后看到的是.class文件,然后点ch ... -
android 调用C++的so
2011-07-08 18:36 4333第一步:开发环境的安 ... -
JAVA环境变量配置和详解
2011-07-08 13:46 1183你知道Java环境变量如何配置吗,这里和大家分享一下,主要包括 ... -
数据库试题
2010-12-23 20:05 3499www.zhrtvu.net/oldpage/depart ... -
观察者模式
2010-11-21 19:04 953观察者模式:在对象之间建立一对多的关系,这样一来,当一个对象改 ... -
Apache MINA
2010-11-01 21:04 1051Apache MINA是一个网络应用程序框架,用来帮助用户简单 ... -
JMX
2010-11-01 21:03 1089百科名片 JMX(Java Management ... -
依赖注入和控制反转
2010-10-25 10:57 29031依赖注入和控制反转 ... -
jrdesktop
2010-10-14 15:32 1489jrdesktop(Java Remote Desktop)是 ... -
Apache MINA
2010-10-14 10:28 1032Apache MINA是一个网络应用程序框架,用来帮助用户简单 ... -
XDoclet
2010-10-14 09:38 889XDoclet XDoclet是一个开源项目,可以从这里 ... -
log4j
2010-10-14 09:37 949Log4j是Apache的一个开放源代码项目,通过使用Log4 ... -
Jakarta项目
2010-10-14 09:35 1100Jakarta项目 Apache基金旗下的开源Java项目社 ... -
JMF(java media framework)综述
2010-10-14 09:34 4315摘要: 本文先简述了JM ... -
slf4j
2010-10-14 09:31 1054slf4j-logo SLF4J不是具 ...
相关推荐
jsp&servlet知识点总结
jsp和servlet知识点总结
对Servlet基础知识进行总结,适合新手入门用,里面详细的介绍了Servlet运行原理以及如何创建等
通过自身学习对jsp、servlet知识的总结,重点应该都涉及了
jsp&servlet知识点总结.doc
数据库jsp及servlet知识点大全,内容还是挺全面的,希望对你有帮助
servlet知识点,本人从网上收集的一点点组合在一起的,希望能给学习JSP的朋友有一定帮助。
1、serialVersionUID作用, 一个是默认的1L,比如:private static final long serialVersionUID = 1L; 2、Servlet中service()方法 3、servlet中的doGet和doPost的不同 4、……
(3)由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过 ServletContext对象来实现通讯。ServletContext对象通常也被称之为context域对象。 (4)context域对象:域在中文...
这是一个关于servlet的说明很全的一个文档,总结了servlet的用法,出现的问题,关于将jsp与servlet的应用相结合的用法
简单的BBS,里面实现了登录,增删改查的功能,是一个较好,较综合的学习项目。
高人总结,相当超值,内有例子程序以及解释说明,即适合初学者学习,有适合有一定经验者补充
NULL 博文链接:https://greatwqs.iteye.com/blog/1040280
servlet基础知识 搭建servlet 编写servlet
JSP+servlet+JDBC实现的网上商城项目
servlet的有关知识,servlet是java应用中很关键的一个方面,尤其是对java web 开发有极其重要的作用
有关servlet的基本知识及他的安装过程
自己总结的一些Servlet知识点!希望对大家有用!
java web Servlet学习文档 让你更好的掌握Servlet知识点,这个文档主要是讲述了Servlet的最基础的知识点.