JSP 기초 정리 (2) / Summary of JSP basic concepts
- -
MVC 패턴
Model : 어플리케이션의 정보, 데이터
View : 사용자가 보게 될 결과 화면 출력
Controller : 사용자의 입력처리와 흐름 제어 담당
넘겨줬을 경우 한글이 안뜨는 경우
URLEncoder 임폴트
URLEncoder.encode( ~, "euc-kr" )
받아올때는 디코드
URLDecoder.decode ( request.getParameter ("" ), "euc-kr" );
오류 잘나는 구간 ( feat. 쌤 )
1. 404Error : 서버에서 해당페이지를 찾을 수 없다는 오류
= 1_1. 보내려고 하는 서버페이지나 HTML페이지의 이름이 잘못됐을 때
1_2. 만든 HTML/JSP페이지가 webapp폴더 아래에 있는지 확인
1_3. 만든 HTML/JSP페이지가 같은 프로젝트 안에 있는지 확인
2. 500Error : Servlet을 먼저 실행하고
HTML / JSP를 실행하지 않았을 때
= 먼저 HTML/JSP(사용자에게 값을 입력받는 페이지) 실행
3. 페이지가 실행이 안되고 Tomcat경고창 나왔을 때
= 3_1. Tomcat이 설치된 경로를 변경했을 때
3_2. URL Mapping 값이 중복해서 지정이 됐을 때**
3_3. Tomcat이 실행되는데 또 실행을 시켰을 때(Port번호변경)
4. Save Problems 오류 : 입력한 한글에 오류
= Select Char..3번째 버튼을 클릭하고 잘못된 한글을 찾아서 수정
5. JDBC연동할 때 많이나는 오류
= java.sql.SQLSyntaxErrorException(SQL문 확인할 것)
6. HTML / JSP에서 서버페이지를 호출 시
(submit버튼을 클릭했을 때) 무한로딩일 때
/ sql Developer에서 검색한 값과
Servlet에서 검색한 값이 다를 때
= sql Command line에서 로그인 후 commit 명령어 입력
7. HTML에서 수정한 태그가 실행하면 반영이 안될 때
= HTML파일을 새로고침 -> Server를 재시작 -> 컴퓨터 재부팅
setCookie 쿠키 객체 생성
/ 만료일 지정
/ 전송까지
1. 쿠키 객체 생성
( 쿠키는 키와 값으로 이루어져 있음 -- 모드 String(스트링) 타입 )
<> 세션은 키는 String이지만, 값은 Object라는 점
그래서 쓸때 항상 형변환 필요한듯
new Cookie ( "키", "값" );
Cookie c = new Cookie ( "키", "값");
2. 만료일자 ( 유효기간 ) 설정
/ 초단위로 설정 가능 3600
= 1시간 / 24시간 하루 / 365일 일년
c.setMaxAge( 1년인 경우 3600*24*365 )
3. 클라이언트에 쿠기 전송 (응답 - response 이용)
response.addCookie(c);
4. 쿠기 생성 후 바로 클라이언트에 전송
response.addCookie( new Cookie ( "키", "값 ));
s 복수형 > 쿠기'들'을 모두 받아올 수 있음
리턴타입
getCookies 쿠키 객체 얻어오기
request.getCookies();
Cookie[] cookies = request.getCookies();
for ( Cookie c:cookies ) {
out.print ( c.getName() + ":" + c.getValue() + "<br>" );
}
아래와 같이 모든 쿠키의 키와 값을 가져옴
F12
로그인 관련 쿠키를 삭제하면
로그아웃을 따로 하지 않아도
로그인정보가 삭제되기때문에 로그아웃됨
쿠키 삭제하기
사실 쿠키 삭제하기 기능이라기 보다는
유효기간을 0초로 설정함으로써
삭제하는 기능처럼 쓸 수 있음
삭제하는 기능은 따로 없고
유효기간을 0으로 설정하므로써
쿠키를 삭제할 수 있음
setSession 세션 세팅하기
앞서 말했든
키는 String형이지만
값은 쿠키와 달리 Object형이다.
session.setAttribute ( "키", "값" or 값 );
값의 형태는 어떻게 사용할지에 따라서
형태가 달라질 수 있음
나중에 get으로 가져올때에 따라서
인트형인지 스트링형인지 달라짐
getSession 세션 가져오기
첫번째 방법
: 한번에 한개씩 가져오는 방법
정수형으로 명시적 형변환시
(int)가 아니라
(integer)로 해주어야 함.
session.getAttribute("키");
cf.
홈택스같은 사이트에서
로그인했을때 30분지나면 로그아웃되는 경우
>> 쿠키 만료일 관련됨
getSessions 세션 가져오기
두번째 방법
: 한번에 모든 세션 가져오는 방법
session.getAttributeNames(); 사용
리턴타입은 enumertation<String>
// Enumeration
: 객체들이 집합에서
각각의 객체들을
한 순간에 하나씩 처리할 수 있는
메소드를 제공
Enumeration names = session.getAttributeNames();
Enumeration에 있는 기능에서
hasMoreElements() 사용
리턴타입은 불리언
names.hasMoreElements()
//hasMoreElements
: 요소가 있으면 True, 없으면 False
// resultset의 rs.next()와 비슷
.toString();
다운캐스팅(강제형변환)이 아니라
무조건 문자열로 바꿔줌
정수는 스트링타입으로 캐스팅될 수 없다
예를 들어서 닉네임이 dsmfow123124 이런식으로 문자열과 숫자가 섞이는 경우를 뜻함
이런 오류를 피하기 위해서 무조건 문자열로 바꿔줌 .toString();
이렇게 되면 dsmfow123124에서의 숫자들도
아에 문자열로 인식이 되는 듯?..
toString() => Object를 String으로 변환
업캐스팅
부모타입으로 변할때는 자동 형변환
object ~ = string, int ~
다운캐스팅
강제형변환
string, int ~ = object ~
세션 삭제 2가지 방법이 있다.
1. 하나하나씩
2. 전체
세션 하나씩 삭제하는 방법
session.removeAttribue("키");
session.removeAttribute();
세션 모두 삭제하는 방법
session.invalidate();
매개변수 아무것도 안들어감!
'[개발] 프로그램 지식' 카테고리의 다른 글
HTML 기초 지식 정리 / HTML basic knowledge summary (0) | 2023.02.11 |
---|---|
CSS 기초 지식 정리 / A summary of CSS basic concepts (0) | 2023.02.11 |
JSP 기초 정리 (1) / Summary of JSP basic concepts (0) | 2023.02.11 |
[js] input 키보드 입력 막기 / block keyboard input (0) | 2023.02.11 |
SQL 기초 이론 정리 / SQL basic theory summary (0) | 2023.02.11 |
소중한 공감 감사합니다