자바 코드좀 봐주세요

자바 코드좀 봐주세요

작성일 2024.04.23댓글 1건
    게시물 수정 , 삭제는 로그인 필요

HiddenFieldLogIn.jsp

HiddenFieldLoginChk.jsp



HiddenField방식으로 아이디와 비밀번호를 입력 받아 회원 가입하고 로그인하는 페이지를 구현 중입니다.로그인 창에 아이디 admin, 비밀번호 admin 입력하면 관리자 등급으로 로그인 되어야하고, 다른 아이디와 비밀번호로 로그인 시 회원 등급으로 로그인 되어야 하는데  두 개다 손님 등급으로 밖에 로그인이 안되네요. 무엇이 잘못 된 걸까요?





profile_image 익명 작성일 -

servlet scope에 대해 먼저 이해가 필요할 것 같습니다.

servlet scope에는 page, request, session, application 이렇게 4가지가 있습니다.

page는 말 그대로 그 페이지 내부에서만 사용 가능 하고,

request는 하나의 요청~응답 주기 범위 내에서 사용 가능하며,

session 웹브라우저 단위로 만료될 때까지 사용 가능,

application은 웹 어플리케이션이 종료될 때가지 사용 가능하다고 보시면 됩니다.

요청 관계를 따져보자면

1. HiddenFieldLogIn.jsp -> HiddenFieldCert.jsp

2. HiddenFieldCert.jsp -> HiddenFieldLoginChk.jsp

이렇게 되네요.

form으로 다른 jsp에 요청을 보냈을 때는 따로 설정하지 않았다면 request scope에 저장되어 보내지는데요.

1번에서 HiddenFieldLogIn.jsp에서 username와 password으로 보낸 파라미터는 HiddenFieldCert.jsp에 요청을 보내고 다시 클라이언트로 응답이 되돌아간 이후로 request의 역할이 끝나면서 사라집니다.

2번을 보시면 DB에서 검증 로직을 거쳐서 중간에 session에 userId로 넣어준 것 이외에 다른 것은 없네요.

최종적으로 HiddenFieldLoginChk.jsp에서 받은 요청의 request scope 안에는 아무것도 있지 않고, session에 저장한 userId만 있게 됩니다.

그래서 HiddenFieldLoginChk.jsp의 if문에 id도 null pw도 null 이기 때문에 손님으로 로그인되는 것입니다.

파라미터를 주고받는 방식에 대해 수정을 하셔야할 것 같습니다.

** 추가로 리다이렉트는 새로운 요청을 하는 동작이기 때문에 여기에서도 request scope는 공유할 수 없습니다. (session scope 이상의 스코프를 사용해야한다는 뜻)

자바 코드좀 봐주세요

... 괄호 안에 있는 내용이 웹페이지에 출력되기때문에 해당 코드를 출력하면 4*5 이기때문에 20이 반환될거에용 "무엇을" 공부하기보다는 "어떻게" 공부하느냐도...

자바 코드좀 봐주세요 고수님들

... 위에 코드는 책에있는 고드인데요 제가 c는 할줄아는데 자바는 잘 몰라서 코드 베낀다음에 주석 대충 달아봣거든요?? 아는한도내에서요...

자바 코드좀 봐주세요.

자바 질문 입니다. 일단 코드를 보여 드리겠습니다. public Iterator<Tuple> iterator() { // some code goes here Vector<Tuple> vT = new Vector<Tuple>(); for(int i = 0...

자바 코드해석좀 봐주세요

const arr1 = [1,2,3] const arr2 = [4,5,6] const mergedArr = [...arr1,...arr2] 자바 코드 해석좀 해주세요 자바 코드가 아닌데요.... 저건 수도코드네요. arr1과...

자바 코드 좀 봐주세요

자바200제 책에 있는 그대로 쳤거든요.그런데 에러. 중첩됐다고... 복사하시라고 코드 밑에 넣습니다. public class HelloComment { public boolean...

자바 코드 좀 봐주세요

결과가 아래와 같이 나오게 자바를 짜려고 하는데요.. 도저히 감을... 있는 코드입니다. [code]import java.util.*; public class Test { public static void main...

자바 코드좀 봐주세요 ㅠㅠ

ad.c에 빨간줄이 갑니다.. 맨 아래... 이상없는것같은데 ㅠㅠ package ex7; import java.util.Scanner; class Add extends AbsClass{ int...