처음에 이클립스에서 Dynamic Web Project를 생성하고 나면, 파일 구조가 아래 사진과 같이 되어 있다. src/main/java 폴더에는 서블릿이 들어 있어야 한다. 브라우저는 webapp 폴더에서부터 접근을 하는데, webapp는 정적 웹 프로그램이 들어 있는 곳이다. html, css 등으로 이루어진 파일이 들어 있으며, 프로그램 기본 주소와 매칭된다. webapp 하단의 WEB-INF는 웹 서버가 사용하는 파일이 들어있는 중요한 디렉토리이다. 따라서 외부에서 곧바로 접근할 수 없게 되어 있다. 그런데, 우리가 작성한 서블릿은 /WEB-INF/classes 디렉토리에 컴파일 된다. 서블릿 파일은 클라이언트에 서비스 하려고 만든 것인데, 클라이언트가 직접 접근할 수가 없다니! 👉 따라서 w..
1. GET 방식 : 입력과 조회 사용하는 경우 원하는 데이터 조회 사용자가 입력할 수 있는 화면 - 태그와 GET 방식 아래는 webapp 하단의 calc 폴더 안에 있는 input.jsp 코드이다. SEND 태그를 이용해서 사용자가 입력하는 내용들을 전송하는 용도로 사용한다. 프로젝트를 실행하고 브라우저에 'calc/input.jsp' 주소를 입력하면 화면을 GET 방식으로 볼 수 있게 된다. SEND 버튼을 누르면 해당 주소를 다시 호출하게 된다. 화면상의 결과는 같지만 주소창의 내용은 ?num1=&num2=가 붙어 있게 변경된 것을 볼 수 있다. SEND 버튼의 type이 submit으로 지정되어 있는데 이 경우 버튼을 클릭하면 태그 내에서 사용자가 입력한 값을 태그의 name 속성값과 함께 전송..
서버 사이드 프로그래밍이란? 서버 쪽에서 프로그래밍을 통해 데이터를 처리할 수 있도록 구성하는 것 1. 개발 시 고려해야 할 점 동시에 여러 요청이 들어온다면 어떻게 처리해야 하는가? 서버에서 문제가 생기면 이를 어떻게 처리해야 하는가? 어떤 방법으로 데이터 전송을 최적화할 수 있을까? 분산 환경이나 분산 처리와 같은 문제들은? 서비스를 새로 개발할 때마다 이런 고민을 새로 해야 한다면 엄청나게 많은 개발 비용, 시간을 소모해야 한다. 자바의 경우 이러한 처리를 JavaEE라는 기술 스펙으로 정리해 두었고, Servlet과 JSP는 여러 기술 중에 하나이다. 2.서블릿 Servlet 서블릿 Servlet? 서버에서 동적으로 요청과 응답을 처리할 수 있는 API들을 정의한 것 서블릿을 지원하는 환경에서 개..