项目截图
web远程登录系统文档简要说明
web远程登录系统总体上分为两部分,web工程与web远程登录系统,本文档将会从系统的功能架构和技术架构对本系统进行说明,web工程主要是针对FPGA实验仿真平台的配套设置,用户通过web工程了解FPGA实验仿真平台的基本信息,主要的功能模块有信息首页、公告新闻、文件下载、实验平台等。web远程登录系统则是基于guacamole-一款基于HTML5的web远程登录的开源系统
web工程
web部分主要从功能和架构技术上进行说明
web导航栏分为主页、信息、下载、联系、更多,对应的主要功能模块为新闻公告、实验平台、上传下载、评论留言等基本信息管理功能。信息模块具体包含的信息内容为新闻、公告、通知三种,文件下载分为软件、文档、数据下载;实验平台则实现了后台上传word文档,前台实时查看实验内容的效果,同样实现了四个不同的实验室,在不同的实验室有着不同的实验室文档,点击即可在看查看word实验内容,其余的基本平台信息都是基于CMS信息管理系统进行定制。
在技术架构上采用了传统的javaweb技术栈
spring mvc +spring+ hibernate+ehcache
数据库采用mysql数据库
web远程登录系统
guacamole简介
guacamole是基于vnc技术的web远程登录框架,vnc技术是远程登录协议的一种,可以将服务端的原始图像传送到客户端。该协议支持Javaweb对其扩写。于是国外的guacamole就是基于这个做的开源框架。该框架分为三部分,vnc服务端、guacd、guacamole客户端;
vnc服务端:是基于vnc协议产生画面内容的。
guacad:在vnc服务端和guacamole之间充当中介,guacamole实现了自身的对vnc的包装协议
guacamole客户端:Javaweb实现,页面端则是利用HTML5和JavaScript进行鼠标和键盘的捕捉,动作传到guacamole的后台进行相应的转换,传送到被控制的vnc服务端。
guacamole环境搭建
在virtual box的unbuntu 14.0虚拟机下,初始化Linux的基本设置,如vim。根据如下几步进行安装
Ubuntu上安装VNC server(window同样也支持VNC协议)
安装完后要给当前用户设置密码,这个密码就是连接VNC时要用到的: 接着输入:
注意vncserver默认的端口是5900,如果采用VNC客户端的话,直接使用display-number即可,涉及到具体端口的,则使用端口display-number+5900,从0开始。
Guacamole-Web的部署
其就是安装好java,tomcat之后,发布guacamole的war包。同时在/etc/guacamole中可以看到两个配置文件:guacamole.properties和user-mapping.xml
guacamole.properties的配置如下:
user-mapping.xml的配置如下:
最后直接在浏览器中打开http://localhost:8080/guacamole/
远程系统web部分的开发
采用spring mvc + spring + hibernate进行搭建,采用mysql数据库,ehcache作为缓存,json作为web前端与后端的传输数据格式,前台统一采用JavaScript进行数据解析。
开发中情况记录
部署项目发生bean没有被实例化,最后查看日志是由于没有正确配置数据库连接配置
Another unnamed CacheManager already exists in the same VM
Shiro的echcache与自身配置的echcache发生冲突,除去shiro框架。由于这个框架的配置基本是按照上文的义工系统来的,所以遗留的shiro的配置,可以移去。
spring mvc json数据传输的基本写法,在response里写入
spring mvc 文件上传下载的基本写法。commons-fileupload
参考资料
1. Ubuntu上搭建Guacamole————作者:Lnmpy - elvis’s blog
2.