수업내용
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 모두 읽어오기