Java后台服务端分析

先看看结构图:

之前没有写过服务器端的代码,项目中有一个单独的服务端,看了代码,觉得写得挺好的,感觉原作者应该是看过一些开源的代码,框架和设计的--至少自己之前没有设计过服务端代码结构。

总结一下主要的设计:

1.服务端肯定需要一个服务器,这里使用的是Java网络的ServerSocket作为基础服务端

2.服务端包括两个方面:(1)为真正的服务端服务的配置类和配置文件

           (2)服务端本身

3.由第2点可以知晓,服务启动的时候,肯定需要预先加载配置,如图所示,会先执行MainServer的init方法,即加载配置,这里使用了一个配置入口类Config,同时为其传入主配置文件

  3.1服务端启动至Config之后,即可加载主配置文件了,由图可以看出,这里的配置文件不止一份,即与框架、业务都相关

  3.2主配置文件里面包含了每一个具体分类的配置文件路径,比如log,server,spring。。。后面就是面向对象的体现,和其他框架类似,各种配置文件分别对应各自context和config(和ServletContext和ServletConfig类型)

  3.3具体的去解析配置文件,将实际的配置set到各自的config中,config一般都是static的,其方法也一般是static的,生命周期很长,便利,但是注意不要多次加载

  3.4init方法执行完毕,服务端就获取到了各自必须的config,可以在后续使用

4.服务端代码启动

  4.1如图,和上述配置文件类型,各自不同的业务对应各自单独的Server,它们都继承了BaseServer,处理共性问题,这个和ActionSupport类似

  4.2启动各自的Server(Server是一个线程,拥有各自的端口),启动的时候,就可以使用第3步中初始化了的config,并且config是按需要插入的,同时,各Server拥有各自的线程池,用于处理本类型的请求;

  4.3每个Server对应一个处理类Handler,在Handler中,已经获取了请求的Socket,和Server类似,Handler也都可以继承自一个父类Handler,处理通性问题,当然也可以个性化实现,这个处理的方法主要就是process类

  4.4至此,请求基本已经读取了,按照面向对象的思想(和http请求类似),应该将请求封装成对象--request,响应Response可在后面封装(?),这里注意,仍旧为了通性,对于请求,也定义了一个通用父类Message,而具体的request则各自扩展

  4.5后续就继续调用具体的Service,由父类接口定义,实现各自子类,不同子类

时间: 2024-10-25 06:18:29

Java后台服务端分析的相关文章

专业移动APP 手机APP后台服务端开发

专业移动APP 手机APP后台服务端开发优势:8年PHP 9年JAVA开发经验采用THINKPHP 和JFINAL ,SBadmin 2框架进行开发完善的开发文档免费一年BUG维护 可签协议,可先预付20%,也可分段付款, 亲 请带好需求文档! QQ 184377367 报价原则1:功能列表2:兼容性3:安全要求等级4:是否需要完善的开发文档5:后台UI是否有要求

搭建一个java web服务端

最近也是做了一个简单的java web 项目,由于以前也是没接触过,在这里记录下搭建一个web服务端的过程. 一般我们做一个服务端要么在本地自己的电脑上先安装环境,一般是windows系统,主要安装jdk + tomcat + mysql,这些安装教程网上都有,也很简单,我这里就不多说了,我要讲的是在一个远程linux服务器上搭建web服务端环境. 对于一个liunx服务器,我们可以使用xshell等终端工具登录来操作远程服务器,使用xshell的好处是,我们可以使用rz ,sz命令上传上载文件

Unity手游之路<二>Java版服务端使用protostuff简化protobuf开发

http://blog.csdn.net/janeky/article/details/17151465 开发一款网络游戏,首先要考虑的是客户端服务端之间用何种编码格式进行通信.之前我们介绍了Unity游戏前端使用protobuf的方法.今天我们来谈谈服务端如何使protobuf.游戏服务端语言百花齐放,除了比较传统的c/c++外,Java,Erlang,Python都有很多团队在使用. 今天推荐一下Java作为服务端开发语言.国内很多出色的页游和手游都是采用Java作为服务端语言的.比如<神曲

Android服务端开发1-使用Eclipse搭建Java Web服务端

本篇博客介绍如何使用Eclipse来创建一个Java Web程序,为后面讲通过Android客户端跟服务端进行交互打下基础,关于服务端可以选用的程序很多,主流的搭配是Android客户端+PHP服务端,我们也可以使用Android客户端+Java EE服务端这样的搭配,就看公司是以哪种方式提供了. 创建一个Java Web程序,没有特别复杂的流程,我们先准备一下原材料: 1. Eclipse(注:这个不是ADT Bundle,最好到官网下载针对开发Java EE的IDE,如果可以的话,选中MyE

【转】C# client 与java netty 服务端的简单通信,客户端采用Unity

http://blog.csdn.net/wilsonke/article/details/24721057 近日根据官方提供的通信例子自己写了一个关于Unity(C#)和后台通信的类,拿出来和大家分享一下. 具体请参考: 1.java服务端用的apach.mina框架搭建.java服务端请参考:http://blog.9tech.cn/?c=site&m=article&id=548 2.C#环境:.NET framework 2.0 3.C#帮组文档,及Socket注解:http://

java实现服务端守护进程来监听客户端通过上传json文件写数据到hbase中

1.项目介绍: 由于大数据部门涉及到其他部门将数据传到数据中心,大部分公司采用的方式是用json文件的方式传输,因此就需要编写服务端和客户端的小程序了.而我主要实现服务端的代码,也有相应的客户端的测试代码.这里须有一个需要提到的是,我在实现接收json文件的同时,而且还需将数据写到hbase中.写入到hbase当中采用的是批量插入的方式,即一次插入多条记录. 好了,有了前面的说明,下面来简单的说一下我实现的服务端的小程序把. 2.为了实现服务端能够监听客户端的行为,因此我在服务端采用多线程的技术

java SDK服务端推送 --极光推送(JPush)

网址:https://blog.csdn.net/duyusean/article/details/86581475 消息推送在APP应用中越来越普遍,来记录一下项目中用到的一种推送方式,对于Andriod它并没有自己的原生推送机制,一种简单的推送方式是采用第三方推送服务的方式,即通过嵌入SDK使用第三方提供的推送服务,主流的有百度云推送,极光推送,友盟,个推.亚马逊等等.本篇博文只介绍采用极光推送的方式.        如果你是一个新手,建议你先看完本篇博客,然后在去看官网,这样也许上手会快一

JAVA WEBSERVICE服务端&amp;客户端的配置及调用(基于JDK)

前言:我之前是从事C#开发的,因公司项目目前转战JAVA&ANDROID开发,由于对JAVA的各种不了解,遇到的也是重重困难.目前在做WEBSERVICE提供数据支持,看了网上相关大片的资料也是云里雾里的,索性最后得以解决,现将代码及方法发布如下,有需要的朋友可以参考,谢谢! --------------------------------------------------- WEBSERVICE服务端 package lavasoft; import javax.jws.WebMethod;

客户端使用java,服务端使用c++的corba编程环境搭建

我们先用c++实现服务端和客户端,然后再用java编写客户端. 1. 首先安装omniORB,omniORB提供 omniidl命令,以及一些头文件和库. omniORB一般是需要你自己进行编译. 2. 编写idl文件,本实验中文件名为 echo.idl 1 interface Echo { string echoString(in string mesg); }; echo.idl 3. 使用omniidl -bcxx echo.idl 生成 echo.hh 和 echoSK.cc 4. 编写