자바(JAVA)/JSP 웹 프로그래밍 공부 (성낙현의 JSP 자바 웹 프로그래밍 참고) 49

JAVA/JSP 7. 내장 객체의 영역(Scope) - 정의, 데이터 전송 객체(DTO) 준비

1. 내장 객체의 영역이란?내장 객체 중 4개는 ‘영역’ 개념을 갖고 있음 - 데이터를 저장하고 공유할 수 있는데, 각 영역에 저장된 데이터는 공유 범위가 서로 다름 → page 영역, request 영역, session 영역, application 영역이 있음각 내장 객체가 저장되는 메모리의 유효기간웹 애플리케이션은 페이지 단위로 구성되는데, 그래서 A페이지에서 선언한 변수에 B페이지로 이동한 후에도 접근하려면, 클래스 단위인 자바와는 조금 다르게 접근해야 함 → JSP에서는 영역을 통해 내장 객체에 저장된 속성 값을 공유할 수 있도록 함 (범위의 크기는 아래와 같음) 사용법(API): 모두 같음-영역이 제공하는 주요 메소드 3가지 있음void setAttribute(String name, Object..

JAVA/JSP 6. 내장 객체 - out 객체, application 객체, exception 객체

3. out 객체웹 브라우저에 변수 등의 값을 출력할 때 주로 사용 → 대부분의 상황에서는 (1장에서 학습한) 표현식 이 더 편리함스크립틀릿 내에서 변수를 웹 브라우저에 출력해야 한다면 이 객체 사용(표현식 대신!)버퍼를 사용 - 출력되는 모든 정보가 버퍼에 먼저 저장된 후 웹 브라우저에 출력됨//OutMain.jsp out 내장 객체"); // 버퍼 크기 정보 확인 out.print("출력 버퍼의 크기 : " + out.getBufferSize() + ""); //3. out.print("남은 버퍼의 크기 : " + out.getRemaining() + ""); //4. out.flush(); //5. 버퍼 내용 출력 out.print("flush 후..

JAVA/JSP 5. 내장 객체 - 내장 객체란? Request, Response 객체

*JSP의 내장 객체란?JSP에 내장되어있는, 웹 프로그래밍에 있어 가장 핵심적이고 유용한 객체 (광범위하게 사용됨) → 클라이언트에서 요청받기, 클라이언트의 요청에 응답하기, 화면 출력, 세션, 페이지, 애플리케이션 등을 내장 객체로 제공웹의 동작 방식: 아래 그림처럼 클라이언트가 서버로 요청을 보내면, 서버는 그에 맞는 결과를 응답으로 돌려주는 형태 → 이때 내장 객체가 요청, 응답, HTTP 헤더(header) 등의 정보를 쉽게 다룰 수 있도록 해 줌JSP 페이지가 실행될 때 컨테이너가 자동으로 생성해 줌 (별도로 선언하거나 객체로 생성하지 않아도 즉시 사용 가능 → JSP가 실행될 때 자바 파일인 서블릿으로 변환되고 클래스 파일로 컴파일되는 과정에서, 생성된 _jspService() ..

JAVA/JSP 4. JSP 파일 기본 구조

일반적인 HTML 파일에 몇 가지 요소가 추가된 형태. (JSP의 주된 목적이 웹 브라우저에 띄울 HTML 파일을 생성하는 것이므로)*JDK, 톰캣, 이클립스의 버전JDK-11: JDK-17이 설치되어있어서, https://coding-house.tistory.com/122 보고 JDK-11로 낮춤(JDK-11 자체를 설치하는 건 불가)톰캣 9: JSP와 서블릿을 실행하기 위한 웹 서버이클립스 2020-12 (4.18): 전체 도구를 아우르는 통합 개발 환경(IDE)1. 지시어 (=지시자, 디렉티브/Directive)JSP 페이지의 처리 방법을 JSP 엔진에 ‘지시’해주는 역할 → JSP 페이지를 자바(서블릿) 코드로 변환하는 데 필요한 정보를 JSP 엔진에 알려줌주로 스크립트 언어나 인코딩 방식 등을 ..

JAVA/JSP 3. 동적 웹페이지로의 여정과 JSP

1. 정적 웹 페이지와 동적 웹 페이지1) 정적 웹 페이지가장 기본적인 웹 페이지저장되어 있는 파일을 그대로 웹 브라우저에 전송해 출력클라이언트가 어떤 형태로 요청하더라도 같은 페이지는 항상 동일한 모습을 보여줌정적 웹 페이지 구동 방식2) 동적 웹 페이지동일한 페이지라 할지라도 그때그때 내용이 달라질 수 있는 웹 페이지서버가 클라이언트의 요청을 해석하여, 가장 적절한 웹 페이지를 그때그때 생성해 보내주는 기술클라이언트는 요청한 계정/시간/지역/언어/기타 입력 값에 따라 다른 결과를 받음동적 웹 페이지 구동 방식2. 자바 애플릿(Java Applet)웹을 동적으로 만들기 위한 고대의 자바 기술웹에서 실행되도록 설계된 자바 애플리케이션을 통째로 웹 브라우저로 전송한 후, 자바 가상 머신을 탑재한 웹 브라우..

