유디의 공간정보·개발일기
4. 0812_Servlet 본문
[복습]
세션&쿠키
- HTTP -> TCP/IP ---> 상태를 간직하지 않는다.
*
- 하나하나의 클라이언트 상태를 관리
- 쿠키
* 무엇을 필요로 하나? 데이터(키=밸류)
* 어디에 저장되는가? 클라이언트
* 누가 필요로 하는가? 서버
c.f. 익스플로러 브라우저에서 alt키를 누르면 도구바가 toggle됨
클라이언트인 웹브라우저가 쿠키를 저장할지 말지 사용자가 설정
------- CollectionTest.java
int count;
int[] list;
List<Integer> arrayList; //List는 레퍼클래스, Integer은 클래스임
배열 => 선언, 생성, 할당, 참조
배열의 단점 : 변경이 안되고 크기가 안늘어난다.
단점 보완 방법 : Collection type을 사용한다 : Array lists, Linked lists, Hash sets, etc.
------- CollectioTest2.java
형변환해야 하는 경우, 형변환 필요 없는 경우
set
*** JSP동작원리와 서블릿
- Servlet : Server + let
* Booklet vs. Book
* 서버측의 작은 프로그램
- 하나의 클래스로 정의된다. (서블릿 구성요소)
* HttpServlet 클래스의 하위 클래스 (HttpServlet을 상속한다.)
* doGet(), doPost() 메서드 등이 정의된다.
* 메인서블릿 함수가 있다.
* 메서드의 매개변수로 request와 response가 있다.
* throws절로 예외처리가 되어있다.
- 서블릿이란?
JSP 이전에 동적인 웹페이지 콘텐츠를 생성하는 기술로 제공
서블릿의 자바의 많은 장점 사용 가능
HTML, CSS 및 자바스크립트 그리고 웹디자인과 연동하기에는 많은 단점이 있음
단점이 많지만 서블릿의 존재 이유
- JSP에는 없는 서버 측 프로그램의 기능
- 대규모 프로젝트에 사용되는 프레임워크의 기술을 사용
- 서블릿의 주요 클래스
: JSP에서 내장객체로 사용할 수 있게 했음
* HttpServlet : 서블릿을 만들기 위해 반드시 상속해야 할 필수 클래스
* HttpServletRequest : 클라이언트가 데이터를 입력하거나 또는 정보
에 대한 요청 값을 가지고 있는 클래스
* HttpServletResponse : 클라이언트가 요청한 정보를 처리하고 다시
응답하기 위한 정보를 담고 있는 클래스
* HttpSession : 클라이언트가 세션을 정보를 저장하고 세션 기능을 유
지 하지 위해서 제공되는 클래스
url : .do로 실행되는걸 볼 수 있다.
http://www.anyang.ac.kr/main.do/ <-- .do로 실행되는걸 볼 수 있다.
1) *.do 로 적은 경우
2) /* : 모든 요청을 다 받음
- 서블릿으로 변환
New Project - Servlet - 버전은 2.5로 하고 web.xml생성 체크 - Package name과 class name 입력 - Finish
+ MainServlet.java
jsp의 Model1 & Model2
- Model1 : 모든 요청은 JSP에게 보내지는 구조
- Model2 : 모든 요청은 Servlet에게 보내지는 구조
클라이언트로부터의 요청들 :: 이게 서블릿!
Main.jsp --> main.do
Login-action.jsp --> login-action.do
Logout-action.jsp --> logout-action.do
Login-form.html --> login-form.do
JSP의 Life Cycle(생명주기)
- init() 메서드
처리에 필요한 자원에 대한 초기화 작업
- service() 메서드
요청에 대해서 필요한 처리
실제 요청에 대한 처리를 담당하는 메서
드로 필요한 로직이 담겨있는 메서드
- destroy() 메서드
사용된 자원을 해제한 뒤, 서블릿을 종료
서버
- 웹서버 : 아파치
- 웹애플리케이션서버(WAS(와스)) : 톰캣, 웹로직/웹스피어/제우스..
Error: Could not find or load main class org.apache.catalina.startup.Bootstrap 뜰 때 해결
프로젝트에서 마우스우클릭- preferences-Java Build Path- Classpath클릭-
Add Library-Server Runtime클릭-Apache Tomcat v9.0클릭-Apply and close
변수명 더블클릭 - alt+shift+R 누르면 -한번에 변수명 변경 가능
- 서블릿 자체가 .html 이나 .jsp로 다 편하게 .do로 불러온다는거?
그래서 if 문 조건에는 else if(uri.equals("/emplist.do")) 인 경우 그 안에
page = "emp-list.jsp"; 얘를 데려온다.
- 직원목록은 그 위에 list로 dao에 넣어줘서 가져온 것인듯..
'JSP & Servlet' 카테고리의 다른 글
[JSP] Session (세션) 객체 사용하여 값 저장하고 불러오기 (0) | 2021.08.16 |
---|---|
5. 0813_session, Collection, sql문 연동 (0) | 2021.08.13 |
[JSP] Forward / Redirect (0) | 2021.08.12 |
[JSP] getParameter() / getAttribute() / setAttribute() (0) | 2021.08.12 |
3. 0811_action tag, 내장 객체, 세션 & 쿠키 (0) | 2021.08.12 |