IT 공부/JSP

JavaBean 1

toraa 2022. 7. 29. 15:15

JavaBean

 . 자바클래스를 하나의 컴포넌트화 하여 사용
 . useBean : 자바빈즈의 생성된 객체를 사용하기 위한 액션태그
 . setProperty : 자바빈즈의 필드값을 설정하기 위한 액션태그

 

- id : 페이지 내의 자바빈즈를 구별하기 위한 식별자
- class : 페이지에서 사용하려는 자바빈즈
- scope : 자바빈즈 객체의 유효범위 (사용범위)


jsp1.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>
	<form action="jsp2.jsp" method="post" enctype="application/x-www-form-urlencoded">
		서버로 전송할 값: <input type="text" name="msg"><br><br>
		<input type="submit" value="전송">&nbsp;&nbsp;
		<input type="reset" value="취소">
	</form>

</body>
</html>

Echo.java

source - generate getter & setter

package myecho;

public class Echo {
	
	private String msg = "";

	public String getMsg() {
		return msg;
	}

	public void setMsg(String msg) {
		this.msg = msg;
	}
	
	
}

jsp2

<%@ 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>
<%
	request.setCharacterEncoding("utf-8");
%>
<body>
	<jsp:useBean id="me" class="myecho.Echo" scope="page"></jsp:useBean>
	<jsp:setProperty property="msg" name="me"/> 
												
	<% out.print("Echo클래스의 msg: "+me.getMsg()+"<br>"); %>									
</body>
</html>

Library.java

package myecho;

public class Library {
	
	private String title;	
	private String name;
	private String content;
	
	public String getTitle() {
		return title;
	}
	public void setTitle(String title) {
		this.title = title;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}

	
}

jsp3.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<form action="jsp4.jsp" method="get">
		제 목 : <input type="text" name="title" required><p>
		이 름 : <input type="text" name="name" required><p>
		내 용 : <input type="text" name="content" required><br><br>
		<input type="submit" value="등록">	
	</form>
</body>
</html>

jsp4.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="book" class="myecho.Library" scope="request"></jsp:useBean>
	<jsp:setProperty property="title" name="book"/>
	<jsp:setProperty property="name" name="book"/>
	<jsp:setProperty property="content" name="book"/>
	
	<jsp:forward page="jsp5.jsp"></jsp:forward>
</body>
</html>

jsp5.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="book" class="myecho.Library" scope="request"></jsp:useBean>
	
	<h2>도서관리</h2>
		제 목 : <jsp:getProperty property="title" name="book"/><br>
		작 자 : <jsp:getProperty property="name" name="book"/><br>
		내 용 : <jsp:getProperty property="content" name="book"/>
</body>
</html>