session login/logout에서 발견한 것들

easyliving·2023년 1월 1일
0

FRONT_END (JAVA_SCRIPT)

목록 보기
21/55
post-thumbnail

if(!session.getAttribute("name")==null)

    The operator ! is undefined for the argument type(s) Object
    
    session.getAttribute("name") 경우 type이 Object라서 
    🔑!(not)이라는 연사자를 사용할 수 없다.
    

if(!(session.getAttribute("id").toString()=="easyliving"))

java.lang.NullPointerException: 
Cannot invoke "Object.toString()" 
because the return value of
"javax.servlet.http.HttpSession.getAttribute(String)" 
is null!!!!!!!!!!!!!!!!!!!!!!!!

처음 main page를 열면 login 전 page여서 당연히 id값이 session에 저장되어 있지 않다.
그렇다면, session.getAttribute("id")[object type] 자체가 null값일텐데,
null이라는 값은 .toString() method를 쓸 수 없다. 

따라서, NullPointerException: 이 발생하게 되는 것이다.

✔NullPointerException은 
실제 값이 아닌 null을 가지고 있는 객체/변수를 
호출할 때 발생하는 예외다.

✔많은 자료를 찾아보니 null type이 object인지 primitive type인지 
의견이 분분했다. 결론적으로 primitive type에 가까운듯 하다.

✔NPE는 정말 자주 발생하는 예외이다.

TYPEOFNULL관련 한글 출처
TYPEOFNULL관련 영문 출처
[자바] NullPointerException 처리 방법
null은 무엇인가?

이유를 모르는 error 이유를 찾아낸 error :
javascript는 html 내에서 써야한다.

								vs

업로드중..

                진짜 하나 하나 다 다르게  작동시켜 보았는데 
                첫 번째 경우를 제외하고는 alert은 띄우지만, 
                location.href를 작동시키지 않고
                event page로 넘어가버렸다.
                
              집착광공으로 <% %> 표시를 하나 하나 옮겨보고, 띄어쓰기를 
              하나 하나해보고, 나중에서야 깨달았다. 
              
             🔑type 설정때문에, location.href가 작동하지 않았다는걸...
             type="text/javascript"
             
             이유에 대해 곰곰이 생각해보니,
             아주 기본적인 사실을 잊은 것이다.
             
             💣javascipt는 java가 아니다.💣
			
            기본적으로 javascipt는 html내에서 써야하는데,
            위의 코드는 <!DOCTYPE html> 위에 쓰여졌기에,
            아직 html내로 들어가지 않은 것이다. 
            
            따라서 type을 javascript로 지정하면,
            당연히 작동하지 못할 수밖에 없다.

javascript는 java가 아니야..

결론

    꽤나 오늘의 나와 맞닿아있는 굿피플의 임현서 인턴 일기로 오늘의 복습을 끝내겠다.
    
    
    
    

머릿속으로 조립했던 논리들을 아무리 다시 뜯어봐도 의미 있는 결론으로 나아가지 못했다.

이렇게 간단한 것이었지만 답이 보이지 않는 그 순간들을 견디지 않고 포기했다면 
그 간단한 답이라도 얻을 수 있었을까?

누구에게 쉬운 해답이더라도 나는 그 시간을 견뎌야 하는 것이었다.

지금까지 내 앞에 도전들 크고 작은 어려움에 맞서 해답을 찾으려고 노력했던
시간들이 스쳐 지나갔다. 

어쩌면 내게는 그렇게 해서 찾았던 그때그때의 해결책, 해답, 결과보다는
무던히 포기하지 않고 견디고 견뎠던 그 시간들이 
변함없는 단 하나의 해답이었던 것이다.  
			
     		      


    
    
            
            




             
             
             
profile
가끔져요

0개의 댓글