728x90
반응형
자바빈즈 |
|
자바빈즈(DTO, VO = 자바의 데이터 전송객체와 동일) : 데이터를 저장하여 요청하는 곳에 데이터를 전송하는 역할을 하는 데이터 구조체 클래스 - html의 form요소의 name속성, 데이터베이스 테이블의 컬럼명과 일치시켜주는 것이 좋다. |
|
자바빈즈 작성 규칙 - 기본생성자가 있어야 함. - 모든 멤버 변수의 접근 제어자는 private - 모든 멤버 변수에 접근 가능한 public getter, setter메소드가 존재해야 함. |
|
<jsp:useBean> 액션태그 |
|
- 자바빈즈나 빈 객체 or 자바 내장 패키지를 사용하기 위한 태그 - 객체생성 |
|
SYNTAX <jsp:useBean id="객체명 class="경로포함.클래스명" scope="영역"/> id: 객체명이라고 생각하면 된다. class : 경로포함.클래스명까지 기술. 경로의 시작은 대부분 src아래의 package명부터 기술 scope : 범위, 영역을 의미함. 기본값은 page임 |
ex) <jsp:useBean id="person" class="com.test.Person"/> 위의 예시를 자바 코드로 변경하면 -----------.java파일(클래스) ----------- package com test; class Person{} -----------.jsp(파일) ----------- <%@ page import="com.test.Person"%> <% Person person = new Person(); %> -----------.jsp(파일) ----------- 또는 <% com.test.Person person = new com.test.Person(); %> ---------------------- |
scope |
|
-----scope속성의 범위의 값: (객체에 대한 생명주기 설정) page : 해당 페이지가 클라이언트에게 서비스를 제공하는 동안 유효. (생략값 - default) request : 클라이언트의 요청이 처리되는 동안 유효. (요청을 주는 곳에서 요청을 처리하고 응답을 완료하기 전까지 살아있는 객체), parameter들이 request에 먼저 담김 session : 세션이 유지되는 동안 유효. ex)로그인 유지 (해당 도메인에 연결이 된 순간부터 해당 도메인을 영어놓은 전체 브라우저 창이 닫길 동안까지 유효한 객체. 단, 세션객체를 강제로 삭제하는 경우는 제외) application : 웹 어플리케이션이 실행되고 있는 동안 유효.(웹 서버가 꺼지기 전까지 유효) |
파일을 생성 또는 추가하는 우선 순위 |
1. lib파일들 (.jar) : src/main/webapp/WEB-IF/lib 폴더 안에 추가 2. class파일들(.java) : src/main/java => 패키지 필요한 경우는 해당 패키지까지 추가 ㄴ컴파일까지 이루어져야함 3. html, jsp, css, js파일들 4. web.xml에 필요한 코드들 추가 |
08_02_useBean02.jsp
Calculator.java
08_02_useBean02.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <jsp:useBean id="bean" class="com.dao.Calculator"/> <% int m = bean.process(5); out.print("5의 3제곱 : " + m); %> </body> </html>
Calculator.java package com.dao; public class Calculator { public int process(int a) { return a*a*a; } }
08_02_useBean03.jsp
08_02_useBean04.jsp
Person.java
08_02_useBean03.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <jsp:useBean id="person" class="com.dto.Person"/> <%-- <jsp:useBean id="person" class="com.dto.Person" scope="request"/> --%> <p> 아이디 : <%=person.getId() %></p> <p> 이 름 : <%=person.getName() %></p> </body> </html>
08_02_useBean04.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <%-- <jsp:useBean id="person" class="com.dto.Person"/> --%> <jsp:useBean id="person" class="com.dto.Person" scope="request"/> <p> 아이디 : <%=person.getId() %></p><br> <p> 이 름 : <%=person.getName() %></p><hr> <% person.setId(20182005); person.setName("고희동"); %> <p> 아이디 : <%=person.getId() %></p><br> <p> 이 름 : <%=person.getName() %></p><hr> <jsp:include page="08_02_useBean03.jsp"/> </body> </html>
Person.java package com.dto; public class Person { private int id= 20181004; private String name = "개똥이"; public int getId() { return id; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
f<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <jsp:useBean id="memberBean" class="com.dto.MemberBean"/> <!-- property: 멤버 변수명을 의미함 --> <jsp:setProperty name="memberBean" property="id" value="2"/> <%-- <% memberBean.setId(2); %> --%> <%="아이디: " + memberBean.getId()%><br> 이름 : <jsp:getProperty property="name" name="memberBean"/><br> <%-- <% memberBean.getName(); %> --%> </body> </html>
MemberBean.java package com.dto; public class MemberBean { private int id ; private String name ="이루마"; private String[] hobby = new String[3]; // public MemberBean(){} public int getId() { return id; } public String[] getHobby() { return hobby; } public void setHobby(String[] hobby) { this.hobby = hobby; } public void setId(int id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } }
728x90
반응형