spring boot session设置和获取

1.controller

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@RequestMapping(value="lo")
	public synchronized String lo(HttpServletResponse response,HttpServletRequest request) throws UnsupportedEncodingException{
		request.getSession().setAttribute("name", "测试");
		return "index";
	}
	
	@RequestMapping(value="getSession",produces="text/plain;charset=UTF-8")//使用produces处理的字符串
	@ResponseBody
	public synchronized String getSession(HttpServletResponse response,HttpServletRequest request,ModelMap modelMap) throws UnsupportedEncodingException{
		String query = "";
		if(request.getSession().getAttribute("name")==null){
			
		}else{
			query = request.getSession().getAttribute("name").toString();
		}
		//query = URLEncoder.encode(query,"gbk");
		System.out.println(query);
		return query;
	}

2.html

function getSession(){
	$.ajax({
		url:"/getSession",
		type:"post",
		success: function(result){
			alert(result);
		}
	})
}

3.工具类方法判断字符串编码类型

public String getEncoding(String str) {       
		String encode = "GB2312";       
		try {           
			if (str.equals(new String(str.getBytes(encode), encode))) {               
				String s = encode;               
				return s;           
				}       
			} catch (Exception exception) {
				
			}       
		encode = "ISO-8859-1";       
		try {           
			if (str.equals(new String(str.getBytes(encode), encode))) {               
				String s1 = encode;               
				return s1;           
				}       
			} catch (Exception exception1) {
					
				}       
		encode = "UTF-8";       
		try {           
			if (str.equals(new String(str.getBytes(encode), encode))) {               
				String s2 = encode;               
				return s2;           
				}       
			} catch (Exception exception2) {
				
			}       
		encode = "GBK";       
		try {           
			if (str.equals(new String(str.getBytes(encode), encode))) {
			String s3 = encode;               
			return s3;           
			}       
		} catch (Exception exception3) {       
			
		}       
		return "";  
	}

另外session的有效时间设置(spring boot2.0)
在application.properties配置文件中
#session.timeout
server.servlet.session.timeout=1800s
加上以上配置,设定session有效时长是30分钟

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值