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");
};
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义