项目摘要

一、登录过程

  • 项目使用Maven 搭建的springMVC
  • Controller 响应(login、loginError、loginSuccess)页面请求,返回对应的
  • Controller 响应login.do 进行登陆验证,参数包含userId、userPassword(登录类型、客户端类型等)
    成功: 直接跳转到控制界面(或者通过loginSuccess 页面过度一下),同时需要把相关信息保存在客户端
    失败:跳转到loginError 页面,然后重新定向到login 页面

注:jsp 页面放在webInfo下,js和CSS 直接暴露

二、消息推送

  • 使用了comet 4j
  • 客户端控制界面加载完成后,启动comet 的start()方法
  • 服务器端的comet 的connect监听到客户端的第一次连接,用状态频道向客户端推送一条连接成功的状态信息
  • 客户端通过状态频道接收到连接成功标志信息,向服务器端发起绑定请求,该请求至少需要携带客户端id和连接id
  • 服务器端接收到绑定请求,把两个id以及相应信息存入到客户端连接信息列表中
  • 当服务器端需要推送消息时,在客户端连接信息列表中,根据客户端id查找连接id,然后根据连接id 推送消息
  • 客户端监听控制指令频道,随时接受消息并做出响应

注1:关于连接途中网络错误问题(或者客户端通过drop断开连接),客户端comet 的stop 会立即得到响应,服务器端则需要在轮询的间隔时间到后,服务器端drop会监听到并作出相关操作
注2:每次轮询过程都是死亡复活,服务器端同样可以监听到,如有必要可以作为心跳使用
注3:在连接中,如果客户的控制权限丧失或其他情况,同样可以通过状态频道通知客户端,客户端收到后做出断开连接等操作(控制设定为必须单人操作)

三、页面的动态加载

  • 根据客户端保存的参数,依据类型为每个页面加载不同的js文件,然后该js文件执行动态页面生成(或者在一个js文件使用数组保存页面数据,如此不需要多次请求js文件,但也有一点点麻烦)
  • 为了方便以及更好的效果测试,在jsp的原始文件中添加模板,模板初设为隐藏,jQuery 使用克隆的方法,克隆组件,再使用不同的类型参数修改设置控件,最后显示控件

四、传输加密

暂时未定

你可能感兴趣的:(项目摘要)