做印量调查的网站,网站备案授权书模板,网页游戏开服表弹窗,访问网页的方法目录 session介绍session使用场景session具体使用需要注意的是 session介绍
session 可以被看作是一种缓冲区#xff0c;用于在多个请求之间存储和传递用户数据。在 Web 应用程序中#xff0c;session 通常用于存储用户登录信息、购物车数据、用户偏好设置等。当用户在应用程… 目录 session介绍session使用场景session具体使用需要注意的是 session介绍
session 可以被看作是一种缓冲区用于在多个请求之间存储和传递用户数据。在 Web 应用程序中session 通常用于存储用户登录信息、购物车数据、用户偏好设置等。当用户在应用程序中进行多个请求时session 可以确保数据在这些请求之间保持一致性从而提高应用程序的效率和用户体验。
session使用场景
验证码生成器通过将生成的验证码以特定名称作为键值对存储到session中。在生成验证码后将验证码放入到request.get.session.set.attribute中其中键的名称是传入的method参数而值是验证码generator。
session具体使用
package hanshuhuan.test.controller.common;import hanshuhuan.test.util.CpachaUtil;import java.io.IOException;import javax.imageio.ImageIO;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;/*** 系统验证码公用控制器* author shuhu**/
Controller
RequestMapping(/cpacha)
public class CpachaController {private org.slf4j.Logger logLoggerFactory.getLogger(CpachaController.class);/*** 通用验证码生成器* param vcodeLength* param fontSize* param width* param height* param method* param request* param response*/RequestMapping(value/generate_cpacha,methodRequestMethod.GET)public void generateCpacha(RequestParam(namevl,defaultValue4)Integer vcodeLength,//验证码长度RequestParam(namefs,defaultValue21)Integer fontSize,//验证码字体大小RequestParam(namew,defaultValue98)Integer width,//验证码图片宽度RequestParam(nameh,defaultValue33)Integer height,//验证码图片高度RequestParam(namemethod,defaultValueadmin_login)String method,//以此名称为键存储到session中HttpServletRequest request,HttpServletResponse response){CpachaUtil cpachaUtilnew CpachaUtil(vcodeLength,fontSize,width,height); String generatorVCode cpachaUtil.generatorVCode();//将生成的验证码放入session后面验证验证码是否正确时使用request.getSession().setAttribute(method, generatorVCode);log.info(成功生成验证码,methodmethod,valuegeneratorVCode);try {ImageIO.write(cpachaUtil.generatorRotateVCodeImage(generatorVCode, true), gif, response.getOutputStream());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}需要注意的是
request.getSession().setAttribute方法设置的属性值仅在当前会话中有效。当客户端发起新的请求时之前设置的属性值将不再可用。如果需要在多个请求之间保持属性值可以考虑使用其他方法例如将属性值存储在数据库或服务器端内存中。