Data Scientist 옌

매일 발전하는 IT문제해결사

국비지원교육 (22.01-22.07)/강의노트

22-05-09(월) 070일차 [Oracle, Spring Framework] 스프링에서 데이터 주고받기

옌炎 2022. 6. 17. 12:44
728x90

수업내용


1교시 (09:30-10:20)

  • [교재 186p] GROUP BY
-- GROUP BY를 사용하여 부서별 평균 급여 출력하기
SELECT AVG(SAL), DEPTNO
FROM EMP
GROUP BY DEPTNO;

SELECT JOB FROM EMP;
SELECT DEPTNO FROM EMP;

SELECT DEPTNO FROM EMP GROUP BY DEPTNO;

SELECT JOB FROM EMP GROUP BY JOB;

SELECT DISTINCT JOB FROM EMP;

SELECT * FROM EMP;
SELECT * FROM DEPT;

-- JOIN을 이용해서 부서번호의 부서명 출력하기
SELECT E.*, D.DNAME
FROM EMP E
JOIN DEPT D ON D.DEPTNO = E.DEPTNO;

2교시 (10:30-11:20)

  • GROUP BY
-- JOIN을 이용해서 부서번호의 부서명 출력하기
SELECT A.DEPTNO, B.DEPTNO, B.DNAME
FROM EMP A, DEPT B
WHERE A.DEPTNO = B.DEPTNO
GROUP BY A.DEPTNO, B.DEPTNO, B.DNAME;

SELECT A.DEPTNP, B.DEPTNP, B.DNAME
FROM EMP A, DEPTNO B
WHERE A.DEPTNO(+) = B.DEPTNO
GROUP BY A.DEPTNO, B.DEPTNO, B.DNAME;

SELECT A.DEPTNO, B.DEPTNO, B.DNAME, AVG(A.SAL)
FROM EMP A, DEPT B
WHERE A.DEPTNO(+) = B.DEPTNO
GROUP BY A.DEPTNO, B.DEPTNO, B.DNAME;

SELECT A.DEPTNO, B.DEPTNO, B.DNAME, AVG(A.SAL)
FROM EMP A, DEPT B
WHERE A.DEPTNO(+) = B.DEPTNO
GROUP BY A.DEPTNO, B.DEPTNO, B.DNAME
ORDER BY A.DEPTNO, A.JOB;

-- 사원 테이블에 있는 직책의 종류
SELECT JOB FROM EMP GROUP BY JOB;
SELECT DISTINCT JOB FROM EMP;

3교시 (11:30-12:20)

스프링 웹 MVC 요청 처리 절차 복습
tomcat 스타트
--------------------------
1. server.xml
<Connecter

port="8088" : 클라이언트에서 웹 서버로 접속하는 포트

// URIEncoding 속성은 개발자가 추가한 것임
URIEncoding="UTF-8" : request (요청) 스트림에서 header에 들어오는(GET 방식) 문자 중 일부를 UTF-8로 인코딩하세요.

<Context docBase="kosSpring" path="/kosSpring"

2. web.xml
<session-timeout>30</session-timeout>
MIME Type

3. context.xml
<Resource name="jdbc/jndi_orclKSY00"
jdbc : JNDI 서비스의 JDBC를 연결하는 설정 파일의 메타 데이터 이름
jdbc/XXX : XXX <-- SID 이름
jdbc/XXX <-- 데이터 소스 이름
java:comp/env/jdbc <-- JNDI 서비스에서 JDBC 서비스를 하겠다는 메타데이터 이름
java:comp/env/jdbc/SID

4. Context/WEB-INF/web.xml
2번에 있는 web.xml : web.xml이 있는 해당 WAS 서버의 모든 Context에 적용되는 환경 설정 파일
4번에 있는 web.xml : web.xml이 있는 해당 Context에만 적용되는 환경설정 파일

4.1 웰컴 파일
4.2 디스패처 서블릿
4.3 url-pattern
4.4 spring-servlet.xml 스프링 프레임워크 환경 설정 파일 불러오기
4.5 <session-timeout>30</session-timeout>
4.6 한글 인코딩 : POST 방식으로 들어오는 스트림 UTF-8
4.7 log4j.xml 불러오기

5. Context/WEB-INF/spring-servlet.xml

