一、简介
- 主要语言Java EE
- 环境Tomcat、Myeclipse、SqlServer
- 主要技术JavaSE相关技术(HashMap、线程、socket)、Servlet、Jsp、HTTP(1.0和1.1)、json、以及XML、HTML、JS等
- 数据库连接管理技术dbcp,数据库连接技术jdbc、ODBC
- 数据库操作SQL
- 开发模式MVC
二、设计要求
- 客户端注册
- View初始数据获取
- 反馈信息处理
三、具体实现
3.1 客户端注册
- Servlet编写
- web.xml中对Servlet注册映射
Servlet主要在doGet方法中进行处理,处理流程:
1> 获取客户端进行HTTP的get请求URL中的参数
2> 对获取的参数进行格式检查
3> 通过工具类依次对用户名密码进行检查
4> 检查通过,在数据库中进行注册操作
返回json格式的数据,返回分两种情况:
1> 注册失败,返回失败状态,以及错误信息
2> 注册成功,返回成功状态,以及附加信息
3.2 设备初始信息获取
- Servlet编写,注册
- 获取请求信息,检查,解析,操作数据库,返回数据
- 返回同注册
3.3 反馈信息处理
- 主要通过socket udp操作
1、socket管理类 :采用单例模式,功能包括UDPServer启动,客户端的Hashmap列表操作
2、UDPServer:单例模式,通过实现Runnable接口方式,只启动一次,单独线程,含有Hashmap列表公有属性,以及udp相关的私有属性
3、UDPSend:继承Thread,可创建多可对象,每个对象都是单独的线程
一些注意点
PS:线程安全问题尤为重要
- 客户端的Hashmap列表操作必须同步
- 服务器端有client接入,reveive解除阻塞,对接收到的数据处理过程必须同步
- UDPSend根据自身属性创建packet,发送数据过程,必须同步
为保证同步,操作过程中不被CPU切换走,采用synchronized
PS:URL中的参数格式
PS: SQL操作时,数据类型匹配
网友评论