JAVA#25 _ Servlet
✴︎ Servlet : 공부를 한 사람과 안한 사람으로 Backend가 결정됨!! 그니까 열심히 하자!!!!!
• .java로 끝남 → Class 파일의 한 종류
• Not POJO → 지금까지 써온게 POJO (Plain Old Java Object)
• Servlet은 HttpServlet을 상속받아서 구현하기 때문에 notPOJO
→ 상속을 받으려면 Jakarta 임포트가 필요하고, 자동으로 들어가있기 때문에 따로 설정은 필요 없음
• 서버를 구현할 때에 활용하는 클래스 파일로, 서블릿을 기억해야 서버가 돌아감
• 서버에서는 기본 생성자로만 객체를 생성 및 관리하지만 예외는 존재함
• 데이터 전송(요청) 방식
GET | POST |
URL 사용 | 헤더를 사용 |
보안 취약 | GET보단 나음(무적은 아님! 탈취 가능!) |
데이터 양 제한 | 데이터 양 제한 X |
URL로 웹툰 회차 변경이 가능한 것 처럼 | 로그인하면 naver.com으로 돌아가는 것 |
CRUD 중 R에 많이 사용 | CRUD 중 C U D를 구현할 때 많이 사용 |
• <form>을 사용할 때 설정을 따로 안하면 "GET"이 default값
대부분의 개발자들이 method = "POST"와 같이 대문자로 사용
• doGet이나 doPOST 같은 메서드를 사용하려면 "객체" 즉, 주체 주어가 필요함
→ annotation @Webservlet을 통해 할 수 있으며 New를 서버가 해줌
Webservlet이 객체를 생성하는 것!
• 사용자가 View에서 전달한 정보는 request 메서드를 통해 가져올 수 있음
문자열로 오기 때문에 Integer.parseInt와 같은 메서드를 사용해서 정수로 변환해야함
• Response는 응답정보로 결과를 출력해줌
• 웹 페이지 구동 중
→ 400대 에러를 만나면 클라이언트의 오류
→ 500대 에러를 만나면 사용자는 문제가 없지만 서버에 오류가 있음
• Servlet은 로직을 안가지고 싶어함 → Bean 파일을 따로 만들며, 로직을 담은 상자로 사용
• JSP로 만든 파일이 결국엔 .java로 저장
.jsp → compile → .java → Servlet
원래 Servlet을 해야하지만 java안에서 HTML을 쓰기 힘들어 jsp를 쓰게 되며 그게 Servlet이 됨
• 지시어에서 import를 할 수 있음
import = "java.util.ArrayList"와 같은 형식으로 사용
• 웹에서는 new를 적게 쓸수록 좋은 코드가 됨!
멤버변수를 써야하기 때문에 new를 해야하지만 적게 쓸수록 좋다!
• 선언하지 않아도 사용할 수 있는 JSP 내장 객체
① Request
② Response
③ Out
④ Session
⑤ Application
→ Request : 요청
: 다시 request를. 하면 이전의 request가 사라짐!
→ Session : 브라우저
: 다음 요청을 하더라도 같은 브라우저기 때문에 정보가 남아있음
: 요청이 계속 되더라도, 데이터를 계속 유지해야할 때 사용
: 배열급도 들고 다닐 수 있음
: 브라우저를 안닫으면 정보가 남아있지만 30분이 지나면 사라지는 것 LIKE 은행 로그인 연장
Ex) 로그인 정보, 장바구니
→ Application : 서버
: 데이터를 서버에 저장
Ex) 광고 7일간 안보기
위 화살표 3개의 유효 범위가 다르며, Application으로 넘어갈수록 커짐(길어짐)