'2020/JSP SERVLET'에 해당되는 글 130건

has-a 관계 빈

2020/JSP SERVLET 2019. 12. 19. 13:47
반응형

  표현언어에서 has-a 관계를 가지는 빈의 자식 빈 속성에 접근하는 방법을 알아보도록 하겠습니다.

  객체가 다른 객체를 속성으로 가지는 경우를 has-a관계라고 합니다. 사용 형식은 다음과 같이 '속성 이름'과 .(마침표) 연산자로 자식 속성에 접근하면 됩니다.

 

${부모빈이름.자식속성이름.속성이름}

 

    우선 새로운 패키지(sec01.ex02)를 만들고 MemberBean 클래스와 Address 클래스를 준비하겠습니다.

  MemberBean 클래스에는 회원의 주소를 저장하는 Address클래스 타입으로 선언된 addr을 속성으로 가집니다. 이처럼 속성으로 다른 자바 빈을 가지는 경우를 has-a 관계라고 합니다.

MemberBean
MemberBean

다음으로 회원의 거주 도시와 우편번호를 저장하는 자식 클래스 Address를 작성합니다.

  기존에 만들었던 memberForm.jsp의 action을 member6.jsp로 수정하겠습니다.

  이제 member6.jsp를 작성해보겠습니다.

member6.jsp

  1번에서는 표현식을 이용해 getter를 두 번 호출해서 표시했는데 약간 불편합니다. 반면에 2번에서는 빈 이름만을 이용해 .(마침표) 연산자로 주소 정보를 표시했습니다.

출력창에서 has-a 관계의 속성 값인 주소 정보를 출력합니다.

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

EL SCOPE 우선순위  (0) 2019.12.20
표현 언어(EL)로 바인딩 속성 출력  (0) 2019.12.19
JSP EL HashMap  (0) 2019.12.19
EL Collection 객체 사용  (0) 2019.12.18
EL에서 빈(bean) 사용  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,

JSP EL HashMap

2020/JSP SERVLET 2019. 12. 19. 10:25
반응형

  이번에는 자바 HashMap에 저장된 객체에 접근해 보겠습니다.

  전송된 회원 정보를 첫 번째 빈 m1속성에 설정하고 <useBean> 태그를 이용해 HashMap객체인 membersMap을 생성하고 membersMap에 회원 정보를 key/value로 저장합니다. memberMap에 ArrayList를 저장한 다음 membersMap에 key로 접근하여 value를 출력하겠습니다.

 

member5.jsp
member5.jsp
memberForm.jsp

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

표현 언어(EL)로 바인딩 속성 출력  (0) 2019.12.19
has-a 관계 빈  (0) 2019.12.19
EL Collection 객체 사용  (0) 2019.12.18
EL에서 빈(bean) 사용  (0) 2019.12.18
pageContext 객체  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,
반응형

  표현 언어에서 Collection 객체에 접근하는 방법을 알아보겠습니다. Collection 객체에 접근할 때는 다음과 같은 형식을 사용합니다.

${Collection객체이름[index].속성이름}

여기서 index는 Collection에 저장된 순서를 의미합니다.

 

  Collection 객체 중 가장 많이 사용되는 ArrayList에 회원 정보 빈을 저장한 후 다시 출력해 보겠습니다.

memberForm.jsp
member4.jsp

 

ArrayList에 저장된 정보를 출력하였습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

has-a 관계 빈  (0) 2019.12.19
JSP EL HashMap  (0) 2019.12.19
EL에서 빈(bean) 사용  (0) 2019.12.18
pageContext 객체  (0) 2019.12.18
requestScope 사용  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,
반응형

  표현 언어에서 빈 속성에 접근하는 방법을 알아보겠습니다. 반의 속성에 접근할 때는 다음과 같은 형식을 사용합니다.

 

${빈이름.속성이름}

 

그럼 빈에 회원 정보를 저장한 후 표현 언어를 이용해 빈의 회원 정보를 출력해 보겠습니다.

  우선 앞에서 사용했던 memberForm.jsp의 action 값을 member3.jsp로 수정하겠습니다.

  표현 언어에서는 getter를 사용하지 않고, 바로 빈 id 다음에 .(마침표) 연산자를 사용하여 속성에 바로 접근할 수 있습니다.

memberForm.jsp
member3.jsp

  이처럼 표현 언어에서는 자바 코드를 사용하지 않고 바로 빈 id로 속성에 접근해 값을 출력할 수 있습니다.

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

JSP EL HashMap  (0) 2019.12.19
EL Collection 객체 사용  (0) 2019.12.18
pageContext 객체  (0) 2019.12.18
requestScope 사용  (0) 2019.12.18
param 내장 객체  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,

pageContext 객체

2020/JSP SERVLET 2019. 12. 18. 19:24
반응형

  pageContext 객체는 javax.servlet.jsp.PageContext 클래스를 상속해 웹 컨테이너가 JSP 실행시 자동으로 생성해서 제공하는 내장 객체 입니다. 이번에는 pageContext 객체의 편리한 기능을 사용해 보겠습니다.

 

