반응형

나누기 연산을 하려면 div, 나머지 연산을 하시려면 mod를 사용하면 됩니다.

출력해 보겠습니다.

표현언어에서 나누기 연산 시 나누어지지 않으면 소수점 이하까지 표시됩니다!

 

반응형
블로그 이미지

꽃꽂이하는개발자

,

표현언어

2020/JSP SERVLET 2019. 12. 17. 21:00
반응형

 

  초기에는 HTML 태그를 중심으로 자바를 이용해 화면을 구현했으나 화면에 대한 요구 사항이 복잡해ㅣ면서 자바 코드를 대체하는 액션 태그가 등장했습니다. 이어서 JSP2.0에서는 페이지 안에서 복잡한 자바 코드를 제거하는 쪽으로 발전했습니다. 디자이너 입장에서는 JSP페이지 안에 복잡한 자바 코드가 있으면 화면 작업을 하기가 어려웠기 때문입니다. 그리고 현재 JSP페이지는 스크립트 요소보다는 표현언어(EL, Expression Language)와 JSTL(JSP Standard Tag Library, JSP 표준 태그 라이브러리)을 사용해서 구현합니다.

 

JSP 페이지에서 표현식을 이용한 값 출력

표현언어의 특징?

  • 기존 표현식보다 편리하게 값을 출력합니다.
  • 변수와 여러 가지 연산자를 포함할 수 있습니다.
  • JSP의 내장 객체에 저장된 속성 및 자바의 빈 속성도 표현 언어에서 출력할 수 있습니다.
  • 표현 언어 자체 내장 객체도 제공됩니다.
  • JSP페이지 생성 시 기본설저은 표현언어를 사용할 수 없습니다.
  • 페이지 디렉티브 태그에서는 반드시 isELIgnored=false로 설정해야 합니다.
  • 표현 언어의 형식 ${표현식 or 값}

JSP에서 간단하게 표헌언어를 사용해 데이터를 출력해 보겠습니다.

elTest1.jsp

 

출력화면

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

우선 <jsp:setProperty> 액션 태그와 <jsp:getProperty>액션 태그를 사용하는 방법을 표로 알아보겠습니다.

이름 정의 형식
setProperty useBean의 속성에 값을 설정한느 태그

<jsp:setProperty name="자바 빈 이름" property="속성 이름" value="값" />

-name:<jsp:useBean> 액션 태그의 id속성에 지정한 이름

-value:속성에 설정할 속성 값

getProperty useBean의 속성 값을 얻는 태그

<jsp:getProperty name="자바 빈 이름" property="속성 이름" />

- name:<jsp:useBean>액션 태그의 id속성에 지정한 이름

- property: 값을 얻을 속성 이름

  이번에는 자바의 setter를 사용하지 않고 빈 속성을 설정해 보겠습니다.

member3~7.jsp 를 만들어 보겠습니다.

 

  member3.jsp에서 <jsp:useBean> 액션 태그로 생성된 빈에 대해 <jsp:setProperty> 액션 태그를 이용해 비의 속성을 설정합니다. 이번에는 회원 가입창에서 전송한 회원정보를 자바 코드, 즉 setter를 사용해 일일이 설정하지 않았다는 것이 큰 차이입니다.

member3.jsp
member3.jsp

  실행 결과는 자바 빈을 사용했을때와 같습니다.

  member4.jsp는 <jsp:setProperty> 액션 태그의 param속성을 이용해 회원 가입창에서 전달된 매개변수 이름으로 해당 useBean의 속성에 자동으로 값을 설정합니다.

member4.jsp

 

  member5.jsp를 다음과 같이 작성합니다. <jsp:setProperty> 액션 테그에 param 속성을 생략하고 property 속성 이름만 지정하면 회원 가입창에서 전달받은 매개 변수 중 같은 매개변수 값을 자동으로 설정해 줍니다.

member5.jsp

 

  head 아래 내용은 member4.jsp와 같기 때문에 직접 손코딩 하시는 분들은 member4를 참조하시면 좋습니다.

  member6.jsp를 다음과 같이 작성합니다. <jsp:setProperty> 액션 태그의 property 속성에 *를 지정하면 JSP페이지에서 자동으로 매개변수 이름과 속성 이름을 비교한 후 같은 이름의 속성 이름에 전달된 값을 알아서 설정해 줍니다. 따라서 JSP나 HTML 페이지에서 전달된 데이터를 처리할 때 미리 매개변수 이름과 속성 이름을 동일하게 설정하여 편리하게 사용할 수 있습니다.

