短网址技术深度解析

短网址技术深度解析  由短网址(如:缩链)广泛兴起,这个短网址技术让外行的人觉得高大上,深不测,其实,并非如此,经常使用短网址服务缩短链接的人儿们,本文将解析短网址服务技术,全方位技术解析出来,这个技术并非你想的那么难。分享,是一种心情!  短网址服务相关技术  短网址服务(如:缩链)系统系统采用了B/S(Browser/Server)模式,传统的浏览器、服务器模式。客户端页面使用JQuery构建对用户友好的界面以及易了解、易操作的业务流程。服务器业务部分的组织采用了Struts+Hibernate+Spring的框

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

  短网址服务相关技术

  短网址服务(如:缩链)系统系统采用了B/S(Browser/Server)模式,传统的浏览器、服务器模式。客户端页面使用JQuery构建对用户友好的界面以及易了解、易操作的业务流程。服务器业务部分的组织采用了Struts+Hibernate+Spring的框架,数据库采用的是MySQL。开发工具是MyEclipse,jdk。此外有使用poi.jar、jsoup.jar等工具jar包解决项目中实际相关问题;缩链-企业定制短链系统为企业快速、低成本打造自己的短链系统,提升企业推广转化,强化企业品牌形象。

  一、短网址之框架技术

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

  二、短网址之Struts技术

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

  MySQL数据库支持数据库的主从复制功能,使用主数据库进行数据的插入、 删除与更新操作,而从数据库则专门用来进行数据库查询,这样就可以将更新操 作与查询操作分离到不同的数据库上,从而提高查询的效率。

  (1)主数据库配置

  MySQL任何一台数据库服务器都可以作为主数据库服务器,只需要简单的修 改配置文件即可。打开MySQL的配置文件,在配置文件中加入如下两行:

  server-id=1

  Log-bin=mysql-bin

  MySQL进行主从复制是通过二进制的日志文件来进行,所以必须开启MySQL的日志功能,即上面的log-bin,同时每一台数据库服务器都需要指定一个唯一的server-id,通常主数据库服务器指定为1。然后还需要给主数据库授予一个可以进 行复制的用户,命令如下:

  GRANT replication slave ON*.* TO’repuser’@%’IDENTIFIED BY’123456’

  replication slave是MySQL数据库中表示复制的权限名称,repuser则是表示 从数据库服务器登陆到主数据库服务器时用到的用户名称,123456表示登陆密码。

  (2)从数据库配置

  从数据库服务器的配置主要也是修改MySQL的配置文件,加入如下行:

  server-id=2

  Log-bin=mysql-bin 一在从服务器上启动日志记录

  master-host=主机 一主数据库服务器的P地址

  master-user=用户名 —执行复制的用户名称,就是grant的用户

  master-password=密码 一复制用户的密码,就是grant的用户密码

  master-port=端口 一主数据库服务器的端口,默认是3306

  启动从数据库服务器后,还需要在命令行中执行如下命令来启动复制功能:

  slave start

  启动后就可以通过如下命令来查看复制的状态了:

  show slave status

  可以看到系统的输出,第一个就是Slave IO State,它的值通常就是Waiting for master to send event,然后也还可以看到刚才配置的主数据库服务器的ip地址、复制账号等信息。

  六、短网址之JMS

  JMS(Java Message Service)是一种应用于异步消息传递的标准API,也是应用于程序问通讯的。但是,JMS与其他机制有所不同,主要表现在系统间传递信息的方式。

  当一个应用程序通过JMS向另一个应用程序发送消息时,两个程序之间并没有直接的连接。发送应用程序会将消息交给一个服务,由服务确保将消息投递给接收应用程序。在JMS中有两个主要的概念:消息中介(Message Broker)和消息目标(Destination)。当应用程序发送消息时,会将消息交给一个消息中介即消息服务器(JMS Server)。消息中介可以确保消息被投递到指定的消息目标,同时可以释放发送者,使其能够进行其他的业务。

  在JMS中,每条消息带有一个消息目标。消息目标只关心消息应该从哪里获得——而不是由谁来获得。在JMS中,有两种消息日标类型:队列和主题。分别应用于队列的点对点模型或应用于丰题的发布——订阅模型。

  点对点消息传递模型:在点对点模型中,每个消息都有一个发送者和一个接收者。

  发布——订阅消息传递模型:在此模型中,消息会被发送给一个主题。像使用队列一样,可以让多个接收者监听一个主题。但是,与队列不同的是消息不再被只投递给一个接收者,所有主题的订阅者都会收到消息。

  JMS最大的一个优点在于当使用JMS发送消息时,客户端不必等待消息被处理,甚至是被投递。客户端只需要将消息发给消息中介,就可以确信消息会被投 递到适当的目标。因为不必等待,客户端就可以执行其他的任务。由于这种方法可以大人地节省时间,客户端的性能能够极人地提高。

  在本项目的开发过程中,采用Spring的JMS抽象框架简化了JMS API的使用。它提供的模板机制隐藏了典型的JMS实现的细节,这样在丌发过程中就可以 集中精力放在处理消息的实际工作中,而不用担心如何去创建,访问或清除JMS资源等事务管理操作上。

  七、短网址之HttpClient

  HTTP协议可能是现在Interact上使用得最多、最重要的协议了,越来越多 的Java应用程序需要直接通过HTTP协议来访问网络资源。虽然在JDK的java.net包中已经提供了访问HTTP协议的基本功能,但是对于大部分应用程序来说,JDK库本身提供的功能还不够丰富和灵活。HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持HTTP协议的 客户端编程工具包,并且它支持HTTP协议最新的版本和建议。

  在本系统开发中主要运用了其中PostMethod提交数据的方法,使用 PostMethod方法主要分为六个步骤:

  1.创建HttpClient的实例;

  2.创建PostMethod的实例,在PostMethod的构造函数中传入待连接的地址;

  3.调用第一步中创建好的实例的execute方法来执行第二步中创建好的 method实例;

  4.读response;

  5.释放连接。无论执行方法是否成功,都必须释放连接;

  6.对得到后的内容进行处理。

  以上七大技术,就是短网址服务的技术使用情况。

今天的文章短网址技术深度解析分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/23861.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注