我打开快捷方式的时候html登录界面带验证码无法刷新验证码 还说“...

参考资料:
sqlserver中将数据库中的表复制到另一个数据库
对于本系统主要也就是几个界面:
涉及到的关键技术有:验证码技术,这个前面的文章已经介绍过。
还有就是用户名、密码的验证。通过servlet技术实现的。
关键代码如下:
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");
response.sendRedirect("/VLCRtsp/resource/login.jsp");
代码结构:
不足之处:没有加注册功能,这个有时间再补上。
对于上面的logo是通过光影魔术手抠图实现的,用拾取器拾取相似的颜色,然后反选即可。
实时视频界面
其中,上面的logo跟前一个制作相同,只是尺寸不一样大。中间的视频区都是加进去的。不过需要调节它的位置。
对于实时视频这几个字是加了超链接的,返回的是一帧帧的数据流。
不足:没法保存数据流。
关键代码:
classid="clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921"
codebase="http://download.videolan.org/pub/videolan/vlc/0.8.6c/win32/axvlc.cab"
width="908"
height="497"
events="True"&
name="MRL"
name="Src"
name="ShowDisplay"
value="True"
name="AutoLoop"
value="False"
name="AutoPlay"
value="False"
name="Time"
value="True"/&
pluginspage="http://www.videolan.org"
type="application/x-vlc-plugin"
version="VideoLAN.VLCPulgin.2"
width="908"
height="470"
text="Waiting for video"
name="vlc"
type=button
id="btn_play"
value="播放"
onClick='doPlay();'
disabled="true"/&
type=button
id="btn_stop"
value="停止"
onClick='doStop();'
disable="true"/&
type=button
value="静音切换"
onClick='getVLC("vlc").audio.togglemute();'/&
type=button
value="减小音量"
onClick='updateVolume(-10)'/&
type=button
value="增加音量"
onClick='updateVoluem(+10)'/&
遇到的问题:在访问同一张页面时,总是无法刷新。或者说,我已经替换掉原有的资源,但界面就是不刷新。
尝试过清空缓存,关闭浏览器等工作,但就是不行。后来猜测应该是生成了临时的二进制.class代码文件。而这些文件没有及时清理,造成堆积错误。
步骤:project -à clean 即可.然后在重新部署,最后在启动。
录像回放界面
此界面的不足之处:
本来是想把以前的监控视频利用文件的形式存放在数据库中的,然后通过数据库读取资源。后来没实现。
远程智能控制界面
此界面和上一个界面操作一样,只是我们在更改链接时,需要根据每一个图片的id号然后到相应的.js文件中进行更改即可。
系统设置界面
实时信息界面
按照我的想法,此界面还需要获取c++里面的数据,我们通过udp传输数据。当然,还有一种方法就是,我可以先在rtsp服务端先把
实时的一些信息存储到数据库中,然后在web端进行读取数据库,从而获取实时的数据,这样也可以。
几个注意点:
在进行上面的文件替换时,我们要在 css以及js当中分别替换。其中css是利用到了此文件夹下面的一些图片资源。
Js 主要是对某一个id资源进行操作,所以,对于某个id号,必须定位。而且,对于jsp本身的文件里面,需要引用一些内容,也是需要修改的。
这样修改的前提是出现中文乱码的情况下,需要更改。
但我们也可以利用简单的设置来解决乱码问题。
在最后一行,填写默认的编码方式即可。
阅读(...) 评论()js实现发送短信验证码后的倒计时功能(无视页面刷新) - 开源中国社区
当前访客身份:游客 [
当前位置:
发布于 日 11时,
之前分享过只用js实现倒计时的功能,后来测试时发现,刷新或关闭网页后,倒计时就不能用了.网上也没找到合适的解决方案,所以自己就写了个,这次的算是优化版吧,能满足刷新或重新打开网页后,倒计时依然能用特别说明:&&&&&cookie最初创建的有效时间是60秒.也就是说,你如果在倒计时为20的时候,关闭网页.20秒之后再打开,是不会有倒计时显示的;但是,如果倒计时为20时,关闭页面,如果在20秒内重新打开页面,是有倒计时显示的.
代码片段(3)
1.&[代码]这是页面上的发送验证码按钮&&&&
&input id="second" type="button"
value="免费获取验证码"
2.&[代码]js对cookie的操作&&&&
//发送验证码时添加cookie
function addCookie(name,value,expiresHours){
var cookieString=name+"="+escape(value);
//判断是否设置过期时间,0代表关闭浏览器时失效
if(expiresHours&0){
var date=new Date();
date.setTime(date.getTime()+expiresHours*1000);
cookieString=cookieString+";expires=" + date.toUTCString();
document.cookie=cookieS
//修改cookie的值
function editCookie(name,value,expiresHours){
var cookieString=name+"="+escape(value);
if(expiresHours&0){
var date=new Date();
date.setTime(date.getTime()+expiresHours*1000); //单位是毫秒
cookieString=cookieString+";expires=" + date.toGMTString();
document.cookie=cookieS
//根据名字获取cookie的值
function getCookieValue(name){
var strCookie=document.
var arrCookie=strCookie.split("; ");
for(var i=0;i&arrCookie.i++){
var arr=arrCookie[i].split("=");
if(arr[0]==name){
return unescape(arr[1]);
return "";
3.&[代码]主要逻辑代码&&&&
$(function(){
$("#second").click(function (){
sendCode($("#second"));
v = getCookieValue("secondsremained");//获取cookie值
settime($("#second"));//开始倒计时
//发送验证码
function sendCode(obj){
var phonenum = $("#phonenum").val();
var result = isPhoneNum();
if(result){
doPostBack('${base}/login/getCode.htm',backFunc1,{"phonenum":phonenum});
addCookie("secondsremained",60,60);//添加cookie记录,有效时间60s
settime(obj);//开始倒计时
//将手机利用ajax提交到后台的发短信接口
function doPostBack(url,backFunc,queryParam) {
async : false,
cache : false,
type : 'POST',
url : url,// 请求的action路径
data:queryParam,
error : function() {// 请求失败处理函数
success : backFunc
function backFunc1(data){
var d = $.parseJSON(data);
if(!d.success){
alert(d.msg);
}else{//返回验证码
alert("模拟验证码:"+d.msg);
$("#code").val(d.msg);
//开始倒计时
function settime(obj) {
countdown=getCookieValue("secondsremained");
if (countdown == 0) {
obj.removeAttr("disabled");
obj.val("免费获取验证码");
obj.attr("disabled", true);
obj.val("重新发送(" + countdown + ")");
countdown--;
editCookie("secondsremained",countdown,countdown+1);
setTimeout(function() { settime(obj) },1000) //每1000毫秒执行一次
//校验手机号是否合法
function isPhoneNum(){
var phonenum = $("#phonenum").val();
var myreg = /^(((13[0-9]{1})|(15[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
if(!myreg.test(phonenum)){
alert('请输入有效的手机号码!');
开源中国-程序员在线工具:
相关的代码(2861)
1回/2571阅
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
[JavaScript]
1回/1689阅
[JavaScript]
[JavaScript]
[JavaScript]
有点小bug.
主要逻辑代码,5行 改成 ,&&v = getCookieValue("secondsremained")?
getCookieValue("secondsremained"):0
;//获取cookie值
去掉下面的。
& & & & & & &return "";&
& & & & & & &
& & & & &}&
2楼:ma_firsttime 发表于
引用来自“kkkkkellie”的评论有点小bug.
主要逻辑代码,5行 改成 ,&&v = getCookieValue("secondsremained")?
getCookieValue("secondsremained"):0
;//获取cookie值
去掉下面的。
& & & & & & &return "";&
& & & & & & &
& & & & &}&
没错,验证通过
3楼:涓滴之水_22676 发表于
引用来自“kkkkkellie”的评论有点小bug.
主要逻辑代码,5行 改成 ,&&v = getCookieValue("secondsremained")?
getCookieValue("secondsremained"):0
;//获取cookie值
去掉下面的。
& & & & & & &return "";&
& & & & & & &
& & & & &}&
引用来自“ma_firsttime”的评论没错,验证通过赞,//根据名字获取cookie的值 else{
return "";
}确实有问题
4楼:狂风8888 发表于
大神,赞!
5楼:litong5840768 发表于
那个倒计时在刷新的时候为啥会刷一次快速少一秒啊
开源从代码分享开始
果然没注册的其它代码

参考资料

 

随机推荐