短网址技术大解析

由短网址广泛兴起,这个短网址技术让外行的人觉得高大上,深不测,其实,并非如此,经常使用短网址服务缩短链接的人儿们,本文将解析短网址服务技术,全方位技术解析出来,这个技术并非你想的那么难。分享,是一种心情!

短网址服务系统系统采用了B/S(Browser/Server)模式,传统的浏览器、服务器模式。客户端页面使用JQuery构建对用户友好的界面以及易了解、易操作的业务流程。服务器业务部分的组织采用了Struts2.0+Hibernate3.0+Sprin93.0的框架,数据库采用的是MySQL。开发工具是MyEclipse8.5,jdk版本是1.6。此外有使用poi一3.7.jar、jsoup-1.6.2.jar等工具jar包解决项目中实际相关问题。

一、短网址之框架技术

框架,即framework,是一个试图实例化说明的部分完整的软件(子)系统, 它为一个(子)系统定义体系结构并提供创建他们的基本构造块,它也定义具体功能特性需要改进的地方。应用框架可抽取特定领域中的共性问题,并部分或者全部地加以实现。在进行应用软件开发的时候,利用框架只需要集中精力完成系统的业务逻辑设计,它是对于一个软件系统的全部或部分的可复用设计。短网址服务系统采用了B/S架构,运用了Struts2.0+Hibernate3.0+Sprin93.0的框架。

二、短网址之Struts2技术

Struts是一个基于SunJ2EE平台的MVC框架,主要是采用Servlet和JSP技术来实现的。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速,在近来颇受关注。Struts把Servlet,JSP自定义标签和信息资源(message resources)整合到一个统一的框架中,Struts由‘组相互协作的类、Servlet以及Jsp TagLib组成。 基于Struts构架的web应用程序基本上符合JSP Model2的设计标准,可以说是 MVC设计模式的一种变化类型。Struts是一个web framework,而不仅仅是一些标 记库的组合,但Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。

Struts有其自己的控制器:(Controller),同时整合了其他的一些技术去实现模型 层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合, 包括EJB,JDBC和ObjectRelationBridge。在视图层,Struts能够与JSP,Velocity Templates,XSL等等这些表示层组件相结合。

三、短网址之Spring技术

  Spring是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。它主要的作用是解耦,用于降低组件与组件关系,提高了程序结构的灵活性。在项目中主要使用该框架的IoC和AOP两个特性。

  Spring通过控制反转(IoC.Inverse of Control)的技术促进了松耦合。当应用了IoC,一个对象依赖的其他对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。IoC与JNDI正好相反,不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

  Spring AOP提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑 与系统级服务进行内聚性的开发。应用对象只实现了它们应该做的,完成业务逻辑,它们并不负责其他的系统级关注点。

四、短网址之Hibernate技术

  Hibernate是一个开放源代码的对象关系映射框架(ORM),它对JDBC进行了 非常轻量级的对象封装,使得Java程序员可以随心所欲地使用对象编程思维来操纵数据库。避免使用复杂的JDBC来操作数据库ORM是为了解决面向对象与关系数据库不匹配的现象的技术。简单地说,ORM就是通过描述对象和数据库之间的元数据,将Java程序中的对象自动持久化到关系数据库。本质上就是一种数据 形式到另一种数据形式的转换,Hibernate作为数据库和Java应用中对实体类之间 的数据持续层的支持,实现了实体类和数据库中对应数据库之间的对应和沟通。



  为了解决项目中遇到的实际问题,提升系统的可用性以及使用效率,在实际开发过程中还引用了包括MySQL集群、JMS(Java Message Service)、HttpClient 等技术。

五、短网址之MySQL集群

  在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤 其是在大规模系统中。可以考虑采用数据库集群的方式来实现查询负载了,因为 一般来讲任何一个系统中数据库的查询操作比更新操作要多的多,因此通过多台 查询服务器将数据库的查询分担到不同的查询数据库从而提高数据库的查询效率。