member6.jsp

 

  member6.jsp의 화면 아래는 지금껏 코딩했던 것과 동일하여 생략하였습니다.

 

마지막으로 member7.jsp를 작성하겠습니다.

  회원 가입창에서 전달받은 회원 정보를 일단 <jsp:setProperty> 액션 태그를 이용해 useBean 속성에 저장한 후 <jsp:getProperty> 액션 태그를 이용해 useBean의 속성에 접근하여 값을 출력합니다.

 

참조 : 자바웹을 다루는 기술

github: https://github.com/soulwine-it/JSP_actionTag

반응형

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

표현언어(EL) 산술 연산  (0) 2019.12.17
표현언어  (0) 2019.12.17
유즈빈 액션 태그로 회원 정보 조회  (0) 2019.12.17
자바 빈을 이용한 회원 정보 조회  (0) 2019.12.16
Foward action tag  (0) 2019.12.16
블로그 이미지

꽃꽂이하는개발자

,
반응형

Error code - ORA-00001 : 유일성 제약조건에 위배됩니다 (unique constraint violated)

 

Solution : UK, IK, PK, FK와 같이 테이블에 단 하나만 존재해야하는 key를 중복해서 넣을때 발생하는
에러이므로 db에 insert되는 데이터를 점검해서 key값이 중복되지 않게 해야 합니다.



출처: https://kdarkdev.tistory.com/10

반응형
블로그 이미지

꽃꽂이하는개발자

,
반응형

  전 편에서는 자바 빈을 사용해 회원 추가와 조회를 어떻게 하는지 해보았습니다.

  그런데 이처럼 자바코드로 이루어진 자바 빈을 자주 사용할 경우 화면이 복잡해진다는 단점이 있습니다. 이러한 단점을 보완하기 위해 나온 것이 유즈빈 액션 태그입니다.

  유즈빈 액션 태그는 JSP 페이지에서 자바 빈을 대체하기 위한 태그로, 사용 형식은 다음과 같습니다.

  <jsp:useBean id="빈 이름" class="패키지 이름을 포함한 자바 빈 클래스 [scope="접근범위"] />

이제 실습하겠습니다.

member2.jsp
member2.jsp

 

나머지 MemberBean 파일과 MemberDAO파일, memberForm.html 파일은 앞의 자바 빈할때 사용했던 파일로 대체하겠습니다.

 

반응형

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

표현언어  (0) 2019.12.17
setProperty/getProperty 액션 태그로 회원 정보 조회  (0) 2019.12.17
자바 빈을 이용한 회원 정보 조회  (0) 2019.12.16
Foward action tag  (0) 2019.12.16
include action tag  (0) 2019.12.16
블로그 이미지

꽃꽂이하는개발자

,
반응형

  자바 빈은 웹 프로그램, 즉 java EE 프로그래밍 시 여러 객체를 거치면서 만들어지는 데이터를 저장하거나 전달하는 데 사용한다. 자바의 DTO클래스, VO클래스와 같은 개념이라 할 수 있다.

  자바 빈의 특징은

  •  속성의 접근 제한자는 private
  • 각 속성(attribute, property)은 각각의 setter/getter를 가진다.
  • setter/getter 이름의 첫 글자는 반드시 소문자
  • 인자 없는 생성자를 반드시 가지며 다른 생성자도 추가할 수 있다.

  그럼 자바 빈을 이용해 회원 테이블의 회원 정보를 조회한 후 출력해 보겠습니다.

 

  sec01.ex01 패키지 생성 후 MemberBean, MemberDAO 클래스를 추가 합니다. 그리고 member.jsp 파일과 memberForm.html을 생성하겠습니다.

 

 

  # 오라클 회원테이블을 만들어주세요^^

 

회원 테이블을 참고해 MemberBean 클래스를 작성합니다. MemberBean 클래스의 속성은 회원 테이블의 각 컬럼 이름을 그대로 사용하며 자료형도 컬럼 이름의 자료형과 동일하게 선언합니다.

 

  회원 가입창에서 회원 정보를 입력한 후 member.jsp로 전송하도록 memberForm.html을 작성하겠습니다.

 

 

  전송된 회원 정보를 getParameter() 메서드를 이용해 가져온 후 MemberBean 객체를 생성하여 각 회원 정보를 속성에 설정합니다. 그런 다음 MemberDAO의 addMember() 메서드를 호출해 인자로 전달합니다. 새 회원을 추가한 후에는 다시 MemberDAO의 listMembers() 메서드를 호출해 모든 회원 정보를 조회하고 목록으로 출력합니다.

 

  addMember() 메서드 호출 시 MemberBean 객체로 전달된 회원 정보를 getter를 이용해 가져온 후 insert문을 이용해 추가합니다.

 

