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"); };
原文地址:https://www.cnblogs.com/qwqwQAQ/p/8534663.html