๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
JAVA/JSP

[JAVA] JSP JavaBean ์‚ฌ์šฉํ•˜๊ธฐ

by soy๋ฏธ๋‹ˆ 2021. 9. 14.

JavaBean ์„ ์™œ ์‚ฌ์šฉํ• ๊นŒ?

  • JSP ํŒŒ์ผ์€ ๊ฐœ๋ฐœํ•˜๋Š” ๊ณผ์ •์—์„œ ๋””์ž์ด๋„ˆ๊ฐ€ ์ฐธ๊ณ ํ•˜๋Š” ํŒŒ์ผ์ด๊ธฐ ๋•Œ๋ฌธ์— ํ˜ผ๋ž€์„ ์ค„์ด๊ณ ์ž ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด JavaBean์„ ์‚ฌ์šฉํ•ด์„œ ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ฃผ๊ณ ๋ฐ›๋Š”๋‹ค.
  • getter ์™€ setter๋ฅผ ์ •์˜ํ•˜๊ณ  ์ƒ์„ฑํ•ด๋†“์€ ํด๋ž˜์Šค์ด๋‹ค.
// UserBean.java

public class UserBean {
	private String name;
	private String age; 
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAge() {
		return age;
	}
	public void setAge(String age) {
		this.age = age;
	}
	
}

 

// insert.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="Pack.UserBean" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<h1>๊ฒฐ๊ณผ</h1>
	<jsp:useBean id="user" class="Pack.UserBean" scope="page" />
	<jsp:setProperty property="*" name="user"/>
	
	<%
	try{
		out.println("์ด๋ฆ„: " + user.getName() + " ");
		out.println("๋‚˜์ด: " + user.getAge() + " ");
		
	}catch(Exception e){
		e.printStackTrace();
	}
	%>
</body>
</html>
  • scope: ์†์„ฑ ์„ค์ •, JavaBean ๊ฐ์ฒด๋ฅผ ์–ด๋””์—์„œ ์“ธ ๊ฒƒ์ธ๊ฐ€?
  • id: ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ user ๋ผ๊ณ  ํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ
  • setProperty name="user" => user๋กœ ํŒŒ๋ผ๋ฏธํ„ฐ ๋ถˆ๋Ÿฌ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์˜ˆ์ œ

 

index.java

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page import="java.util.*, java.text.*"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<head>
<title>๋ฉ”์ธ ํŽ˜์ด์ง€</title>
</head>
<body>
	<form action="t12">
		<label>์ด๋ฆ„ : </label> <input type="text" name="name" value="ํ˜ธ๋ž‘์ด"><br>
		<label>๋‚˜์ด : </label> <input type="number" name="age" value=10><br>
		<br> <input type="submit" value="Submit">
	</form>
	<br />
</body>
  • form์—์„œ name๊ณผ age๋ฅผ submit ํ•˜๋ฉด java bean ์— ๊ฐ’์ด ์ €์žฅ๋œ๋‹ค.

 

People.java

package Pack01;

@Controller  //์ปจํŠธ๋กค๋Ÿฌ ์–ด๋…ธํ…Œ์ด์…˜ ๊ผญ ๋ถ™์—ฌ์•ผ ํ•จ
class Dog {
	@RequestMapping("/t12")
	public String method12(Person p) {
		p.getName();
		p.getAge();
		System.out.println("ํ•จ์ˆ˜ ์ฝœ12 "+p.getName() + " " + p.getAge()); 
		return "PersonView"; //๋‚ด๊ฐ€ ๊ฐˆ JSP ํŒŒ์ผ ๋ช… ์ ์–ด์ฃผ๋ฉด ๋œ๋‹ค.
	}
	
}
  • Person ๊ฐ์ฒด๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๋ฐ›์•„์„œ name, age ๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ

 

PersonView.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
	<%@ page import="Pack01.Person"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<jsp:useBean id="person" class="Pack01.Person" scope="page" />
	<jsp:setProperty property="*" name="person" />
	<%=person.getName()%>
	<%=person.getAge() %>
</body>
</html>
  • Person ์ž๋ฐ”๋นˆ ๊ฐ์ฒด๋ฅผ person ์ด๋ผ๊ณ  ์นญํ•˜๊ณ  ๊ฐ์ฒด ์ƒ์„ฑํ•ด์„œ ๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ
  • Person person = new Person() ๊ณผ ๋™์ผ

 

Person.java (Java Bean)

package Pack01;

public class Person {
	private String name;
	private int age; 
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}
  • ์ž๋ฐ”๋นˆ ํด๋ž˜์Šค : getter, setter

๋Œ“๊ธ€