Java网站开发的一些问题以及解决(cookie消失,上传头像,js等)
1.首先是cookie的问题,很多人都是遇到了将数据存储到cookie中并且add到response之中,但是还有返回其他页面或者刷新页面cookie消失的情况,除了设置cookie的存活时间外,
还要讲你需要保存的cookie(一般都是用户名和密码,而一般登录页面都是在开始),所以最好将cookie的保存路径设置到项目根路径,这样下级路径才能访问到。具体代码如下
Cookie cookie=new Cookie("loginusername",username);
Cookie cookie1=new Cookie("loginpassword",password);
cookie.setMaxAge(24*60*60*30);//默认记住一个月
cookie.setPath("/CanteenEvaluteSystems");
cookie1.setPath("/CanteenEvaluteSystems");
cookie1.setMaxAge(24*60*60*30);
resp.addCookie(cookie);
resp.addCookie(cookie1);
//根据cookie的name获取对应的值的方法
var cookieUtil={
get:function(name){
var cookieName=encodeURIComponent(name)+"=",
cookieStart=document.cookie.indexOf(cookieName),
cookieValue=null;
if(cookieStart>-1){
var cookieEnd=document.cookie.indexOf(";",cookieStart);
if(cookieEnd==-1){
cookieEnd=document.cookie.length;
}
cookieValue=decodeURIComponent(document.cookie.substring(cookieStart+cookieName.length,cookieEnd));
}
return cookieValue;
},
};
2.上传网页头像的三种方法,
1.base64编码传到后台,解码,通过流存储到一个文件夹,将图片路径保存到数据库,适合小型项目,图片量较少的开发,具体操作之前的博客已有
2.base64编码传到后台,去掉base开头固定格式,之后解码将byte数组存储到数据库,之后读取数据库的二进制,通过response.outputstream.write将二进制显示到页面,自然而然变成图片
3.base64编码传到后台,去掉base开头固定格式,之后解码将byte数组存储到数据库,再将base编码完好无损传到前台,前台显示为<img src="你所传来的base64编码【固有开头格式不能落下】"/>即为你的图片
需要代码的话评论这里就不发了,有点乱
3.判断鼠标是否在某一个控件上的js
var div = document.getElementById("infodiv");
var e = event || window.event;
var scrollX = document.documentElement.scrollLeft || document.body.scrollLeft;
var scrollY = document.documentElement.scrollTop || document.body.scrollTop;
var x = e.pageX || e.clientX + scrollX;
var y = e.pageY || e.clientY + scrollY;
var divx1 = div.offsetLeft;
var divy1 = div.offsetTop;
var divx2 = div.offsetLeft + div.offsetWidth;
var divy2 = div.offsetTop + div.offsetHeight;
//如果不在的话
if( x < divx1 || x > divx2 || y < divy1 -10|| y > divy2){
$("#infodiv").css("display","none");
};