package com.yaaooo.sessionLearn;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
@Controller
@RequestMapping("/session")
public class SessionLearn01 {
private HttpSession session;
private static final String USER_INFO = "user_info";
//一般在登录的时候进行 保存session
@RequestMapping("setSession")
@ResponseBody
public String setSession(HttpServletRequest request){
session = request.getSession();
User user = new User();
user.setName("yao");
user.setAddr("jilin");
session.setAttribute(USER_INFO,user);
return "success";
}
//可以在登录后 从session取出数据对用户进行操作,不需要填写特殊内容,默认为当前session用户
//比如 可以直接取session数据中的名字, 查询数据库进行修改
@RequestMapping("getSession")
@ResponseBody
public String getSession(HttpServletRequest request){
session = request.getSession();
User user = (User) session.getAttribute(USER_INFO);
return user.toString();
}
//http://localhost:8080/session/getSession
//http://localhost:8080/session/setSession
}
package com.yaaooo.sessionLearn;
public class User {
private String name;
private String addr;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", addr='" + addr + '\'' +
'}';
}
}