SpringMVC 将值存入session中无法生效
本帖最后由 HK仅輝 于 2021-6-2 17:47 编辑package controller;
import exception.MyException;
import org.apache.commons.io.FileUtils;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpSession;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@Controller
@SessionAttributes("username")
public class TestController{
@RequestMapping("login.do")
@ResponseBody
public String login(@RequestBody Map map,Model model){
try{
if (map.get("user").equals("张三") && map.get("pass").equals("123")){
map.put("username",map.get("user"));
return "1";
}
return "0";
}catch (Exception e){
e.printStackTrace();
throw new MyException("错误");
}
}
@RequestMapping("upload.do")
public void upload(HttpSession session) throws IOException {
System.out.println(session.getAttribute("username"));
}
}
login.do 以AJAX方式发出的。返回的是一个判断码
在upload.do的请求中输出的 nullsession中没有这个数据,我存储的方式用错了吗,Model和modelAndView 都试了
求解 本帖最后由 HK仅輝 于 2021-6-2 17:46 编辑
https://www.cnblogs.com/phdeblog/p/10560812.html这个贴子,把问题解决了,写的很详细,就是没给出具体原因,感谢各位的解答。希望大佬详细说明一下原因 login 函数登录的时候,没有操作session 。 upload函数 怎么会有值呢 ,这java web 基础 建议多看点项目,动手写 你不setAttribute何来getAttribute 要把username放到model中吧 Jeanson道士哥哥 发表于 2021-6-2 16:09
login 函数登录的时候,没有操作session 。 upload函数 怎么会有值呢 ,这java web 基础 建议多看点项目, ...
虽然我是新手,但你也要了解一下注解的应用。可以说我用错了,没有操作什么鬼 wangqh761117 发表于 2021-6-2 16:19
要把username放到model中吧
我试过了,upload测试还是没有,我也不知道那里错了 @RequestMapping("login.do")
@ResponseBody
public String login(@RequestBody Map map,Model model, HttpSession session){
try{
if (map.get("user").equals("张三") && map.get("pass").equals("123")){
session.setAttribute("username",map.get("user"));
return "1";
}
return "0";
}catch (Exception e){
e.printStackTrace();
throw new MyException("错误");
}
}
https://www.cnblogs.com/lemon-coke-pudding/p/12756243.html
这篇文章说的挺清楚的 本帖最后由 我心她有丶 于 2021-6-2 18:58 编辑
model.addAttribute 试试,我直接model.addAttribute 进去能获取
页:
[1]
2