5.1 <mvc:annotation-driven />
사용자 정의 콘트롤러를 찾고, 클라이언트에서 가져온 데이터를 넘긴다

5.2 <context:component-scan based-package="a.b.c.com.**" />
a.b.c.com 패키지 하위에 있는 패키지의 클래스들
@Controller
사용자정의 콘트롤러 클래스
@Service
@Transactional
서비스 인터페이스, 서비스 구현체 클래스
@Repository
다오 인터페이스, 다오 구현체 클래스를 메모리에 올리기

5.3 <property name="prefix" value="/WEB-INF/views/" />
<property name="suffix" value=".jsp" />
콘트롤러에서 abc를 호출하면 /WEB-INF/views/abc.jsp를 호출합니다.
머리말 꼬리말 지정
뷰리졸빙

  • [Spring3.pdf 82p~] 컨트롤러 반환 타입
    • ModelAndView
    • Model, Map, ModelMap : String 빈환 타입으로 선언된 구현 메서드에서 뷰에 데이터만을 전달하는 개체들이다. Map에는 put() 메서드로 설정하고, Model과 ModelMap은 addAttribute() 메서드로 파라미터를 설정할 수 있다.
    • String
    • View: 다운도르 등에 사용
    • void

4교시 (12:30-13:20)

  • spring

Spring Web MVC

                               핸들러 매핑
                               1. url-pattern
                              2. form 태그에 있는 name 속성 데이터 전달

화면 ----------------> 프론트 콘트롤러(DispatcherServlet) ----------------> 사용자정의 콘트롤러(@Controller) MemberVO mvo;

<form> <input type="text" request.getParameter("mid") name="mid" String mid; mvo.getMid();

