远程控制客户端界面介绍
参考资料:
http://jingyan.baidu.com/article/d5c4b52bc5c102da570dc547.html sqlserver中将数据库中的表复制到另一个数据库
对于本系统主要也就是几个界面:
- 登录界面
涉及到的关键技术有:验证码技术,这个前面的文章已经介绍过。
还有就是用户名、密码的验证。通过servlet技术实现的。
关键代码如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
HttpSession session = request.getSession();
String rand = (String)session.getAttribute("rand");
String input = request.getParameter("rand");
String loginName = request.getParameter("userName");
String loginPsw = request.getParameter("userPsw");
UserInfo user = new UserInfo();
user.setUserLoginName(loginName);
user.setUserPasword(loginPsw);
//创建一个业务逻辑层的UserServiceDao对象
UserServiceDao userDao = new UserServiceDaoImpl();
UserInfo rtn = userDao.userLogin(user);
if(rtn != null && rand.equals(input))
{
//在网页跳转前,将用户的消息记录下来
session.setAttribute("LoginUser",rtn);
response.sendRedirect("/VLCRtsp/resource/videoshow.jsp");
}
else
{
response.sendRedirect("/VLCRtsp/resource/login.jsp");
}
}
代码结构:
不足之处:没有加注册功能,这个有时间再补上。
对于上面的logo是通过光影魔术手抠图实现的,用拾取器拾取相似的颜色,然后反选即可。
- 实时视频界面
其中,上面的logo跟前一个制作相同,只是尺寸不一样大。中间的视频区都是加进去的。不过需要调节它的位置。
对于实时视频这几个字是加了超链接的,返回的是一帧帧的数据流。
不足:没法保存数据流。
关键代码:
<OBJECT classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921" id="vlc"
codebase="http://download.videolan.org/pub/videolan/vlc/0.8.6c/win32/axvlc.cab"
width="908" height="497" id="vlc" events="True">
<param name="MRL" value="" />
<param name="Src" value="" />
<param name="ShowDisplay" value="True" />
<param name="AutoLoop" value="False" />
<param name="AutoPlay" value="False" />
<param name="Time" value="True"/>
<embed pluginspage="http://www.videolan.org"
type="application/x-vlc-plugin"
version="VideoLAN.VLCPulgin.2"
width="908"
height="470"
text="Waiting for video"
name="vlc"
>
</embed>
</object>
<div>
<input type=button id="btn_play" value="播放" onClick='doPlay();' disabled="true"/>
<input type=button id="btn_stop" value="停止" onClick='doStop();' disable="true"/>
<input type=button value="静音切换" onClick='getVLC("vlc").audio.togglemute();'/>
<input type=button value="减小音量" onClick='updateVolume(-10)'/>
<input type=button value="增加音量" onClick='updateVoluem(+10)'/>
</div>
遇到的问题:在访问同一张页面时,总是无法刷新。或者说,我已经替换掉原有的资源,但界面就是不刷新。
尝试过清空缓存,关闭浏览器等工作,但就是不行。后来猜测应该是生成了临时的二进制.class代码文件。而这些文件没有及时清理,造成堆积错误。
步骤:project -à clean 即可.然后在重新部署,最后在启动。
- 录像回放界面
此界面的不足之处:
本来是想把以前的监控视频利用文件的形式存放在数据库中的,然后通过数据库读取资源。后来没实现。
- 远程智能控制界面
此界面和上一个界面操作一样,只是我们在更改链接时,需要根据每一个图片的id号然后到相应的.js文件中进行更改即可。
- 系统设置界面
- 实时信息界面
按照我的想法,此界面还需要获取c++里面的数据,我们通过udp传输数据。当然,还有一种方法就是,我可以先在rtsp服务端先把
实时的一些信息存储到数据库中,然后在web端进行读取数据库,从而获取实时的数据,这样也可以。
几个注意点:
在进行上面的文件替换时,我们要在 css以及js当中分别替换。其中css是利用到了此文件夹下面的一些图片资源。
Js 主要是对某一个id资源进行操作,所以,对于某个id号,必须定位。而且,对于jsp本身的文件里面,需要引用一些内容,也是需要修改的。
这样修改的前提是出现中文乱码的情况下,需要更改。
但我们也可以利用简单的设置来解决乱码问题。
在最后一行,填写默认的编码方式即可。