Java 30

Servlet, 동적 페이지의 필요성

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 9. 동적 페이지의 필요성 여태까지 html파일을 통한 페이지들은 정적(static)이었다.정적(static)인 페이지 : 저장된 그대로만 전달되는 페이지동적(dynamic)인 페이지 : 데이터를 처리한 뒤 생성되는 페이지calc.htmlcalc.html을 요 velog.io 동적 페이지의 필요성 여태까지 html파일을 통한 페이지들은 정적(static)이었다. 정적(static)인 페이지 : _저장된 그대로_만 전달되는 페이지 동적(dynamic)인 페이지 : _데이터를 처리한 뒤 생성_되는 페이지 정적 페이지 calc.html 입력 : Result : 0 calc.html을 요청하면 언제나 저장된 이대로만 전달된다. 하지만 이 ..

Java/Servlet 2023.04.01

Servlet, 상태 유지의 필요성 2

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 8. 상태 유지의 필요성 조각나있는 서버 프로그램인 Servlet들이 종료된 후에도 유지할 수 있는, 공유할 수 있는 데이터가 필요하다면 상태 유지가 필요하다. 상태 유지를 위해서 Servlet은 다음과 같은 객체를 이용한다.Ap velog.io 상태 유지의 필요성 WAS에서는 요청에 의해 실행된 Servlet 객체는 실행하며 응답한 뒤에 바로 소멸한다. 그래서 Servlet끼리 정보를 주고 받는 것이 불가능하다. 조각나있는 서버 프로그램인 Servlet들이 종료된 후에도 유지할 수 있는, 공유할 수 있는 데이터가 필요하다면 상태 유지가 필요하다. 상태 유지를 위해서 Servlet은 다음과 같은 객체를 이용한다. Applicatio..

Java/Servlet 2023.04.01

Servlet, 상태 유지의 필요성 1

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 7. 상태 유지의 필요성(간단한 계산기) 인자 두 개를 받은 뒤, + / - 버튼을 누르면 두 인자를 계산 값을 출력한다.인자를 받을 페이지는 add.html로 하고 Add Servlet을 만든다.post요청으로 인자를 넘기기에 Add Servlet은 doPost함수로 받는다.add. velog.io 간단한 더하기 계산기 만들기 '한 번에 여러 인자' 계산기 인자 두 개를 받은 뒤, + / - 버튼을 누르면 두 인자를 계산 값을 출력한다. 인자를 받을 페이지는 add.html로 하고 Add Servlet을 만든다. post요청으로 인자를 넘기기에 Add Servlet은 doPost함수로 받는다. add.html Add.java @W..

Java/Servlet 2023.04.01

Servlet Filter

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 6. Servlet Filter WS WAS Servlet ContainerWAS는 들어오는 요청에 대해 매핑된 Servlet을 실핼하고 응답해주는데 그런 Servlet들이 메모리에 생성되어진다. 그 메모리 공간이 Servlet velog.io Servlet Container WS WAS Servlet Container WAS는 들어오는 요청에 대해 매핑된 Servlet을 실핼하고 응답해주는데 그런 Servlet들이 메모리에 생성되어진다. 그 메모리 공간이 Servlet Container Servlet Filter WS WAS Servlet Container 앞서 한글을 입력해 요청을 보낼 때 발생했던 문제를 해결하기 위해서 req..

Java/Servlet 2023.04.01

Servlet, GET 요청 / POST 요청

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 5. GET 요청 / POST 요청 HTTP Method 중 하나로, 직접적으로 URL을 입력해 서버로부터 원하는 정보를 GET하는 요청이 GET요청이다.http://localhost:8080/hello 이렇게 URL을 입력하면 /hello에 매핑된 정보가 요청되는데그 정보는 GET 매 velog.io GET 요청 HTTP Method 중 하나로, 직접적으로 URL을 입력해 서버로부터 원하는 정보를 GET하는 요청이 GET요청이다. http://localhost:8080/hello 이렇게 URL을 입력하면 /hello에 매핑된 정보가 요청되는데 그 정보는 GET 매핑이 처리된 것이고, 클라이언트는 GET요청을 통해 원하는 정보를 얻..