화면 <---------------- 프론트 콘트롤러(DispatcherServlet) <--- model ----- 사용자정의 콘트롤러(@Controller) | | | | model m view <-------- view resolving m.addAttribute(key, value); ${key}

  • index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
        
        $(document).ready(function(){
            // alert("ready >>> : ");

            // GET 방식
            $(document).on("click", "#getbtn", function(){
                alert("getbtn >>> : 진입");

                $("#methodForm").attr({
                    "action":"spring_hello_get.ksy",
                    "method":"GET",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });

            // POST 방식
            $(document).on("click", "#postbtn", function(){
                alert("postbtn >>> : 진입");

                $("#methodForm").attr({
                    "action":"spring_hello_post.ksy",
                    "method":"POST",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });
        });

    </script>
</head>

<body>
        <h3>Spring Test</h3>
        <hr>
        <a href="spring_hello.ksy">Hello 보기</a><br>
        <a href="spring_hello_get.ksy">Hello GET Method</a><br>
        <a href="spring_hello_post.ksy">Hello POST Method</a><br>
        <form name="methodForm" id="methodForm">
            <button type="button" id="getbtn">GET</button>
            <button type="button" id="postbtn">POST</button>
        </form>
        <hr>
        <a href="viewJsp_1_stringTest_find.ksy">viewJsp_1_stringTest_find.ksy 실행</a><br>
        <a href="viewJsp_2_modelandview_find.ksy">viewJsp_2_modelandview_find.ksy 실</a><br>
        <a href="viewJsp_3_voidTest_find.ksy">viewJsp_3_voidTest_find.ksy 실행</a><br>
        <hr>
        <a href="formdata_find.ksy">FORM DATA 실행</a>
        <hr>
        <a href="autowired_test.ksy">오토와이어드(의존성 주입 : DI) 생성자 실행</a><br>
        <a href="autowired_test_field.ksy">오토와이어드(의존성 주입 : DI) 필드 실행</a><br>
</body>
</html>
  • FormDataVO.java
package a.b.c.com.vo;

public class FormDataVO {
	
	private String datanum; // datanum 프로퍼티 
	private String dataid;
	private String datapw;
	private String dataname;
	
	public FormDataVO() {
		
	}
	
	public FormDataVO(String datanum, String dataid, String datapw, String dataname) {
		
		this.datanum = datanum;
		this.dataid = dataid;
		this.datapw = datapw;
		this.dataname = dataname;
	}
	
	public String getDatanum() {
		return datanum;
	}
	public void setDatanum(String datanum) {
		this.datanum = datanum;
	}
	public String getDataid() {
		return dataid;
	}
	public void setDataid(String dataid) {
		this.dataid = dataid;
	}
	public String getDatapw() {
		return datapw;
	}
	public void setDatapw(String datapw) {
		this.datapw = datapw;
	}
	public String getDataname() {
		return dataname;
	}
	public void setDataname(String dataname) {
		this.dataname = dataname;
	}

}
  • FormDataController.java
package a.b.c.com.controller;

import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.LogManager;
import org.apache.log4j.Logger;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

import a.b.c.com.vo.FormDataVO;

@Controller
public class FormDataController {
	Logger logger = LogManager.getLogger(FormDataController.class);

	@RequestMapping(value="formdata_find", method=RequestMethod.GET)
	public String formdatta() {

		// mvc/formdata_return
		// <property name="prefix" value="/WEB-INF/view." />
		// /WEB-INF/view/mvc/formdata_return.jsp

		return "mvc/formdata_return";
	}

	// Servlet 방식으로 데이터를 웹 브라우저에서 데이터를 받아오고 : request.getParameter()
	// Servlet 방식으로 데이터를 콘트롤러에서 jsp로 보낼 수 있다. : request.setAttribute()
	@RequestMapping(value="formdata_get_servlet", method=RequestMethod.GET)
	public String formdata_get(HttpServletRequest req, Model m) {

		String datanum = req.getParameter("datanum");
		String dataid = req.getParameter("dataid");
		String datapw = req.getParameter("datapw");
		String dataname = req.getParameter("dataname");
		logger.info("FormDataController.formdata_get() :::: datanum >>> : " + datanum);
		logger.info("FormDataController.formdata_get() :::: dataid >>> : " + dataid);
		logger.info("FormDataController.formdata_get() :::: datapw >>> : " + datapw);
		logger.info("FormDataController.formdata_get() :::: dataname >>> : " + dataname);

		req.setAttribute("request_datanum", datanum);
		req.setAttribute("request_dataid", dataid);
		req.setAttribute("request_datapw", datapw);
		req.setAttribute("request_dataname", dataname);

		// FormDataVO fvo = new FormDataVO();
		// m.addAttribute("fvo_data", fvo);

		return "mvc/formdata_get_servlet";
	}

	// Spring web MVC 방식으로
	@RequestMapping(value="formdata_get_spring", method=RequestMethod.GET)
	public String formdata_get_spring(FormDataVO fvo, Model m) {
		System.out.println("FormDataController formdata_get_spring() 함수 진입");

		logger.info("formdata_get_spring >>> : fvo ::: " + fvo);
		logger.info("formdata_get_spring >>> : fvo.getDatanum() ::: " + fvo.getDatanum());
		logger.info("formdata_get_spring >>> : fvo.getDataid() ::: " + fvo.getDataid());
		logger.info("formdata_get_spring >>> : fvo.getDatapw() ::: " + fvo.getDatapw());
		logger.info("formdata_get_spring >>> : fvo.getDataname() ::: " + fvo.getDataname());

		m.addAttribute("m_fvo", fvo);

		return "mvc/formdata_get_spring_return";
	}

	// Spring @ModelAttribute
	@RequestMapping(value="formdata_post_spring", method=RequestMethod.POST)
	public String formdata_post_modelattribute(@ModelAttribute("ma_fdvo") FormDataVO fdvo) {
		System.out.println("FromDataController formdata_post_modelattribute() 함수 진입");

		/*
			name="datanum"  ----> private String datanum
			name="dataid"   ----> private String dataid
			name="datapw"   ----> private String datapw
			name="dataname" ----> private String dataname
		*/
		logger.info("formdata_post_medelattribute >>> : fdvo :::: " + fdvo);
		logger.info("formdata_post_medelattribute >>> : fdvo.getDatanum() :::: " + fdvo.getDatanum());
		logger.info("formdata_post_medelattribute >>> : fdvo.getDataid() :::: " + fdvo.getDataid());
		logger.info("formdata_post_medelattribute >>> : fdvo.getDatapw() :::: " + fdvo.getDatapw());
		logger.info("formdata_post_medelattribute >>> : fdvo.getDataname() :::: " + fdvo.getDataname());

		return "mvc/formdata_post_spring_modoelattribute_return";
	}

	@RequestMapping(value="formdata_post_valueobject", method=RequestMethod.POST)
	public String formdata_post_valueobject(FormDataVO fdvo) {

		logger.info("formdata_post_valueobject >>> : fdvo :::: " + fdvo);
		logger.info("formdata_post_valueobject >>> : fdvo.getDatanum() :::: " + fdvo.getDatanum());
		logger.info("formdata_post_valueobject >>> : fdvo.getDataid() :::: " + fdvo.getDataid());
		logger.info("formdata_post_valueobject >>> : fdvo.getDatapw() :::: " + fdvo.getDatapw());
		logger.info("formdata_post_valueobject >>> : fdvo.getDataname() :::: " + fdvo.getDataname());

		return "mvc/formdata_post_valueobject_return";
	}
}

5교시 (14:30-15:20)

  • formdata_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
    <%
        Logger logger = LogManager.getLogger(this.getClass());
        logger.info("formdata_get_servlet.jsp >>> : ");
    %>
</body>
  • formdata_get_servlet.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>   
    
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>FORM DATA</title>
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">

        $(document).ready(function(){
            // alert("ready >>> : ");

            // GET 방식
            $(document).on("click", "#getbtn", function(){
                alert("getbtn >>> : 진입");

                $("#formData").attr({
                    "action":"formdata_get_servlet.ksy",
                    "method":"GET",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });

            // 스프링 GET 방식
            $(document).on("click", "#get_spring_btn", function(){
                alert("get_spring_btn >>> : 진입");

                $("#formData").attr({
                    "action":"formdata_get_spring.ksy",
                    "method":"GET",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });

            // POST 방식
            $(document).on("click", "#post_spring_btn"m function(){
                alert("post_spring_btn >>> : 진입");

                $("#formData").attr({
                    "action":"formdata_post_spring.ksy",
                    "method":"POST",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });

            // POST 방식
            $(document).on("click", "#post_spring_btn_111", function(){
                alert("post_spring_btn_111 >>> : 진입");

                $("#formData").attr({
                    "action":"formdata_post_valueobject.ksy",
                    "method":"POST",
                    "enctype":"application/x-www-form-urlencoded"
                })
            });
        });

    </script>
</head>
<body>
    <%
        Logger logger = LogManager.getLogger(this.getClass());
        logger.info("formdata_return.jsp >>> : ");
    %>
    <h3 align="center">FORM DATA</h3>
    <hr>
    <form name="formData" id="formData">
        <table border="1" align="center">
            <tr>
                <td>회원번호 : </td>
                <td><input type="text" name="datanum" id="datanum"></td>
            </tr>
            <tr>
                <td>아이디 : </td>
                <td><input type="text" name="dataid" id="dataid"></td>
            </tr>
            <tr>
                <td>비밀번호 : </td>
                <td><input type="text" name="datapw" id="datapw"></td>
            </tr>
            <tr>
                <td>이름 : </td>
                <td><input type="text" name="dataname" id="dataname"></td>
            </tr>
            <tr>
                <td colspan="2">
                    <button type="button" id="getbtn">GET</button>
                    <button type="button" id="get_spring_btn">GET SPRING</button>
                    <button type="button" id="post_spring_btn">POST SPRING</button>
                    <button type="button" id="post_spring_btn_111">POST SPRING 111</button>
                </td>
            </tr>
        </table>
    </form>
  
</body>
</html>
  • index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <script src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">
        
        $(document).ready(function(){
            // alert("ready >>> : ");

            // GET 방식
            $(document).on("click", "#getbtn", function(){
                alert("getbtn >>> : 진입");

                $("#methodForm").attr({
                    "action":"spring_hello_get.ksy",
                    "method":"GET",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });

            // POST 방식
            $(document).on("click", "#postbtn", function(){
                alert("postbtn >>> : 진입");

                $("#methodForm").attr({
                    "action":"spring_hello_post.ksy",
                    "method":"POST",
                    "enctype":"application/x-www-form-urlencoded"
                }).submit();
            });
        });

    </script>
</head>

<body>
        <h3>Spring Test</h3>
        <hr>
        <a href="spring_hello.ksy">Hello 보기</a><br>
        <a href="spring_hello_get.ksy">Hello GET Method</a><br>
        <a href="spring_hello_post.ksy">Hello POST Method</a><br>
        <form name="methodForm" id="methodForm">
            <button type="button" id="getbtn">GET</button>
            <button type="button" id="postbtn">POST</button>
        </form>
        <hr>
        <a href="viewJsp_1_stringTest_find.ksy">viewJsp_1_stringTest_find.ksy 실행</a><br>
        <a href="viewJsp_2_modelandview_find.ksy">viewJsp_2_modelandview_find.ksy 실</a><br>
        <a href="viewJsp_3_voidTest_find.ksy">viewJsp_3_voidTest_find.ksy 실행</a><br>
        <hr>
        <a href="formdata_find.ksy">FORM DATA 실행</a>
        <button onclick='location.href="formdata_get_servlet.ksy?datanum=11&dataid=11&datapw=11&dataname=11"'>formdata_get_servlet.ksy :: url전송</button>
        <hr>
        <a href="autowired_test.ksy">오토와이어드(의존성 주입 : DI) 생성자 실행</a><br>
        <a href="autowired_test_field.ksy">오토와이어드(의존성 주입 : DI) 필드 실행</a><br>
</body>
</html>

6교시 (15:30-16:20)

  • formdata_get_spring_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_get_spring_return.jsp >>> : ");

	String datanum = request.getParameter("datanum");
	String dataid = request.getParameter("dataid");
	String datapw = request.getParameter("datapw");
	String dataname = request.getParameter("dataname");

	logger.info("datanum >>> : " + datanum);
	logger.info("dataid >>> : " + dataid);
	logger.info("datapw >>> : " + datapw);
	logger.info("dataname >>> : " + dataname);
%><br>
	${el_datanum }<br>
	${el_dataid }<br>
	${el_datapw }<br>
	${el_dataname }<br>
</body>
</html>
  • formdata_post_spring_modelattritute_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_post_spring_modelattribute_return.jsp >>> : ");
	
	String datanum = request.getParameter("datanum");
	String dataid = request.getParameter("dataid");
	String datapw = request.getParameter("datapw");
	String dataname = request.getParameter("dataname");

	logger.info("datanum >>> : " + datanum);
	logger.info("dataid >>> : " + dataid);
	logger.info("datapw >>> : " + datapw);
	logger.info("dataname >>> : " + dataname);
%><br>
	${el_datanum }<br>
	${el_dataid }<br>
	${el_datapw }<br>
	${el_dataname }<br>
</body>
</html>
  • formdata_post_valueobject_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_post_valueobject_return.jsp >>> : ");
	
	String datanum = request.getParameter("datanum");
	String dataid = request.getParameter("dataid");
	String datapw = request.getParameter("datapw");
	String dataname = request.getParameter("dataname");

	logger.info("datanum >>> : " + datanum);
	logger.info("dataid >>> : " + dataid);
	logger.info("datapw >>> : " + datapw);
	logger.info("dataname >>> : " + dataname);
%><br>
	${el_datanum }<br>
	${el_dataid }<br>
	${el_datapw }<br>
	${el_dataname }<br>
</body>
</html>

7교시 (16:30-17:20)

  • formdata_get_spring_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_get_spring_return.jsp >>> : ");
%>
	<h3>formdata_get_spring_return</h3>
	<hr>

	<p>
	<h3>EL 표현식으로 데이터 추출하기</h3>
	<hr>
	$ {m_fvo} >>> : ${m_fvo}<br>
	$ {m_fvo.datanum} >>> : ${m_fvo.datanum}<br>
	$ {fvo.dataid} >>> : ${fvo.dataid}<br>
	$ {formDataVO.datapw} >>> : ${formDataVO.datapw} : FormDataVO<br>
	<!-- FormDataVO formDataVO = new FormDataVO(); -->
	<p>
	<h3>request.getAttribute() 객체로 데이터 추출하기</h3>
	<hr>
	<%
		Object obj = request.getAttribute("m_fvo");
		FormDataVO fdvo = (FormDataVO)obj;

		logger.info("formdata_get_spring_return.jsp >>> : fdvo >>> : " + fdvo);
		logger.info("formdata_get_spring_return.jsp >>> : fdvo.getDatanum() ::: " + fdvo.getDatanum());
		logger.info("formdata_get_spring_return.jsp >>> : fdvo.getDataid() ::: " + fdvo.getDataid());
		logger.info("formdata_get_spring_return.jsp >>> : fdvo.getDatapw() ::: " + fdvo.getDatapw());
		logger.info("formdata_get_spring_return.jsp >>> : fdvo.getDataname() ::: " + fdvo.getDataname());

		out.println("formdata_get_spring_return.jsp >>> : fdvo >>> : " + fdvo + "<br>");
		out.println("formdata_get_spring_return.jsp >>> : fdvo.getDatanum() ::: " + fdvo.getDatanum() + "<br>");
		out.println("formdata_get_spring_return.jsp >>> : fdvo.getDataid() ::: " + fdvo.getDataid() + "<br>");
		out.println("formdata_get_spring_return.jsp >>> : fdvo.getDatapw() ::: " + fdvo.getDatapw() + "<br>");
		out.println("formdata_get_spring_return.jsp >>> : fdvo.getDataname() ::: " + fdvo.getDataname() + "<br>");
	%>
</body>
</html>
  • formdata_post_spring_modelattribute_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_post_spring_modelattribute_return.jsp >>> : ");
%>
<h3>formdata_post_spring_modelattribute_return</h3>
<hr>

<p>
<h3>EL 표현식으로 데이터 추출하기</h3>
<hr>
$ {ma_fdvo } >>> : ${ma_fdvo }<br>
$ {ma_fdvo.datanum } >>> : ${ma_fdvo.datanum }<br>
$ {ma_fdvo.dataid } >>> : ${ma_fdvo.dataid }<br>
$ {ma_fdvo.datapw } >>> : ${ma_fdvo.datapw }<br>
$ {ma_fdvo.dataname } >>> : ${ma_fdvo.dataname }<br>

<p>
<h3>EL 표현식 및 객체로 데이터 추출하기</h3>
<hr>
$ {ma_fdvo } >>> : ${ma_fdvo }<br>
$ {ma_fdvo.datanum } >>> : ${ma_fdvo.getDatanum() }<br>
$ {ma_fdvo.getDataid() } >>> : ${ma_fdvo.getDataid() }<br>
$ {ma_fdvo.getDatapw() } >>> : ${ma_fdvo.getDatapw() }<br>
$ {ma_fdvo.getDataname() } >>> : ${ma_fdvo.getDataname() }<br>

<p>
<h3>request.getAttribute() 객체로 데이터 추출하기</h3>
<hr>
<%
	Object obj = request.getAttribute("ma_fdvo");
	FormDataVO fdvo = (FormDataVO)obj;
	
	System.out.println("formdata_post_spring_modelattribute_return.jsp >>> : fdvo >>> : " + fdvo);		
	out.println("formdata_post_spring_modelattribute_return.jsp >>> : fdvo >>> : " + fdvo + "<br>");	

%>
</body>
</html>
  • formdata_post_valueobject_return.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
<%@ page import="org.apache.log4j.LogManager" %>  
<%@ page import="org.apache.log4j.Logger" %>  
    
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
	Logger logger = LogManager.getLogger(this.getClass());
	logger.info("formdata_post_valueobject_return.jsp >>> : ");
		// FormDataVO formDataVO = new FormDataVO();
%>
	<h3>formdata_post_valueobject_return</h3>
	<hr>
	EL 표현식으로 데이터 추출하기 : <br>
	${formDataVO.datanum } <br>
	${formDataVO.dataid } <br>
	${formDataVO.datapw } <br>
	${formDataVO.dataname } <br>
	<hr>
	EL 표현식 및 객체함수로 데이터 추출하기 : <br>
	${formDataVO.getDatanum() } <br>
	${formDataVO.getDataid() } <br>
	${formDataVO.getDatapw() } <br>
	${formDataVO.getDataname() } <br>
</body>
</html>

8교시 (17:30-18:30)

  • Spring IOC 설명
    • SpringAutowiredController.java
    • SpringAutowiredService.java
    • SpringAutowiredServiceImpl.java
    • SpringAutowiredDAO.java
    • SpringAutowiredDAOImpl.java
    • autowired_test_return.jsp
    • autowired_test_get_return.jsp

Notes

  • Group By 모두 읽어오기

728x90