본문 바로가기

Web

(8)
표현 언어 EL 표현 언어란? 값을 표현하는 데 사용되는 스크립트 언어로 JSP의 기본 문법을 보완하는 역할을 함 제공 기능? JSP의 스코프에 맞는 속성 사용 집합 객체에 대한 접근 방법 제공 수치 연산, 관계 연산, 논리 연산자 제공 자바 클래스 메소드 호출 기능 제공 표현언어만의 기본 객체 제공 표현 방법? ${expr } 기본 객체? 데이터 타입? boolean : true/false 정수 : 0-9로 이루어져 있고, 음의 경우 -가 붙음 실수 : 0-9로 이루어져 있고, 소수점 사용 가능 및 3.24e3 처럼 지수형으로 표현 가능 문자열 : 따옴표로 둘러싼 문자열. 널 : null 객체 접근 규칙? ${.} 표현1이나 표현 2가 null이면 null을 반환한다. 표현1이 Map일 경우 표현2를 key로한 값을 ..
Scope 4가지 scope Application : 하나의 어플리케이션이 생성되어 소멸될때까지 사용할 수 있는 scope Session : 세션 객체가 생성되어 소멸될때까지 사용할 수 있는 scope. 여러개의 요청이 들어와도 계속 남아있음 Request : 클라이언트가 요청하고 서버는 요청을 받아 응답을 보내는데, 이때 서버가 요청을 받아 어떤 일들을 수행한 다음 응답을 보낼때까지 계속 사용할 수 있는 scope Page : 선언된 Page 내에서만 사용 가능 Page scope PageContext 추상 클래스 사용 JSP페이지에서 pageContext라는 내장 객체로 사용 가능 forward가 될 경우 해당 Page scope에 지정된 변수는 사용 불가 (forward는 수행을 다음 페이지로 넘기는데 페이지..
Servlet , JSP 연동하기 (forward) Servlet과 JSP Servlet은 자바 언어이기 때문에 JSP에 비해 프로그램 로직이 수행되기 유리하다. (JSP는 스크립트릿 등을 사용해야함) JSP는 필요한 HTML문을 그냥 입력하면 되기 때문에 결과를 출력하기 유리 Servlet에서 로직 수행 + JSP에서 결과 출력 하는 것이 Servlet과 JSP의 연동이라고 함 실습 LogicServlet에서 1-100사이의 random값 2개와 그 합을 구해 result.jsp에 포워딩하기 1. LogicServlet 생성하기 ▶ url mapping은 /logic ▶ method는 GET, POST 방식 모두 실행가능하게 하기 위해 service 메소드만 오버라이드 코드 package examples; import java.io.IOException..
Redirect & Forward Redirect란 ? 서버가 클라이언트로부터 요청을 받은 후, 클라이언트에게 특정 URL로 이동하라고 요청하는 것 리다이렉트는 http프로토콜로 정해진 규칙 서버에서는 클라이언트에게 응답으로 상태코드 302와 함께 이동할 URL정보를 Location 헤더에 담아 전송 → 클라이언트는 서버로부터 받은 상태값이 302이면 Location헤더값으로 재요청을 보내개 됨 → 이때 브라우저의 주소창은 전송받은 URL로 바뀜 서블릿이나 jsp는 redirect를 하기 위해서 HttpServletResponse가 가지고 있는 sendRedirect()메소드를 사용 Redirect 예제 1. eclipse → Dynamic Web Project 생성 → WebContent폴더에 redirect01.jsp 생성 : red..
JSP 내장 객체 ※ JSP를 실행하면 서블릿 소스가 생성되고 실행된다. 내장 객체란? JSP에 입력한 스크립트릿 코드는 서블릿 소스의 _jspService() 메소드 안에 삽입되는데, _jspService()에는 삽입된 코드 외에도 윗부분에 미리 선언된 객체들이 있고, 해당 객체들을 내장 객체라고 부른다. 내장 객체에는 response, request, application, session, out와 같은 변수가 존재하고, JSP에서도 사용 가능하다. 내장객체의 종류 내장 객체를 활용한 JSP 코드 실행 결과 jsp실행시 생성된 java파일의 _jspService() 메소드 코드 public void _jspService(final javax.servlet.http.HttpServletRequest request, fi..
[eclipse] 자바 웹 어플리케이션 생성 (+ Finish버튼 비활성화 시) ※ 실행하기에 앞서 Java EE, Tomcat이 설치되어 있어야합니다 1. 먼저 eclipse 오른쪽 상단에서 Java EE 선택합니다 2. File - New - Dynamic Web Project 3. Project name에 생성하고 싶은 프로젝트 이름 입력 → Target runtime의 New Runtime버튼 클릭 4. 원하는 WAS 클릭(Tomcat ver 선택) → Next > 버튼 클릭 → Tomcat의 installation 경로 찾아 설정 → Finish버튼 5. 1번의 Dynamic Web Project 창에서 Finish 버튼을 눌러 프로젝트 생성 다음과 같이 프로젝트가 생성된 것을 볼 수 있음 해당 디렉토리에서 cmd창을 열어 tree /f를 입력해 폴더의 파일 목록을 확인하면..
JSP란? JSP란? JSP는 스크립트 언어의 일종으로 HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성 JSP 파일은 실행 시 서블릿으로 변환됨( WAS로 톰캣을 사용한다면, 톰캣이 JSP를 서블릿으로 바꿈 ) JSP의 실행순서 브라우저가 웹서버에 JSP에 대한 요청 전달 브라우저가 요청한 JSP가 최초로 요청했을 경우에만 JSP코드를 서블릿 코드로 변환(java파일 생성) → 서블릿 코드 컴파일해 실행가능한 bytecode로 변환(class파일 생성) → 서블릿 클래스를 로딩하고 인스턴스 생성 ※ 이미 존재할 경우 서블릿 엔진이 요청을 받아 서블릿 라이프사이클대로 실행 서블릿이 실행되어 요청을 처리하고 응답정보 생성 즉, JSP가 실행되면 .metadata폴더에 java파일이 생성되고, 이 java파일..
WAS와 Web Server Web Server 란? 정적인 컨텐츠(html, CSS, JS)를 HTTP 프로토콜을 통해 전송하는 서버 ex) Apache, Nginx WAS 란? Web Application Server의 줄임말로, 동적인 컨텐츠를 제공하는 일종의 미들웨어 WAS는 동적인 컨텐츠 뿐만 아니라 정적인 콘텐츠의 제공도 가능하고, 성능도 Web Server에 뒤쳐지지 않는다. 하지만 WAS가 정적 처리를 맡게 되면 부하가 많이 걸리기 때문에 자원 이용의 효율성, 배포 및 유지 보수의 편의성을 위해 Web Server와 분리되어 동적인 컨텐츠만 맡는 것이 좋다. 다양한 종류의 컨테이너를 내장하고 있는데, 이때 컨테이너는 동적인 데이터들을 처리해 정적인 페이지로 생성해주는 소프트웨어 모듈을 이야기말한다. Web Server..