고생 많으셨습니다!

이제 우리가 열심히 코딩한 결실을 맺어보도록 하겠습니다

실행해 주세요.

가입을 하면 전체 목록이 출력되네요.!!

 

출처: 자바웹을 다루는 기술

github: github.com/soulwine-it

 

반응형

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

setProperty/getProperty 액션 태그로 회원 정보 조회  (0) 2019.12.17
유즈빈 액션 태그로 회원 정보 조회  (0) 2019.12.17
Foward action tag  (0) 2019.12.16
include action tag  (0) 2019.12.16
JSP의 여러가지 액션 태그  (0) 2019.12.16
블로그 이미지

꽃꽂이하는개발자

,

Foward action tag

2020/JSP SERVLET 2019. 12. 16. 18:44
반응형

  서블릿에서 다른 서블릿으로 포워딩하는 방법은 RequestDispatcher를 이용하는 방법이 있습니다.

  하지만 포워드 액션 태그를 사용하면 자바 코드 없이도 포워딩할 수 있습니다. 또한 포워딩 시 다른 서블릿이나 JSP로 값을 전달할 수도 있습니다.

<jsp:forward page="포워딩할 JSP 페이지">

</jsp:forward page>

  화면 작성을 통해 직접 해보겠습니다.

메인 화면에서 아이디와 비밀번호를 입력받아 result.jsp로 보내주겠습니다.

  ID를 입력하지 않은 경우 자바의 RequestDispatcher를 사용하지 않고 포워드 애션 태그를 사용해 다시 로그인창으로 이동하도록 result.jsp를 작성합니다.

  로그인 해보죠!

아이디와 비밀번호를 입력하지 않으면?

다시  login.jsp 의 화면이 뜨도록 합니다. 

그런데 로그인 하지도 않았는데 처음부터 아이디를 입력하지 않았다고 뜨면? 문제가 되죠.

그래서 오류시에만 오류 메시지를 나타나게 하는 것이 유리합니다.

이러한 과정을 <jsp:forward>태그 안에 param액션 태그를 이용해 처리해 보겠습니다.

login2.jsp
result2.jsp

그러면 오류시에만 아이디를 입력하라고 출력됩니다.

반응형
블로그 이미지

꽃꽂이하는개발자

,

include action tag

2020/JSP SERVLET 2019. 12. 16. 16:44
반응형

'

WebContent에 image폴더를 만들어 주고 원하는 사진 2장을 넣어 줍니다.

그리고 WebContent에 jsp파일 3개를 만들어 주었습니다.

 

  1. 자식 JSP에 해당하는 park_image.jsp를 다음과 같이 작성합니다. 부모 JSP에서 포함 요청시 전달되는 이름과 이미지 파일을 getParameter() 메서드를 이용해 가져온 후 이름과 해당 이미지를 출력합니다.

 

park_image.jsp

 

  부모 JSP인 include1.jsp를 다음과 같이 작성합니다. <jsp:include> 태그의 page 속성에 포함할 자식 JSP인 duke_image.jsp를 지정합니다. 그리고 <jsp:param> 태그<param 액션 태그>를 이용해 이름과 이미지 파일 이름을 동적으로 자식 JSP인 park_image.jsp로 포워딩합니다.

include1.jsp

  이번에는 다른 부모 JSP인 include2.jsp를 다음과 같이 작성합니다. 자식 JSP로 다른 이름과 이미지 파일 이름을 전달합니다.

include2.jsp

 

  브라우저에서 JSP파일을 요청하면 각각 다른 이미지와 이름이 출력하게 됩니다.

include1.jsp

 

이처럼 인클루드 액션 태그는 포함되는 자식 JSP에 데이터를 동적으로 전달해서 원하는 결과를 출력할 수 있습니다.

 

반응형

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

자바 빈을 이용한 회원 정보 조회  (0) 2019.12.16
Foward action tag  (0) 2019.12.16
JSP의 여러가지 액션 태그  (0) 2019.12.16
스크립트 회원정보 조회하기  (0) 2019.12.16
JSP welcome 파일 지정하기  (0) 2019.12.16
블로그 이미지

꽃꽂이하는개발자

,