Servlet, Redirect, Forward

정은지·2022년 9월 22일
0

https://www.lipsum.com/

텍스트만들어주는 사이트

Servlet


서블릿 실행할려면 톰캣잇어야함


(여태껏 html은 클라이언트, 웹서버만 반응하는거 봤음)
serverlive
자바를 웹에 실행할려면 톰캣잇어야함....

톰캣 다운로드

버전볼때 3(메이저).1(마이너) -- 3.1 3.2 별차이 없음
3.1 4.1은 메이저가 바뀐거라 차이 잇음

jsp 버전으로 만들거 아니니까 3.1 40 상관없음.. 최종버전은 spring

8.5쓰다가9.0쓰면..코드가 달라지니 하나도 통일하도록 한다.

실행파일 모여있는거 bin 폴더

톰캣 다운이 완료 되었다면, 설치 파일안에 bin폴더를 환경변수로 설정해준다.

이클립스에 톰캣 적용하기




브라우저선택

설치햇던파일선택

넥스트누르면이화면나옴

이 파일 생기는데 지우지않기~~

톰캣폴더의 bin 폴더

bat윈도우용 밑에잇는건 리눅스용


주소창에 저거 치면 먼 창이 뜸 (톰캣켜둔상태에서 )
8080 포트번호
오라클 포트번호도 8080

이러면 포트충돌이라고 함 그래서 실행이 안됨
둘 중 하나 포트 번호를 바꿔야함
오라클안깔려잇으면 jsp포트번호안바꿔도됨


스타트업으로 실행한 파일 종료할 때 x 누르지말고 셗다운파일실행하기

jsp포트번호 변경방법


저기 메모장 들어가서 8080 검색

주석이 아닌 거 찾아서 포트번호 변경하기


카탈리나_home이 복사되는 방식으로 데이터가 저장댐 (복사기준 : 이클립스에 불러올 때)

카탈리나에서 필요한 설정 다 하고 마지막에 이클립스에 등록해야 수정한 설정이 이클립스에 적용됨

서버설정, 톰캣 지우는 법


server에서 먼저 지워지고

preperenc들가서 톰캣 남은거 깨끗이 지워쥼

서버에서, preper어쩌고에서 지운 후 저거 파일 열어보면 안열림 : 지워진거임

더블클릭하면 포트번호 바뀐거 확인가능

localhost:9090 을 사용할ㄹㅇㅖ쩡티비

서블릿 실행을 위한 필수 메소드


서블릿실행은 톰켓이 실행해서 톰캣을 추가해야 저거 사용가능
jvm실행은 main이 잇어야함
서블릿은 메인말고 호출되는애가잇음 필수인애는 doget, dopost임 마치 메인처럼

html, css.. js만잇으면 정적 파일 사용
jap는 다이나믹파일가용

static 실행할려면 웹서버있어야됨
다이내믹 실행될려면 웹애플리케이션서버(=WAS라고함)가잇어야댐

WAS는 정적동적 모두 돌릴 수 잇ㅇ슴

정적동적 선택지 없으면 other들어가서 검색 ㄱㄱ

프로젝트 추가 화면


target 누가 실행해주는거
v8.5는 3.1 지원

v9.0은 4.0 3.1 둘다 가능 근데 파일 구조 다르니 조심

context root : context path 이 프로젝트가 가지는 url주소값 (/이후로)
locahost:9090/01_Servlet

host : locahost
port : 9090 (host,port 톰캣의주소임)
context path : 01_Servlet

프로젝트 = 애플리케이션 = context 동일한 말임
서블릿콘텍스트 = 프로젝트

deployment desx~ 만들기 체크박스임

  1. java 저장
  2. src html, css, jsp..랑 저장됨 하나더 이슨ㄴ데 머지


저게 web root임
html파일 저기다가 두면 됨

이중에서 하나 만들면 그게 시작파일

--src/main/java에 프로젝트 추가중

url래핑 : 서블릿만들때결정가능

init, 서비스 + 총 4개 선택

---
서블릿파일
패키지 = 폴더. 자바에선 클래스이름 같아도 서로 다른 패지키에 잇으면 실행가능
근데 서블릿은 안됨

--실행안될 때

리스타트 해보고 안되면
클린 2개 해보기

Redirect★


3,4번은 서로 다른 요청이다. (기존 request는 유지하지 않고 이동)

2,3과정 select(목록보기)


a라는 요청이 서버 1에 가고 응답 받으면 더이상 a라는 요청 존재하지 않음
따라서 1번과 3번은 다르다

하나의 요청, 응답이 오면 이건 끝난거임

Redirect요청이 2번 들어감,
내가 한 번 서버가 한번

2번째 주소가 모임

a태그, location은 redirect임...

요청을 클라이언트로 보내주지않음

Forward★


요청이 서버1에서 서버2로 그대로 전달됨(단순이동)

서버1에 요청했지만 응답이 서버2에서 옴

2번째 주소가 보이지 않음.

기존의 요청을 전달하기 때문에 request에 데이터를 실어서 이동가능.
select에서 많이씀

select --- > 서버 1
서버 1에서 결과를 내고 그 결과를 2로 전달. (서버 1이 응답X)
서블릿2가 응답을 처리함

Dynamic Web Project에서 json.jar 사용하는 방법

  1. Tomcat에 등록하기. (jsp servlet container=톰캣)
  2. 프로젝트에 jar 파일 처리하는 방법저장함

Cookie

-클라이언트의 기록을 저장
쿠기가 많이 사용되는 곳 : Sesstion과년된 정보도 세션에 남아있음
아이디기억하기 - 쿠기사용

0개의 댓글