자바빈

leeeexxxx·2022년 5월 18일
0

JSP

목록 보기
6/9
post-thumbnail

자바빈
jsp페이지 디자인 부분과 비즈니스 로직 부분을 분리함으로써 복잡한 jsp코드들을 줄이고,프로그램의 재사용성을 증사시킨다.

<JSP에서 자바빈 사용하는법>

✅JAVA파일 만들기

Package: test class: BeanTest
package를 만들고 class파일을 열어 java파일을 작성한다.

package test;

public class BeanTest {
	private String name="자바빈";
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name=name;
	}
}

변수를 생성하고 변수에 값을 저장한다
String 변수이름 ="데이터";

데이터를 은닉 하기 위해서 멤버 변수를 private으로 설정
get()메서드와 set()메서드를 사용해준다.

✅Jsp파일 만들기

1.자바빈 객체를 생성하기 위한 액션태그

🍀<jsp:useBean/>

<jsp:useBean id="빈이름" class="자바빈 클래스 명" scope="사용범위"/>
scope는 영역객체 (request,page,session,application)4종류가 있고 기본값은 page 이다.

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
   <jsp:useBean id="beantest" class="test.BeanTest" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<b>자바빈 use:bean </b>
<h3><%=beantest.getName() %></h3>
</body>
</html>

java파일에 입력한 데이터가 get()으로 전달받아 출력되는것을 볼수있다

🍀<jsp:setProperty/>

자바빈 클래스의 속성값을 설정하기 위한 태그이다. 속성값을 변경해준다.
<jsp:setProperty name="빈이름" property="속성명" value="설정할 속성 값"/>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="beanTest" class="test.BeanTest" scope="page"/>
<jsp:setProperty name="beanTest" property="name" value="BeanTest!"/>    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>setProperty</h1>
<h3><%=beanTest.getName() %></h3>
</body>
</html>

java에서 자바빈 으로 작성한 데이터의 값을 value="BeanTest!"로 바꿀수있다.

파라미터 값 받기

처음 작성한 java파일에있는 데이터를 파라미터로 입력 받는 방법이다.

HTML입력

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>HTML</h1>
<form action="beanTest3.jsp">
	이름:<input type="text" name="name"/>
	<br>
	<input type="submit" value="전송">
</form>
</body>
</html>

JSP파일 작성

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="beanTest" class="test.BeanTest" scope="page"/>
<jsp:setProperty name="beanTest" property="name" param="name"/>  
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>자바빈  파라미터 </h1>
<h3><%=beanTest.getName() %></h3>
</body>
</html>

<jsp:useBean id="beanTest" class="test.BeanTest" scope="page"/>
<jsp:setProperty name="beanTest" property="name" param="name"/>

설정해주고
<h3><%=beanTest.getName() %></h3> 받을 수있다.


💡propery="*"

클라이언트에서 전송되어오는 파라미터 값이 모두 같은 이름의 빈 객체의 속성값으로 자동으로 할당된다.

java파일 생성

class= BeanTest2

package test;

public class BeanTest2 {
	private String name;
	private String addr;
	private String email;
	private String birthday;
	
	public String getName() {
		return name;
	}
	
	public void setName(String name) {
		this.name=name;
	}
	public String getAddr() {
		return addr;
	}
	
	public void setAddr(String addr) {
		this.addr=addr;
	}
	
	public String getEmail() {
		return email;
	}
	
	public void setEmail(String email) {
		this.email=email;
	}
	public String getBirthday() {
		return birthday;
	}
	
	public void setBirthday(String birthday) {
		this.birthday=birthday;
	}
	
		
}

html

클라이언트 페이지를 작성한다.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
	#formArea{
	margin: auto;
	width: 400px;
	border: 1px solid black;
	
	}
	h1,fieldset {
	text-align: center;
	}

</style>
</head>
<body>
<section id="formArea">
	<h1>propery="*" 테스트</h1>
	<form action="beanTest4.jsp" method="post">
		<fieldset>
		<label for="name">이름:</label><input type="text" name="name" id="name"> <br>
		<label for="addr">주소:</label><input type="text" name="addr" id="addr"> <br>
		<label for="email">이메일 주소:</label><input type="text" name="email" id="email"><br>
		<label for="birthday">생년월일:</label><input type="text" name="birthday" id="birthday"><br>
		<br>
		<input type="submit" value="전송">
		</fieldset>	
	</form>
</section>
</body>
</html>

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%
  request.setCharacterEncoding("UTF-8");
 %>
 <jsp:useBean id="beanTest" class="test.BeanTest2" scope="page"/>
<jsp:setProperty name="beanTest" property="*"/>  
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1>자바빈 속성값 출력</h1>
<b>이름:</b> <%=beanTest.getName() %> <br>
<b>주소:</b> <%=beanTest.getAddr() %> <br>
<b>이메일 주소:</b> <%=beanTest.getEmail() %> <br>
<b>생년월일:</b> <%=beanTest.getBirthday() %> <br>
</body>
</html>

전송된 모든 파라미터 값들이 빈객체의 속성 값으로 할당된다.

🍀<jsp:/getProperty/>

자바빈 클래스의 속성값을 가져오기 위한 태그이다.
<jsp:getProperty name="빈이름" property="속성명"/>

jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<jsp:useBean id="beanTest" class="test.BeanTest" scope="page"/>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1><%=beanTest.getName() %></h1>
<h3><jsp:getProperty name="beanTest" property="name"/></h3>
</body>
</html>

처음에 입력한 java파일에서 작성한 데이터가 출력이 된다.
<h1><%=beanTest.getName() %></h1>
✔️✔️<h3><jsp:getProperty name="beanTest" property="name"/></h3>

0개의 댓글