개인 자료란 (JE)

  서버 커뮤니티

Profile NamuTree0345 대표칭호 없음
Profile

질문하기 Java

JSP Session 버그...

2020.05.01 조회 수 104 추천 수 0
이해도 웹 

아래의 코드는 그냥 세션 값하고 GET 파라미터하고 맞는지 확인하는 코드입니다.

String writerName = request.getParameter("WriterName");

if(writerName != (String)session.getAttribute("nickname")) { // 대충 안맞다고 알려주는 코드 } else { // 맞을때 코드 }

아무리 writerName을 맞춰도 위의 코드에서 계속 안맞다고 알려주는 코드로 갑니다

nickname이랑 같은데도 안됩니다.

근데 contains로 했는데 되더라고요...

그런데 저 코드는 글쓴이를 구해와서 글을 쓰는 글쓴이가 제대로 나타나야 해야되는 중요한 기능을 구현하는코드라서 contains로 할수는 없습니다...

만약 contains로 한다면 writerName을 ADMIN으로 해놓고, 본인의 닉네임을 ADMINasdf로 해놓으면 ADMIN으로 올려지니까요...

띄어쓰기를 빼는 코드를 회원가입 부분에 넣어도 똑같습니다.

뭐가 문제인걸까요?

4개의 댓글

NamuTree0345
2020.05.01

으아 첫번째 글은 버그글됬네요

윈초
2020.05.01
@NamuTree0345

??? 뭐지 뭔 버그얔

네모
2020.05.02

String writerName = request.getParameter("WriterName");

String nickName = (String) session.getAttribute("nickname");

if(writerName.equals(nickName))

{

    // CODE...

}


이렇게 처리하면 되긴 합니다만....


로그인 사용자(세션이 존재하는 사용자) 의 닉네임과 글쓴이(writerName) 이 다른 경우가 존재하나요?

로그인 되어 있는 경우 굳이 글쓰기 페이지에서 WriterName 을 받아와서, 그걸 또 세션에 저장된 닉네임이랑 비교할 이유가 있나요? 그러지말고 그냥 WriterName 은 공란으로 넘기고, 세션에 nickname 이 있을 경우 writerName 변수를 해당 세션값으로 설정하는 방법이면 간단할텐데요.

NamuTree0345
2020.05.02
@네모

다른 경우가 존재하지 않기는 합니다.

하지만 이 방법이 편한것같네요.

어쨌든 알려주셔서 감사합니다!