티스토리 뷰

2월 29, 2024 9:55:14 오전 org.apache.catalina.core.StandardWrapperValve invokeSEVERE: 경로 [/waguwagu]의 컨텍스트 내의 서블릿 [appServlet]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is java.lang.NullPointerException: Cannot invoke "com.springmvc.domain.Member.getMemberId()" because "member" is null]을(를) 발생시켰습니다.java.lang.NullPointerException: Cannot invoke "com.springmvc.domain.Member.getMemberId()" because "member" is null

 

로그인시 세션에 member객체를 모두 담고 다니는 것은 보안에 문제가 있을것으로 예상되어 아이디만 담도록 코드를 변경해주었다.

그랬더니 위와 같은 오류가 발생했다.

 

member객체가 null이라고 했는데

이것의 이유는 폼을 제공하는 GetMapping에 memberId를 불러 오는 코드를 작성해야하는데 PostMapping에 작성되어서 오류가 발생했다.

 

 

이전 코드

@PostMapping("/add")
	public String submitAddNewGame(@ModelAttribute("addGame")Game game, Model model ,HttpServletRequest request,HttpSession session) {
		System.out.println("POSTMAPPING 도착");
		
		// 세션에서 memberId 가져오기
	    String memberId = (String) session.getAttribute("memberId");
	    System.out.println("memberId=" + memberId);
	    model.addAttribute("memberId", memberId);

 

 

 

변경 코드

 

	@GetMapping("/add")
	public String requestAddGameForm(@ModelAttribute("addGame")Game game, Model model,HttpSession session) 
	{
	    
	    // 세션에서 memberId 가져오기
	    String memberId = (String) session.getAttribute("memberId");
	    System.out.println("memberId=" + memberId);
	    	
		return "/Game/addGame";
	}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday