본 내용은 유튜브 뉴렉처 채널의 강의를 보며 학습 내용을 기록한다. 00. 제반 환경 설치 자바 다운로드 자바 홈페이지에서 자바 다운로드 이클립스 다운로드 이클립스 홈페이지에서 이클립스 다운로드 환경 변수 설정 참고 사이트의 순서대로 환경 변수 설정 01. 톰캣 설치 아파치 톰캣9 다운로드 다운로드 링크에서 OS에 맞는 파일 다운로드 압...
02. Servlet 프로그램 만들기 Servlet Server Application Let의 약어로 아래와 같이 클라이언트의 요청에 따라 해당 되는 어플리케이션 조각을 응답하여 전송하기 때문에 Servlet이라고 함 (Let : 조각) image.png 그리고 자바에서는 main() 함수가 주축이었지만 Servlet에서는 service() 함수가 ...
03. 이클립스 기존 프로세스의 불편함 코드 수정, 컴파일, 배포, 서버 재시작, 브라우저 요청의 번거로움을 이클립스 IDE로 해결 image.png 프로젝트 프로젝트 생성 File > New > Dynamic Web Project 로 프로젝트 생성 프로젝트명 : JSPPrj Target Runtime : Tomcat v9.0 > 이전의 RO...
04. URL 매핑과 콘텐츠 출력 Annotation을 이용한 URL 매핑 web.xml을 이용하지 않고도 아래와 같이 Annotation을 통해 URL 매핑을 할 수 있음 image.png 하지만 web.xml 내용중 metadata-complete를 'true'에서 'false'로 바꿔야 함 |metadata-complete|설명| |:--|:...
05. Get Request 쿼리스트링 사용자가 서버에 웹 문서를 요청할 시에 추가적인 옵션을 넣을 수 있는데 이를 '쿼리스트링'이라 함 image.png 쿼리스트링 값을 이용한 반복문 http://localhost:8080/hi?cnt=3 와 같이 쿼리스트링을 통해 cnt값을 전달하여 Get 요청을 보냄 Nana.java > 하지만 쿼리스트링...
06. Post Request 요청 사항이 많을 경우 Get 요청에 쿼리스트링으로 간단히 인자를 넘기는 것보다 보내야 할 정보의 양이 많다면 Post 요청 사용 image.png image.png 등록 페이지 작성 Post Request 또한 URL에 쿼리스트링 형식으로 삽입될 수 있지만 다음과 같은 이유로 사용하지 않음 URL의 길이 제한 (...
07. 학습 과제 제작 조건 add.html 을 작성하여 GET, POST 가능하도록 포맷을 구성 (값 두개를 받아 덧셈의 값을 출력하도록) image.png 결과 add.html Add.java
08. Submit과 배열 입력 여러개의 Submit 이번에는 덧셈 연산 뿐 아니라 뺄셈 연산도 가능하도록 Submit 버튼을 두개로 연동해본다. 소스 작성 calc.html > 버튼 이름이 같더라도 선택되는 것에 따라 전달되는 value가 다름 Calc.java 배열 입력 입력 사항 추가 변수의 이름을 같게 설정하면 배열로 값이 전달 됨 ...
09. 상태 유지를 위한 방법 개별 입력 방식 이전과 같은 방식보다는 아래와 같은 포맷으로 하나씩 개별적인 값을 전달하여 요청이 들어갈 때가 많음 그럼 이전에 전달된 값들을 저장해 두었다가 서블릿이 결과물을 전달해야 하는 상황이 발생 image.png 상태 유지를 위한 5가지 방법 그래서 Application, Session, Cookie 객체를 ...
10. 동적 페이지 서버에서 페이지 전환하기 기존에는 아래와 같이 요청한 것에 대해서만 응답을 했다면 이제 이를 Redirection을 통해 전환 image.png image.png 코드 추가 Calc2.java 서버 페이지의 필요성 서버 페이지(동적 페이지)의 등장은 사용자의 입력을 실시간으로 웹 페이지에 반영할 필요에 의해 나타남 ![i...
11. JSP Program Jasper를 통한 Servlet 출력 이전까지는 Servlet 코드를 직접 작성할 때 out.write() 내에 html 코드를 일일히 넣어야 하는 불편함이 있었는데 이를 개선한 것이 Jasper를 이용한 Servlet 작성 방법이다. image.png 사용자가 해당 페이지를 요청할 때 jsp 파일이 servlet 으로...
12. JSP MVC model MVC model 1 스파게티 코드를 지양하고 코드 블럭의 분산으로 인해 가독성이 떨어지지 않도록 하기 위해 MVC 모델 1을 구축하게 되었다. 좌측의 경우 코드 블럭으로 인해 가독성이 매우 떨어지지만 우측의 경우 아주 깔끔하게 정리되어 보기 편한 것을 알 수 있다. image.png image.png 이 때 입력과...
13. Expression Language View를 위한 데이터 추출 표현식 View 단의 자바 코드를 마저 들어내고 EL을 통해 통일성을 맞출 수 있게 한다. image.png image.png > 위와 같이 변수, 리스트, 맵 등등 다양한 값들을 편리하게 불러낼 수 있다 EL의 데이터 저장소 저장 객체에서 값을 추출하는 순서 아래와 같이...
14. 웹 프로젝트 JSP Programming 우선 html 파일들을 jsp 파일로 바꾸는 작업을 진행하며 중간에 필요한 내용들을 코드블럭에 삽입한다. 또한 페이지 지시자를 추가하여 한글이 깨지지 않도록 한다. image.png image.png image.png html 을 jsp 로 바꾸자마자 한글이 깨지는데 이는 `alt + ent...
15. JSP MVC Pattern JSP MVC Model 1 이번에는 지난 시간에 이어 스파게티 코드처럼 얽혀있는 파일을 MVC model 1에 따라 깔끔하게 분리해본다. image.png image.png Detail 페이지 MVC Model 1 구현 detail.jsp JSP MVC Model 2 위의 모델 1에서 모델 2로 변경하며 ...
16. View & Tag View 페이지 은닉 Control 단과 View 단을 분리하고도 View 단에서 실행하면 NullPointerException이 발생한다. 하지만 사용자가 요청할 수 없는 상태로 View 페이지를 은닉하여야 바람직하겠다. (즉, WEB-INF 폴더 내에 View 페이지들 혹은 View 페이지들이 모여 있는 폴더들을 옮긴다) ...