잡기) 500 에러 NullPointerException

청룡·2022년 1월 21일
0

Spring 잡기

목록 보기
5/7

	@RequestMapping("readContentPage")
	public String readContentPage(int board_no ,Model model , **HttpSession session**) {
		
		boardService.increaseReadCount(board_no);
		
		HashMap<String, Object> map = boardService.getBoard(board_no , true);
		model.addAttribute("data" , map);
		
		int totalLikeCount = boardService.getTotalLikeCount(board_no);
		model.addAttribute("totalCount",totalLikeCount);
		
		
		if(**session** != null) {
			//로그인을 했을때...
			MemberVo sessionUser = (MemberVo)session.getAttribute("sessionUser");
			int memberNo = sessionUser.getMember_no();

로그인 하지 않았을 때, 게시글을 보면 나타나는 에러
178줄을 봤을 때, 비로그인하면 if문이 실행이 되지 말아야하는데 실행이 된걸 보면,
비로그인이여도 HttpSession session parameter가 null 값이 아니라는 것이다.

그래서 session이 아닌 MemberVo 객체를 먼저 지정해 sessionUser를 넣으니 해결 되었다.
session에 "sessionUser"라는 키로 불러오는 값이 없으면 MemberVo는 null을 예상했다.

고치니 정상실행 되었다.

결론은 비로그인도 HttpSession session을 parameter로 받으면 null이 아닌 상태로 메모리에 올라온다.

@RequestMapping("readContentPage")
	public String readContentPage(int board_no ,Model model , HttpSession session) {
		
		boardService.increaseReadCount(board_no);
		
		HashMap<String, Object> map = boardService.getBoard(board_no , true);
		model.addAttribute("data" , map);
		
		int totalLikeCount = boardService.getTotalLikeCount(board_no);
		model.addAttribute("totalCount",totalLikeCount);
		
		MemberVo sessionUser = (MemberVo)session.getAttribute("sessionUser");
		if(**sessionUser** != null) {
			//로그인을 했을때...

			int memberNo = sessionUser.getMember_no();
profile
새대갈🕊️에서 돌고래🐬

0개의 댓글