문든 JSP view페이지를 작성하면서 궁금점이 생겼다 왜 ${}를 사용해도 되는데 굳이 c:out value를 이용하여 출력할까? 결론은 , 보안성때문이 크다. XSS(Cross-site Scripting) 란 ? -XSS공격은 웹사이트에 스크립트 코드를 주입시키는 방법으로 웹사이트 공격방법 중 기초적인 것에 해당됩니다. 해결 방법은 html코드를 해석하지 않게 만들면 간단히 방어할 수 있습니다. 즉, JSP view페이지를 만들 때 XSS공경 방지를 위해 " "을 사용하여 막을 수 있습니다. 실시간 베스트 글 혹시 국비지원이나 사설학원 (패스트 캠퍼스 등) 다니는 중이신가요? 현직 5년차가 직접 겪은 국비지원 패스트캠퍼스 후기 보러가기 국비지원 패스트캠퍼스 후기 현직 5년차 개발자가 알려주는 코딩학원..
request.getContextPath(); request.getRequestURI(); request.getHeader("REFERER"); request.getRealPath("/") request.getContextPath()는 프로젝트의 Context path명을 반환한다. 요청 : http://localhost:8080/example/test.jsp 리턴값 : /example request.getRequestURI()는 웹전체 경로(프로젝트명+ 파일 경로)까지 반환한다. 요청 : http://localhost:8080/example/test.jsp 리턴값 : /example/test.jsp request.getHeader("REFERER")는 요청을 한 부모요청의 URL주소를 반환한다. 현재 ..
1. Servlet(서블릿) 서블릿을 한줄로 정의하자면 아래와 같이 정의할 수 있습니다. 웹프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술 간단히 말해서, 서블릿이란 자바를 사용하여 웹을 만들기 위해 필요한 기술입니다. 그런데 좀더 들어가서 설명하자면 클라이언트가 어떠한 요청을 하면 그에 대한 결과를 다시 전송해주어야 하는데, 이러한 역할을 하는 자바 프로그램입니다. 예를 들어, 어떠한 사용자가 로그인을 하려고 할 때. 사용자는 아이디와 비밀번호를 입력하고, 로그인 버튼을 누릅니다. 그때 서버는 클라이언트의 아이디와 비밀번호를 확인하고, 다음 페이지를 띄워주어야 하는데, 이러한 역할을 수행하는 것이 바로 서블..
EL ( Expression Language ) EL은 JSP의 출력 문법을 대체하는 표현 언어입니다 JSP에서의 값 표기법이며, i는 변수입니다. ${ i } EL에서의 값 표기법이며, i는 이름입니다. EL ( Expression Language ) EL은 JSP의 출력 문법을 대체하는 표현 언어입니다. JSP에서의 값 표기법이며, i는 변수입니다. ${ i } EL에서의 값 표기법이며, i는 이름입니다. EL 표기법에서 파라미터의 값은 param 키워드를 통해 가져올 수 있습니다. 또한 JSP 값 표기법에서 파라미터는 문자열이지만, EL에서 숫자는 숫자로, 문자열은 문자열로 인식합니다. 예를 들어, 클라이언트로부터 localhost:8080/testing/test.sjp?a=10 으로 요청이 올 때..
람다식 * Lambda Expression * 함수처럼 파라미터를 가진 코드 블록으로 익명 함수를 지칭하는 용어이다. * 일종의 함수처럼 사용이 가능하다. (호출, 재귀) 1) 람다식 형식 ( 파라미터1, 파라미터2) -> EL식 * 예1) a가 b보다 큰 경우 true를 리턴하고, 크지 않다면 false를 리턴하는 람다식 ( a, b) -> a>b ? true : false * 예2) 람다식을 EL에서 사용 ${ greaterEx = (a, b)-> a>b ? true : false ; " } * 람다식을 greaterEx 변수에 할당하는 코드이다. 책의 예제는 결과를 출력하지 않기 위해 세미콜론 연산자를 사용했다. * 람다식은 일종의 함수로, 위 처럼 할당한 변수를 함수처럼 호출할 수 있다. 또한 병..
Expression Language(표현 언어 또는 익스프레션 언어) - 값을 표현하는데 사용되는 새로운 스크립트 언어로 JSP의 기본문법을 보완하는 역활을 한다. - JSP 네 가지 기본 객체가 제공하는 영역의 속성 사용 - 집합 객체에 대한 접근 방법 제공 - 수치 연산, 관계 연산, 논리 연산자 제공 - 자바 클래스 메서드 호출 기능 제공 - 표현 언어만의 기본 객체 제공 EL 기본 문법 ${식 } - EL은 다음과 같이 $와 괄호('{' 와 }')' 그리고 표현식을 사용하여 값을 표현한다. - 식 부분에는 표현 언어가 정의한 문법에 따라 값을 표현하는 식이 온다. (액션태그 또는 커스텀태그의 속성 값, 표현식) - JSP의 스크립트 요소(스크립트릿, 표현식, 선언부)를 제외한 나머지 부분에서 사용..
세션(Session)이란? 세션의 정보는 접속해서 종료되기까지 유지된다. 접속시간에 제한을 두어 일정시간 응답이 없으면 유지를 못하게 설정이 가능하다. 쿠키보다 보안적으로 유리하다. 웹 컨테이너에 정보를 보관한다 웹 브라우저마다 별도의 세션을 갖는다.(세션 고유ID 할당) 세션과 쿠키의 차이점 - 쿠키는 웹 브라우저에 정보를 관할 때 사용한다. 반면 세션은 웹 컨테이너에 정보를 보관한다. - 세션은 웹 브라우저가 아니라 서버에 값을 저장한다. - 서버는 세션을 사용해서 클라이언트 상태를 유지할 수 있기 때문에, 로그인한 사용자 정보를 유지하기 위한 목적으로 세션을 사용한다. - 서버에 저장하여 보안성이 뛰어나기 때문에 쿠키보다 세션을 사용한다. HTTP 프로토콜의 특성 세션을 이해하기 위해서는 HTTP프..
쿠키의 개요 - HTTP 프로토콜은 상태가 없다. 즉 이전에 무엇을 했고, 지금 무엇을 했는지에 대한 정보를 갖고 있지 않는 특성을 가지고 있다. 즉, 웹 브라우저(클라이언트)의 요청에 대한 응답을 하고 나면 해당 클라이언트와의 연결을 지속하지 않는다 (Connectionless) - HTTP 프로토콜은 상태에 대한 지속적인 연결이 없다. 따라서 이런 부분을 해결하기 위해서 웹 서버 측에 웹 브라우저의 정보를 저장한 후 계속되는 웹브라우저의 요청 속에 포함되어 있는 웹 브라우저의 정보와 비교해서 동일한 웹 브라우저로부터 온 요청을 판단할 수 있다. 쿠키란 ? - 쿠키(Cookie)는 상태가 없는 프로토콜을 위해 상태를 지속시키기 위한 방법이다. - 기본적으로 쿠키는 그 쿠키를 생성한 서버에만 전송된다. ..