<a> 태그를 이용해 다른 서블릿이나 JSP를 요청하는 방법은 2가지 입니다.

  • <a href="/패키지/소패키지/가입폼.jsp">회원 가입하기 </a>
  • <a href="<%=request.getContextPath() %>/소패키지/memberForm.jsp"> 회원 가입하기</a>

  그런데 첫번째 방법은 컨텍스트 이름(대 패키지)이 바뀌면 일일이 찾아서 수정해야 한다는 단점이 있고, 두번째 방법은 자바 코드가 사용되므로 화면 자겁이 복잡해 진다는 단점이 있습니다. 그러나 pageContext 객체의 속성인 request의 contextPath 속성을 이용하면 쉽게 컨텍스트 이름을 가져올 수 있습니다.

  코드를 작성해 보겠습니다.

login.jsp

출력해 보겠습니다.

memberForm.jsp

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

EL Collection 객체 사용  (0) 2019.12.18
EL에서 빈(bean) 사용  (0) 2019.12.18
requestScope 사용  (0) 2019.12.18
param 내장 객체  (0) 2019.12.18
표현 언어(EL) 내장 객체(내장 변수)  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,
반응형

  request 객체와 동일한 기능을 하는 requestScope를 사용해 보겠습니다.

  우선 이 전에 사용하였던 memberForm.jsp의 action 속성을 forward.jsp로 수정하고 회원 정보를 입력한 후 forward.jsp로 전송합니다.

   회원 가입창의 request객체에 setAttribute() 메서드를 이용해 address를 바인딩한 후 다시 member2.jsp로 포워딩 합니다.

forward.jsp
member2.jsp

이제 출력을 해보겠습니다.

  requestScope를 이용하면 request 객체에 바인딩된 데이터에 접근할 수 있습니다. 마찬가지로 session이나 application 객체에 바인딩된 데이터는 sessionScope나 applicationScope로 접근할 수 있습니다.

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

EL에서 빈(bean) 사용  (0) 2019.12.18
pageContext 객체  (0) 2019.12.18
param 내장 객체  (0) 2019.12.18
표현 언어(EL) 내장 객체(내장 변수)  (0) 2019.12.18
표언 언어(el) empty 연산자  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,
반응형

  회원 가입창에서 회원정보를 입력하고 JSP로 전송하면 getParameter() 메서드를 이용하지 않고 param 내장 객체를 이용해 전송된 회원 정보를 출력해 보겠습니다.

memberForm.jsp

  다음으로 전송된 회원 정보를 getParamter()메서드를 이용해 출력합니다. 두번째 방법은 param 내장객체를 이용해 전송된 매개변수 이름으로 바로 회원 정보를 출력합니다.

member1.jsp

출력해 보겠습니다.

 

  실행결과를 보면 회원 정보가 두 번 출력된 것을 알 수 있습니다. 첫번째 회원 정보는 getParameter() 메서드로 가져온 후 출력한 것이고, 두 번째 회원 정보는 param 내장 객체로 출력한 결과입니다.

  따라서 param 내장객체를 사용하면 굳이 전송된 매개변수를 getParameter() 메서드를 이용하지 않고 바로 매개변수 이름으로 접근해서 값을 얻을 수 있습니다.

 

깃허브

https://github.com/soulwine-it/EL-JSTL

 

soulwine-it/EL-JSTL

Contribute to soulwine-it/EL-JSTL development by creating an account on GitHub.

github.com

 

반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

pageContext 객체  (0) 2019.12.18
requestScope 사용  (0) 2019.12.18
표현 언어(EL) 내장 객체(내장 변수)  (0) 2019.12.18
표언 언어(el) empty 연산자  (0) 2019.12.18
표현 언어의 논리 연산자  (0) 2019.12.18
블로그 이미지

꽃꽂이하는개발자

,
반응형

  JSP는 기본적으로 내장 객체들을 제공하지만 이 객체들은 표현식에서만 사용할 수 있습니다. 따라서 표현 언어에서는 따로 내장 객체들을 제공합니다. 표현 언어에서 제공하는 내장 객체들은 %{}안에서만 사용할 수 있습니다.

구분 내장 객체 설명
스코프 pageScope JSP의 page와 같은 기능을 하고 page 영역에 바인딩된 객체를 참조
requestScope JSP의 request와 같은 기능을 하고 request에 바인딩된 객체를 참조
sessionScope JSP의 session과 같은 기능을 하고 session에 바인딩된 객체를 참조
applicationScope JSP의 application과 같은 기능을 하고 application에 바인디된 객체를 참조
요청 매개변수 param request.getParameter() 메서드를 호출한 것과 같으며 한 개의 값을 전달하는 요청 매개 변수를 처리
paramValues request.getParameterValues() 메서드를 호출한 것과 같으며 여러 개의 값을 전달하는 요청 매개변수를 처리
헤더 값 header request.getHeader() 메서드를 호출한 것과 같으며 요청 헤더 이름의 정보를 단일 값으로 반환
headerValues request.getHeader() 메서드를 호출한 것과 같으며 요청 헤더 이름의 정보를 배열로 반환
쿠키 값 Cookies 쿠키 이름의 값을 반환
JSP 내용 pageContext pageContext 객체를 참조할 때 사용합니다.
초기 매개변수 initParam 컨텍스트의 초기화 매개변수 이름의 값을 반환합니다.
반응형

'2020 > JSP SERVLET' 카테고리의 다른 글

requestScope 사용  (0) 2019.12.18
param 내장 객체  (0) 2019.12.18
표언 언어(el) empty 연산자  (0) 2019.12.18
표현 언어의 논리 연산자  (0) 2019.12.18
표현 언어의 비교 연산  (0) 2019.12.17
블로그 이미지

꽃꽂이하는개발자

,