IT 연구소

자바예제 수정하며 jsp액션 공부하기

ron_nie 2023. 9. 5. 21:24
728x90
<jsp:useBean id="login" type="test.jdbc.Board" scope="session" />

Board라는 클래스 인스턴스를 login이라는 변수에 담고 만약 해당 객체가 없을 경우 생성해줄듯 그 생명 주기는 session임

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ page
	import="test.jdbc.*, java.util.Date"%>
<jsp:useBean id="db" class="test.jdbc.BoardDAO" scope="application" />
<jsp:useBean id="board" class="test.jdbc.Board" scope="page" />
<jsp:setProperty property="*" name="board" />
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>action.jsp</title>
</head>
<body>
	<%
	// 1. 웹데이터(request)를 자바 문자열로 가져옴
	String id = request.getParameter("id");
	String pwd = request.getParameter("pwd");
	System.out.println(id + "\n" + pwd + "\n");

	// 2. 웹 명령(login action)을 실행
	board = db.select(board);
	System.out.println("select :: " + board); // select한 board가 존재하면 해당 board 객체가 출력. 존재하지 않으면 null
	session.setAttribute("login", board); //<jsp:useBean ...scope="session" />
	%>
	<jsp:forward page="loginForm.jsp"></jsp:forward>
	
</body>
</html>

BoardDAO라는 클래스 인스턴스를 db라는 변수 통해서 만들고 생명주기는 application임 왜 만들었냐면 BoardDAO클래스 안에 crud 메소드 들이 들어있어서 db.select 하려면 만들어야 할듯

Board클래스도 똑같이 인스턴스 생성함

그렇게 폼으로 받아온 정보(파라미터)들을 property="*" 이용해서 각각 프로퍼티에 넣어줄듯

반응형