1、 servlet技术
Servlet〔Server Applet〕,全称Java Servlet。是用Java编写效劳器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。狭义Servlet是指Java语言实现一个接口,广义Servlet是指任何实现了这个Servlet接口类。Servlet运行于支持Java应用效劳器中。从实现上讲,Servlet可以响应任何类型请求,但绝大多数情况下Servlet只用来扩展基于HTTP协议Web效劳器。
Servlet技术实现过程:
最早支持servlet技术是JavaSoftJava Web Server,此后,一些其他基于JavaWeb Server开场支持标准Servlet API,Servlet主要功能在于交互式地浏览和修改数据,生成动态Web内容。这个过程为:
1) 客户端发送请求至效劳器
2) 效劳器将请求发送至Servlet;
3) Servlet生成响应内容并将其传给效劳器,响应内容动态生成,通常取决于客户端请求;
4) 效劳器将响应返回给客户端。
Servlet生命周期:
1. 客户端请求该Servlet;
2. 加载Servlet类到内存;
3. 实例化并调用init()方法初始化该Servlet;
4. Service()根据请求方法不同调用doGet()或doPost()等实现方法;
5. Destory();
对于更多客户端请求,Server 创立新请求和响应对象,仍然激活此 Servlet service() 方法,将这两个对象作为参数传递给它。如此重复以上循环,但无需再次调用 init() 方法。一般 Servlet 只初始化一次(只有一个对象),当 Server 不再需要 Servlet 时〔一般当 Server 关闭时〕,Server 调用 Servlet destroy() 方法。
Servlet技术相比传统CGI技术或类似CGI技术技术相比,Java Servlet 具有更高效率,更容易使用,功能更强大,具有更好可移植性,更节省投资。
* 方便
Servlet 提供了大量实用工具例程,例如自动地解析和解码 HTML 表单数据、读取和设置 HTTP头、处理Cookie、跟踪会话状态等。
* 功能强大
在Servlet中,许多使用传统 CGI 程序很难完成任务都可以轻松地完成。例如,Servlet 能够直接和 Web效劳器交互,而普通 CGI 程序不能。Servlet 还能够在各个程序之间共享数据,使得数据库连接池之类功能很容易实现。
* 可移植性好
Servlet 用 Java 编写,Servlet API具有完善标准。因此,为 IPlanet Enterprise Server 写 Servlet 无需任何实质上改动即可移植到 Apache、MicrosoftIIS 或者 WebStar。几乎所有主流效劳器都直接或通过插件支持 Servlet。
* 节省投资
不仅有许多廉价甚至免费 Web 效劳器可供个人或小规模网站使用,而且对于现有效劳器,如果它不支持 Servlet 话,要加上这局部功能也往往是免费〔或只需要极少投资〕。
2、 JSP技术
JSP全名为Java Server Pages,中文名叫java效劳器页面,其根本是一个简化Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统网页HTML〔标准通用标记语言子集〕文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发Web应用是跨平台,既能在Linux下运行,也能在其他操作系统上运行。它实现了Html语法中java扩展〔以 <%, %>形式〕。JSP与Servlet一样,是在效劳器端执行。通常返回给客户端就是一个HTML文本,因此客户端只要有浏览器就能浏览。JSP技术使用Java编程语言编写类XMLtags和scriptlets,来封装产生动态网页处理逻辑。网页还能通过tags和scriptlets访问存在于效劳端资源应用逻辑。JSP将网页逻辑与网页设计显示别离,支持可重用基于组件设计,使基于Web应用程序开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它主要目是将表示逻辑从Servlet中别离出来。Java Servlet是JSP技术根底,而且大型Web应用程序开发需要Java Servlet
和JSP配合才能完成。JSP具备了Java技术简单易用,完全面向对象,具有平台无关性且平安可靠,主要面向因特网所有特点。
JSP技术主要有以下一些特点:
1) 将内容生成和显示进展别离
用JSP技术,Web页面开发人员可以使用HTML或者XML标识来设计和格式化最终页面,并使用JSP标识或者小脚本来生成页面上动态内容〔内容是根据请求变化,例如请求账户信息或者特定一瓶酒价格等〕。生成内容逻辑被封装在标识和JavaBeans组件中,并且捆绑在脚本中,所有脚本在效劳器端运行。由于核心逻辑被封装在标识和JavaBeans中,所以Web管理人员和页面设计者,能够编辑和使用JSP页面,而不影响内容生成。
2) 可重用组件
绝大多数JSP页面依赖于可重用、跨平台组件〔JavaBeans或者Enterprise JavaBeans组件〕来执行应用程序所要求复杂处理。开发人员能够共享和交换执行普通操作组件,或者使得这些组件为更多使用者和客户团体所使用。基于组件方法加速了总体开发过程,并且使得各种组织在他们现有技能和优化结果开发努力中得到平衡。
3) 采用标识
Web页面开发人员不会都是熟悉脚本语言编程人员。JSP技术封装了许多功能,这些功能是在易用、与JSP相关XML标识中进展动态内容生成所需要。标准JSP标识能够访问和实例化JavaBeans组件,设置或者检索组件属性,下载Applet,以及执行用其他方法
更难于编码和耗时功能。
4) 适应平台
几乎所有平台都支持Java,JSP+JavaBeans几乎可以在所有平台下通行无阻。从一个平台移植到另外一个平台,JSP和JavaBeans甚至不用重新编译,因为Java字节码都是标准与平台无关。
5) 数据库连接
Java中连接数据库技术是JDBC,Java程序通过JDBC驱动程序与数据库相连,执行查询、提取数据等操作。Sun公司还开发了JDBC-ODBC bridge,利用此技术Java程序可以访问带有ODBC驱动程序数据库,大多数数据库系统都带有ODBC驱动程序,所以Java程序能访问诸如Oracle、Sybase、MS SQL Server和MS Access等数据库。
JSP技术图解
3、 MVC框架
MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示别离方法组织代码,将业务逻辑聚集到一个部件里面,在改良和个性化定制界面及用户交互同时,不需要重新编写业务逻辑。MVC被独特开展起来用于映射传统输入、处理和输出功能在一个逻辑图形化用户界面构造中。
MVC是一种使用MVC设计创立Web应用程序模式:
• Model〔模型〕表示应用程序核心〔比方数据库记录列表〕。
• View〔视图〕显示数据〔数据库记录〕。
• Controller〔控制器〕处理输入〔写入数据库记录〕。
MVC 模式同时提供了对 HTML、CSS 和 JavaScript 完全控制。
Model〔模型〕是应用程序中用于处理应用程序数据逻辑局部。
通常模型对象负责在数据库中存取数据。
View〔视图〕是应用程序中处理数据显示局部。
通常视图是依据模型数据创立。
Controller〔控制器〕是应用程序中处理用户交互局部。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。
MVC 分层有助于管理复杂应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑情况下专注于视图设计。同时也让应用程序测试更加容易。
MVC 分层同时也简化了分组开发。不同开发人员可同时开发视图、控制器逻辑和业务逻辑。
MVC框架图解
MVC组件类型关系和功能
MVC框架优点:
耦合性低
视图层和业务层别离,这样就允许更改视图层代码而不用重新编译模型和控制器代码,同样,一个应用业务流程或者业务规那么改变只需要改动MVC模型层即可。因为模型与控制器和视图相别离,所以很容易改变应用程序数据层和业务规那么。
重用性高
随着技术不断进步,需要用越来越多方式来访问应用程序。MVC模式允许使用各种不同样式视图来访问同一个效劳器端代码,因为多个视图能共享一个模型,它包括任何WEB〔HTTP〕浏览器或者无线浏览器〔wap〕,比方,用户可以通过电脑也可通过手机来订购某样产品,虽然订购方式不一样,但处理订购产品方式是一样。由于模型返回数据没有进
展格式化,所以同样构件能被不同界面使用。例如,很多数据可能用HTML来表示,但是也有可能用WAP来表示,而这些表示所需要命令是改变视图层实现方式,而控制层和模型层无需做任何改变。由于已经将数据和业务规那么从表示层分开,所以可以最大化重用代码了。模型也有状态管理和数据持久性处理功能。
生命周期本钱低
MVC使开发和维护用户接口技术含量降低。
部署快
使用MVC框架使得开发时间得到相当大减少,它使程序员集中精力于业务逻辑,界面程序员集中精力于表现形式上。
可维护性高
别离视图层和业务逻辑层使得WEB应用更易于维护和修改。
有利软件工程化管理
由于不同层各司其职,每一层不同应用具有某些一样特征,有利于通过工程化工具化管理程序代码。控制器也提供了一个好处,就是可以使用控制器来联接不同模型和视图去完成用户需求,这样控制器可以为构造应用程序提供强有力手段。给定一些可重用模型和视图,控制器可以根据用户需求选择模型进展处理,然后选择视图将处理结果显示给用户。
4、 Struts技术
Struts是Apache 基金会Jakarta 工程组一个Open Source 工程,它采用MVC模式,能够很好地帮助java 开发者利用J2EE开发Web应用。和其他java架构一样,Struts 也是面向对象设计,将MVC模式\"别离显示逻辑和业务逻辑\"能力发挥得淋漓尽致。Struts 框架核心是一个弹性控制层,基于如 Java Servlets,JavaBeans,ResourceBundles与XML等标准技术,以及 Jakarta Commons 一些类库。Struts由一组相互协作类〔组件〕、Servlet以及jsp tag lib组成。基于struts构架web应用程序根本上符合JSP Model2设计标准,可以说是一个传统 MVC设计模式一种变化类型。
Struts流程:
效劳器启动后,根据加载ActionServlet读取文件内容到内存。以登录为例:第一次进会先实例化Form、把默认值〔String默认为空字符串,整型默认为0〕赋给表单元素。输入用户名密码提交表单、提交到action属性,通过ActionServlet读文件找到 action下path属性找到.action,通过name属性找form-beans中form-beanname属性得到ActionForm包名类名,先实例化form,把表单值填充给form,调用formvalidate方法验证、ActionErrors返回null表示验证通过,否那么失败返回input指定页面.验证通过会实例化Action,执行Actionexecute方法。
Struts实现流程
Struts优点:
Struts跟Tomcat等诸多Apache工程一样,是开源软件,这是它一大优点,使开发者能够更深入了解其内部实现机制。
除此之外,struts优点主要集中表达在两个方面:Taglib和页面导航。Taglib是Struts标签库,灵活应用,能大大提供开发效率。另外,就是目前国内JSP开发者而言,除了使用JSP自带常用标签之外,很少开发自己标签,Struts是一个很好起点。
关于页面导航,能够使系统脉络更加清晰,通过一个配置文件,即可把握整个系统各
局部之间联系,这对于后期维护有莫大好处,尤其是另外一批开发者接手这个工程时,这种优势表达更加明显。
5、 Hibernate技术
Hibernate是一个开放源代码对象关系映射框架,它对JDBC进展了非常轻量级对象封装,使得Java程序员可以随心所欲使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC场合,既可以在Java客户端程序使用,也可以在
Servlet/JSPWeb应用中使用,最具革命意义是,Hibernate可以在应用EJBJ2EE架构中取代CMP,完成数据持久化重任。
Hibernate核心类和接口一共有6个,分别为:Session、SessionFactory、
Transaction、Query、Criteria和Configuration。这6个核心类和接口在任何开发中都会用到。通过这些接口,不仅可以对持久化对象进展存取,还能够进展事务控制。
Hibernate中核心接口与类
Hibernate工作原理:
1、通过Configuration().configure();读取并解析配置文件。
2、由中
3、通过config.buildSessionFactory();//得到sessionFactory。
4、sessionFactory.openSession();//得到session。
5、session.beginTransaction();//开启事务。
6、persistent operate;
7、session.getTransaction() mit();//提交事务
8、关闭session;
9、关闭sessionFactory;
Hibernate优点:
1、封装了jdbc,简化了很多重复性代码。
2、简化了DAO层编码工作,使开发更对象化了。
3、移植性好,支持各种数据库,如果换个数据库只要在配置文件中变换配置就可以了,不用改变hibernate代码。
4、支持透明持久化,因为hibernate操作是纯粹〔pojo〕java类,没有实现任何接口,没有侵入性。所以说它是一个轻量级框架。
6、 Spring技术
Spring是一个开源框架,Spring是于2003 年兴起一个轻量级Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述局部理念和原型衍生而来。它是为了解决企业应用开发复杂性而创立。框架主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成框架。Spring使用根本JavaBean来完成以前只可能由EJB完成事情。然而,Spring用途不仅限于效劳器端开发。从简单性、可测试性和松耦合角度而言,任何Java应用都可以从Spring中受益。Spring核心是控制反转〔IoC〕和面向切面〔AOP〕。简单来说,Spring是一个分层JavaSE/EEfull-stack(一站式) 轻量级开源框架。
Spring框架特征:
轻量——从大小与开销两方面而言Spring都是轻量。完整Spring框架可以在一个大小只有1MB多JAR文件里发布。并且Spring所需处理开销也是微缺乏道。此外,Spring是非侵入式:典型地,Spring应用中对象不依赖于Spring特定类。
控制反转——Spring通过一种称作控制反转〔IoC〕技术促进了低耦合。当应用了IoC,一个对象依赖其它对象会通过被动方式传递进来,而不是这个对象自己创立或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象沉着器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
面向切面——Spring提供了面向切面编程丰富支持,允许通过别离应用业务逻辑与系统级效劳〔例如审计〔auditing〕和事务〔transaction〕管理〕进展内聚性开发。应用对象只实现它们应该做——完成业务逻辑——仅此而已。它们并不负责〔甚至是意识〕其它系统级关注点,例如日志或事务支持。
容器——Spring包含并管理应用对象配置和生命周期,在这个意义上它是一种容器,你可以配置你每个bean如何被创立——基于一个可配置原型〔prototype〕,你bean可以创立一个单独实例或者每次需要时都生成一个新实例——以及它们是如何相互关联。然而,Spring不应该被混淆于传统重量级EJB容器,它们经常是庞大与笨重,难以使用。
框架——Spring可以将简单组件配置、组合成为复杂应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多根底功能〔事务管理、持久化框架集成等等〕,将应用逻辑开发留给了你。
MVC——Spring作用是整合,但不仅仅限于整合,Spring 框架可以被看做是一个企业解决方案级别框架。客户端发送请求,效劳器控制器〔由DispatcherServlet实现)完成请求转发,控制器调用一个用于映射类HandlerMapping,该类用于将请求映射到对应处理器来处理请求。HandlerMapping 将请求映射到对应处理器Controller〔相当于Action〕在Spring 当中如果写一些处理器组件,一般实现Controller 接口,在Controller 中就可以调用一些Service 或DAO 来进展数据操作 ModelAndView 用于存放从DAO 中取出数据,还可以存放响应视图一些数据。 如果想将处理结果返回给用户,那么在Spring 框架中还提供一个视图组件ViewResolver,该组件根据Controller 返回标示,找到对应视图,将响应response 返回给用户。
Spring技术体系构造
7、 JavaScript技术
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型语言,内置支持类型。它解释器被称为JavaScript引擎,为浏览器一局部,广泛用于客户端脚本语言,最早是在HTML〔标准通用标记语言下一个应用〕网页上使用,用来给HTML网页增加动态功能。
JavaScript组成局部:
ECMAScript,描述了该语言语法和根本对象。
文档对象模型〔DOM〕,描述处理网页内容方法和接口。
浏览器对象模型〔BOM〕,描述与浏览器进展交互方法和接口。
JavaScript脚本语言特点:
(1)脚本语言。JavaScript是一种解释型脚本语言,C、C++等语言先编译后执行,而JavaScript是在程序运行过程中逐行进展解释。
(2)基于对象。JavaScript是一种基于对象脚本语言,它不仅可以创立对象,也能使用现有对象。
(3)简单。JavaScript语言中采用是弱类型变量类型,对使用数据类型未做出严格要求,是基于Java根本语句和控制脚本语言,其设计简单紧凑。
(4)动态性。JavaScript是一种采用事件驱动脚本语言,它不需要经过Web效劳器就可以对用户输入做出响应。在访问一个网页时,鼠标在网页中进展鼠标点击或上下移、窗口移动等操作JavaScript都可直接对这些事件给出相应响应。
(5)跨平台性。JavaScript脚本语言不依赖于操作系统,仅需要浏览器支持。因此一个JavaScript脚本在编写后可以带到任意机器上使用,前提上机器上浏览器支 持JavaScript脚本语言,目前JavaScript已被大多数浏览器所支持。
8、 Json
JSON(JavaScript Object Notation) 是一种轻量级数据交换格式。它基于ECMAScript一个子集。 JSON采用完全独立于语言文本格式,但是也使用了类似于C语言家族习惯〔包括C、C++、C#、Java、JavaScript、Perl、Python等〕。这些特性使JSON成为理想数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
JSON根底构造:
1、对象:对象在js中表示为“{}〞括起来内容,数据构造为 {key:value,key:value,...}键值对构造,在面向对象语言中,key为对象属性,value为对应属性值,所以很容易理解,取值方法为 对象.key 获取属性值,这个属性值类型可以是 数字、字符串、数组、对象几种。
2、数组:数组在js中是中括号“[]〞括起来内容,数据构造为 [\"java\,取值方式和所有语言中一样,使用索引获取,字段值类型可以是 数字、字符串、数组、对象几种。
JSON具体形式:
1) 对象是一个无序“名称/值〞对集合
2) 数组是值有序集合
3) 值可以是双引号括起来字符串,数值,true,false,null,对象或者数组。这些构造可以嵌套。
4) 字符串是由双引号包围任意数量Unicode字符集合,使用反斜线转义。一个字符即一个单独字符串,字符串与C或者Java字符串非常相似 。
5) 数值也与C或者Java数值非常相似,除去未使用八进制和十六进制格式。
9、 JQuery技术
JQuery是继prototype之后又一个优秀Javascript库。它是轻量级js库 ,它兼容CSS3,还兼容各种浏览器〔IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+〕,及后续版本将
不再支持IE6/7/8浏览器。jQuery使用户能更方便地处理HTML〔标准通用标记语言下一个应用〕、events、实现动画效果,并且方便地为网站提供AJAX交互。jQuery还有一个比拟大优势是,它文档说明很全,而且各种应用也说得很详细,同时还有许多成熟插件可供选择。jQuery能够使用户html页面保持代码和html内容别离,也就是说,不用再在html里面插入一堆js来调用命令了,只需要定义id即可。
jQuery是免费、开源,使用MIT许可协议。jQuery语法设计可以使开发者更加便捷,例如操作文档对象、选择DOM元素、制作动画效果、事件处理、使用Ajax以及其他功能。除此以外,jQuery提供API让开发者编写插件。其模块化使用方式使开发者可以很轻松开发出功能强大静态或动态网页。
JQuery技术特点:
1) 动态特效
2) AJAX
3) 通过插件来扩展
4) 方便工具-例如浏览器版本控制
5) 渐进增强
6) 链式调用
7) 多浏览器支持,支持Internet Explorer、Opera、FireFox、Safari、Chrome等浏
览器。
10、 HTML5技术
万维网核心语言、标准通用标记语言下一个应用超文本标记语言〔HTML〕第五次重大修改。
HTML5设计目是为了在移动设备上支持多媒体。新语法特征被引进以支持这一点,如video、audio和canvas 标记。HTML5还引进了新功能,可以真正改变用户与文档交互方式,包括:
· 新解析规那么增强了灵活性
· 新属性
· 淘汰过时或冗余属性
· 一个HTML5文档到另一个文档间拖放功能
· 离线编辑
· 信息传递增强
· 详细解析规那么
· 多用途互联网邮件扩展〔MIME〕和协议处理程序注册
· 在SQL数据库中存储数据通用标准〔Web SQL〕
HTML5特性:
语义特性〔Class:Semantic〕
HTML5赋予网页更好意义和构造。更加丰富标签将随着对RDFa,微数据与微格式等方面支持,构建对程序、对用户都更有价值数据驱动Web。
本地存储特性〔Class: OFFLINE & STORAGE〕
基于HTML5开发网页APP拥有更短启动时间,更快联网速度,这些全得益于HTML5 APP Cache,以及本地存储功能。Indexed DB〔html5本地存储最重要技术之一〕和API说明文档。
设备兼容特性 (Class: DEVICE ACCESS)
从Geolocation功能API文档公开以来,HTML5为网页应用开发者们提供了更多功能上优化选择,带来了更多体验功能优势。HTML5提供了前所未有数据与应用接入开放接口。使外部应用可以直接与浏览器内部数据直接相连,例如视频影音可直接与microphones及摄像头相联。
连接特性〔Class: CONNECTIVITY〕
更有效连接工作效率,使得基于页面实时聊天,更快速网页游戏体验,更优化在线交流得到了实现。HTML5拥有更有效效劳器推送技术,Server-Sent Event和WebSockets
就是其中两个特性,这两个特性能够帮助我们实现效劳器将数据“推送〞到客户端功能。
网页多媒体特性(Class: MULTIMEDIA)
支持网页端Audio、Video等多媒体功能, 与网站自带APPS,摄像头,影音功能相得益彰。
三维、图形及特效特性〔Class: 3D, Graphics & Effects〕
基于SVG、Canvas、WebGL及CSS33D功能,用户会惊叹于在浏览器中,所呈现惊人视觉效果。
性能与集成特性〔Class: Performance & Integration〕
没有用户会永远等待你Loading——HTML5会通过XMLHttpRequest2等技术,解决以前跨域等问题,帮助您Web应用和网站在多样化环境中更快速工作。
CSS3特性(Class: CSS3)
在不牺牲性能和语义构造前提下,CSS3中提供了更多风格和更强效果。此外,较之以前Web排版,Web开放字体格式〔WOFF〕也提供了更高灵活性和控制性。
HTML5优点:
1、提高可用性和改良用户友好体验;
2、有几个新标签,这将有助于开发人员定义重要内容;
3、可以给站点带来更多多媒体元素(视频和音频);
4、可以很好替代FLASH和Silverlight;
5、当涉及到网站抓取和索引时候,对于SEO很友好;
6、将被大量应用于移动应用程序和游戏;
7、可移植性好。
因篇幅问题不能全部显示,请点此查看更多更全内容