Java/Servlet 2023.04.01

Servlet 출력 형식

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 4. Servlet 출력 형식 지금까지는 web.xml에 태그를 추가해 URL 매핑을 했다.web.xml을 통한 URL 매핑하지만 Annotation을 통해 URL을 매핑하는 방법도 있다.Annotation을 통한 URL 매핑 단순히 class 선언문 위에 @WebServlet()을 추가하 velog.io 브라우저의 Servlet 해석 브라우저가 응답을 받을 때 Servlet에 지정된 출력 형식이 없다면, 브라우저마다 자의적인 해석으로 Servlet을 출력. @WebServlet("/hello") public class Company extends HttpServlet { public void service(HttpServletRe..

Java/Servlet 2023.04.01

Servlet 프로그램 만들기 (xml 매핑과 annotation 매핑)

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 3. Servlet 프로그램 만들기 자바 어플리케이션에서는 main() 메소드부터 호출되는 것처럼자바 "웹" 어플레이케이션 ( Servlet 프로그램 )에서는 service() 함수가 먼저 호출된다.Context Site인 company 디렉토리에 Servlet 프로그램을 추 velog.io Servlet 프로그램 만들기 자바 어플리케이션에서는 main() 메소드부터 호출되는 것처럼 자바 "웹" 어플레이케이션 ( Servlet 프로그램 ) 에서는 service() 함수가 먼저 호출된다. Context Site인 company 디렉토리에 Servlet 프로그램을 추가시켜보겠다. Company.java import javax.servl..

Java/Servlet 2023.04.01

WAS, Tomcat 사용

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 2. WAS, Tomcat 사용 톰캣에 웹 문서 추가하기 ~\apache-tomcat-9.0.62\webapps\ROOT 이 디렉토리는 Tomcat이 홈 디렉토리로 사용하는 디렉토리이다. 이 폴더에 jongky.txt 을 추가한 뒤, 웹 브라우저(클라이언트)를 통해 locathost:8080/ velog.io 톰캣에 웹 문서 추가하기 ~\apache-tomcat-9.0.62\webapps\ROOT 이 디렉토리는 Tomcat이 홈 디렉토리로 사용하는 디렉토리이다. jonky.txt Hello~ I'm jongky 이 폴더에 jongky.txt 을 추가한 뒤, 웹 브라우저(클라이언트)를 통해 locathost:8080/jongky.tx..

Java/Servlet 2023.04.01

Servlet이란?

Velog에 작성했던 포스트를 옮겼습니다:) Servlet / JSP ) 1. Servlet이란? Server 공부 흐름 Servlet --HTML코드 출력 문제--> JSP --스파게티 코드 문제--> JSP MVC -> Spring MVC -> SpringBoot Servlet 이란? 클라이언트 -> 서버 요청 http://www.jongky.shop/li velog.io Servlet 이란? 클라이언트 -> 서버 요청 http://www.jongky.shop/list이 들어올 때 웹 서버는 내부에 저장돼있는 웹 서버 어플리케이션들 중 list에 해당하는 조각을 WAS에서 처리한 뒤 반환해줌 그런 웹 서버 어플리케이션 조각을 Server Application Let > Servlet이라 한다. 웹 서..

Java/Servlet 2023.04.01

Java 컴파일 과정

JAVA Compiler 자바 클래스 파일 .java 자바 컴파일러 javac가 컴파일 자바 바이트 코드 .class Class Loader JVM의 Class Loader로 자바 바이트 코드가 전달 됨. Class Loader는 동적 로딩을 통해 필요한 클래스들을 로딩 후, 링킹해 JVM의 메모리인, Runtime Data Area에 올린다. Execution Engine Execution Engine은 Class Loader를 통해 Runtime Data Area에 load된 바이트 코드를 명령어 단위로 가져와 실행한다. Execution Engine은 두 가지 방식으로 실행이 된다. Interpreter 자바 바이트 코드를 한 줄씩 읽어 실행한다. 때문에 느리다. JIT Compiler interp..

Java 2023.03.28