JAVA/JSP 2. JSP를 공부하기 위한 선행 지식

1. 기본 용어1) 서버 (Server)웹에서 서비스를 제공하는 컴퓨터 시스템웹 애플리케이션: 정보 검색을 위한 포털 사이트, 필요한 물품을 구매하기 위한 쇼핑몰 사이트 등의 서비스 제공 → 서버 컴퓨터에 파일의 형태로 저장되어 있음2) 웹 서버 (Web Server)사용자로부터 HTTP를 통해 요청을 받는 소프트웨어웹 컨테이너가 전달해주는 결과물을 정적인 페이지로 생성하여 사용자에게 응답하기도 하는 소프트웨어주로 HTML, CSS, 자바스크립트 등으로 구성됨3) 웹 컨테이너 (Web Container)웹 서버가 전송해준 요청을 기초로, 동적인 페이지를 생성하여 웹 서버로 돌려줌 (동적인 페이지: 사용자마다 다른 결과로 응답 가능)예시: 로그인 기능. 로그인한 아이디를 보고 각자에 맞는 페이지를 구성해 ..

JAVA/JSP 1. 개발 환경 구축 - 마지막 추가 설정

1. 외부 웹 브라우저로 실행하기-크롬이클립스는 웹 애플리케이션 실행 시, 자체 브라우저를 통해 실행 결과 출력웹 애플리케이션 배포 시 사용자는 크롬/파이어폭스 같은 전용 웹 브라우저로 접속이클립스의 내장 브라우저는 결과를 실제 웹 브라우저와 다르게 보여주는 경우도 있음 1) 메뉴에서 [Window] → [Web Browser] → Chrome 선택 2) 편집창에서 HelloJSP.jsp 파일 선택 후, [Run] → [Run As] → [Run on Server]로 실행 3) 서버가 정상적으로 실행되었다면, 다음과 같이 크롬 브라우저에 문자열이 출력됨 2. 웹 서버 포트 변경-이클립스, 톰캣 원본JSP 예제 실행 결과에서 웹 브라우저의 주소부분을 보면, localhost:8080으로 시작→ 톰캣 웹 서..

JAVA/JSP 1. 개발 환경 구축 - JSP 예제 테스트

1. 프로젝트 생성1) [File] → [New] → [Dynamic Web Project] 선택 2) 프로젝트 설정 화면 → Project name: HelloJSP, Target runtime: Apache Tomcat v9.0, Dynamic web module version: 4.0으로 설정 후 Next 클릭 3) 자바 소스 파일 경로 설정 화면: 수정 없이 Next 클릭 4) 웹 모듈 설정 화면 Generate web.xml deployment descriptor 체크박스를 체크하고 Finish 클릭Context root: 프로젝트의 컨텍스트 루트 경로,Context directory: JSP 파일을 생성할 폴더 이름, 배포 서술자(deployment descriptor) web.xml..

JAVA/JSP 1. 개발 환경 구축 - 이클립스 기본 설정

*JDK 설치 및 환경 변수(JAVA_HOME) 설정, 톰캣 설치, 이클립스 설치를 완료한 상태OpenJDK 11: 자바 프로그램을 컴파일하고 실행해주는 기본 도구*이클립스 JDK-17이 설치되어있어서, https://coding-house.tistory.com/122 보고 JDK-11로 낮춤(JDK-11 자체를 설치하는 건 불가)톰캣 9: JSP와 서블릿을 실행하기 위한 웹 서버이클립스 2020-12 (4.18): 전체 도구를 아우르는 통합 개발 환경(IDE) * 이클립스에서 파일을 저장할 때 사용할 기본 인코딩 방식 설정, 톰캣과의 연동 설정1. 파일 인코딩 변경이클립스 처음 설치 시, 파일 인코딩 방식이 MS949(*MS949: 마이크로소프트에서 개발한 한글 인코딩의 한 종류. EUC-KR의 확장형..