본문 바로가기

✨ Back-end/JSP10

[JSP] EL (Expression Language) 과 JSTL (Jsp Standard Tag Library) EL이란? EL은 표현을 위한 언어로 JSP 스크립트의 표현식을 대신하여 속성 값을 쉽게 출력하도록 고안된 언어이다. 즉, 표현식 를 대체할 수 있다. EL 표현식에서 도트 연산자 왼쪽은 반드시 java.util.Map 객체 또는 Java Bean 객체여야 한다. EL 표현식에서 도트 연산자 오른쪽은 반드시 맵의 키이거나 Bean 프로퍼티여야 한다. EL 문법 2가지 [ ] 연산자 안의 값이 문자열인 경우, 맵의 키가 될 수도 있고, Bean 프로퍼티나 리스트 및 배열의 인덱스가 될 수 있다. ex) 1 JSTL (JSP Standard Tag library) JSP 페이지 내에서 자바 코드를 바로 사용하지 않고 로직을 내장하는 효율적인 방법을 제공한다. 표준화된 태그 셋을 사용하여 자바 코드가 들락거리.. 2023. 8. 16.
[JSP] 자바빈즈 <jsp:useBean>, getProperty 와 setProperty JSP 자바빈즈란? JSP의 표준 액션 태그로 접근할 수 있는 자바 클래스로서 값을 가지는 속성과 값을 설정하는 메소드, 값을 추출하는 메소드로 이루어져 있다. JSP 자바빈즈를 활용할 때 사용하는 표준 액션 태그 이 액션 태그를 활용해 자바빈즈 객체가 올바르게 사용되려면 자바빈즈 객체가 정해진 조건에 따라 만들어져 있어야한다. 자바빈즈 생성시 지켜야 할 규칙을 JSP 자바빈즈 개발 규약이라고 한다. JSP 자바빈즈 개발 규약 1. 패키지화 - JSP에서 자바빈즈를 사용할 때에는 기본 패키지에 있으면 인식이 안된다. 2. 기본 생성자 존재 - 반드시 기본 생성자가 있어야 한다. 3. 멤버변수의 접근자는 private로 선언 - 외부에서 직접 접근할 수 없도록 private로 선언한다. 자바빈즈 객체의 속.. 2023. 8. 13.
[JSP] 표준 액션 태그 <jsp : forward >와 <jsp : include > 차이 표준 액션 태그란? 미리 정해진 기능들을 JSP 스펙에 명시함으로써 모든 컨테이너가 동일하게 구현하는 태그 모든 JSP 컨테이너에서 기본적으로 제공하기 때문에 기본 액션 태그라고도 불린다. 서블릿에서 RequestDispatcher 객체의 forward() 메소드 기능을 실행한다. 다른 페이지로 이동할 때 사용하는 태그 다른 JSP 페이지의 '실행' 결과를 현재 위치에 삽입 위와 같이 두개의 jsp가 있다. 이 중 첫번 째 있는 jsp를 실행시키면, 'forward 태그' 문구는 출력되지 않고, '이동 후' 가 출력된다. 왜냐하면 같은 디렉터리에 있는 re2.jsp 페이지로 이동한 후 re2.jsp 실행결과가 클라이언트로 응답해서 앞에 있는 jsp에서 출력한 내용을 클라이언트가 받지 못하기 때문이다. 즉.. 2023. 8. 13.
[JSP] 내장 객체 _jspService() 내장 객체란? JSP파일이 자바 소스 파일로 변환되면서 _jspService() 메소드 내에 자동으로 선언 및 초기화되는 변수들 JSP의 내장 객체 변수 이름 객체 이름 설명 request HttpServletRequest 요청정보 처리 객체 response HttpServletResponse 응답정보 처리 객체 session HttpSession 상태정보 유지 객체 application ServletContext 상태정보 유지 객체 config ServletConfig 서블릿정보 추출 객체 out JspWriter 출력 처리 객체 pageContext PageContext JSP 페이지 처리 객체 1. request, response re.jsp에서 위와 같은 form 태그를 만들어 re2.jsp에 i.. 2023. 8. 13.
[JSP] 스크립트 기반 태그 5가지 (스크립트릿, 표현식, 선언문, 지시자, 주석문) JSP 스크립트 기반 태그에는 5가지가 있고, 로 끝난다. 주석문 (comment) 지시자(directive) 스크립트 릿(scriptlet) 표현식(expression) 선언문(declaration) 주석문 말그대로 주석을 처리할 때 이렇게 표현한다. JSP에서는 3가지의 주석문이 있다. 첫번째로 말한 JSP 주석은 이고, HTML의 주석은 , 자바 주석은 // , /* */ 이다. 지시자 지시자는 JSP 컨테이너가 JSP 페이지를 파싱하여 자바 소스로 변환하는 데 필요한 정보를 알려주기 위해 사용된다. 스크립트릿 JSP 페이지가 요청될 때마다 수행되어야 하는 자바 코드를 추가하고자 할 때 사용하는 태그 사이의 코드는 자바 소스로 변환 시 _jspService() 메소드 내로 옮겨진다. 즉, 클래스 멤.. 2023. 8. 13.
[JSP] 기본객체(Page, Request, Session, Application), 서블릿 스코프(Scope) PAGE 영역 하나의 JSP 페이지를 처리할 때 사용되는 영역 한번의 요청을 처리. 하나의 JSP 페이지 내에서 공유될 값을 저장한다. 페이지 내에서 지역변수처럼 사용된다. REQUEST 영역 하나의 HTTP 요청을 처리할 때 사용되는 영역 한번의 요청을 처리하는 데 사용되는 모든 JSP 페이지에서 공유될 값을 저장한다. http 요청을 WAS가 받아 웹 브라우저에게 응답할 때까지 변수가 유지되는 경우 사용된다. SESSION 영역 하나의 웹 브라우저와 관련된 영역 한 사용자와 관련된 정보를 JSP들이 공유하기 위해 사용된다. 웹 브라우저 별로 변수가 관리되는 경우 사용된다. APPLICATION 영역 하나의 웹 어플리케이션과 관련된 영역 모든 사용자와 관련해서 공유할 정보를 저장한다. 웹 어플리케이션이.. 2023. 8. 9.
[JSP] 한글 깨짐 현상 에러 해결하기 작업을 하다보면 위와 같이 한글이 깨지고, 코드가 엉망이 되는 경우가 생길 수 있다. ex) 웹페이지 ????? 출력, 코드 ????변환. 코드소스에서도 EUC-KR 처럼 노란색으로 칠한 부분을 UTF-8로 바꿔주고, 해당 jsp파일 우클릭을 선택해 Properties를 눌러준 후, encoding을 UTF-8로 바꾸어주면 해결된다. 즉, HTML 삽입 미리보기할 수 없는 소스 jsp 파일 맨 위부분을 이걸로 붙여넣기하고, HTML 삽입 미리보기할 수 없는 소스 html head 부분을 이런식으로 수정해주면 해결될 듯하다. 2023. 2. 18.
[JSP] form태그 이용해서 페이지 이동 (2) 이번엔 form태그를 이용해서 배열과 select, option에 대해서 더 알아보았다. HTML 삽입 미리보기할 수 없는 소스 44번째 줄에 있는 select는 택 1을 선택하여 결과값을 나타내주어야 한다. 그리고 옵션에는 반드시, 선택한 value의 값을 정의해 주어야한다. HTML 삽입 미리보기할 수 없는 소스 안의 자바 문법을 보면, 20번째 줄에있는 String[ ] 이라는 배열이 추가되었고, getParmeter에 Values가 추가되어 받아온다. 이처럼 배열은 getParameterValues를 써줘야 하고, for문을 돌려서 해당 hobby값을 받아올 수 있다. 여기까지 아주 오래전에 사용했었던 오징어 다리같은 모양의 코드를 살펴보았다. 현재는 쓰지 않지만, 개발자가되어 일을 하게 되었을 .. 2023. 2. 10.
[JSP] form태그 이용해서 페이지 이동 (1) 기본적으로 다른 페이지로 데이터를 전달하는 방식은 크게 두 가지가 있다. 1. a태그 사용하는 방법 2. form 태그를 사용하는 방법 이번엔 form태그를 이용하여 다른 페이지에 데이터를 전달하는 방식을 공부해보았다. form 태그를 사용할 때에는 반드시 안에 출력할 내용을 위치시켜야 한다. form 태그를 통해 페이지를 이동하면 필요한 데이터를 가져갈 수 있다. 아래 코드를 통해 input으로 받아온 값들을 다른 페이지에 데이터를 전달받는 방법을 구현해보았다. HTML 삽입 미리보기할 수 없는 소스 submit 버튼을 클릭하면 form 태그의 action 속성의 값으로 페이지가 이동하게 된다. form 태그 안에 만들어진 input 태그의 (Value)값을 가져간다. 전달되는 데이터를 구분하는 방법은.. 2023. 2. 10.
[JSP] JSP 기초 - 오징어 문법 - JSP란? JavaServerPage로, HTML 코드에 JAVA 코드를 넣어 동적웹페이지를 생성하는 웹어플리케이션 도구이다. JSP 가 실행되면 자바 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다. 서블릿은 성능좋은 웹프로그램을 효과적으로 개발할 수 있지만, 프로그램 작성이 불편하다는 단점이있다. JSP는 서블릿기술을 바탕으로 ASP처럼 쉽고, 빠르게 원하는 웹응용프로그램을 작성할 수 있다. 장점 JSP는 Servlet보다 쉽고 빠르게 프로그램 작성 JSP화면구성을 위한 HTML부분과 프로그램로직(Logic)을 분리할 수 있다 (프로그래머와 웹디자이너가 협력작업할 수 있다.) 뛰어난 웹컨테이너.. 2023. 2. 10.