โ ๊ฐ๋ฐ ํ๊ฒฝ
1.์ ์์ ๋ถํ๋ ์์ํฌ
๊ฐ๋ฐ์์ฉ ๊ฐ๋ฐํ๊ฒฝ 64bit(Implementation Tool) Version 4.1.0
๐https://www.egovframe.go.kr/home/sub.do?menuNo=94
2. jdk 11.0.21
๐https://www.oracle.com/kr/java/technologies/javase/jdk11-archive-downloads.html
3. Oracle Database Express Edition (XE) Release 11.2.0.2.0
๐ https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
4. SQLgate
๐https://www.sqlgate.com/product/download
โ ์ ์์ ๋ถ ํ๋ ์์ํฌ ์ค์น
๐์ ์์ ๋ถ ํ์คํ๋ ์์ํฌ 4.1.0 ๊ธฐ๋ฐ ๊ฐ๋ฐ ์์ํ๊ธฐ(Getting Started)
egovframework:dev4.1:gettingstarted
๋ณธ ๊ฐ์ด๋๋ ์ ์์ ๋ถ ํ์คํ๋ ์์ํฌ ๊ธฐ๋ฐ์ ๋จ์ํ ์์ฉํ๋ก๊ทธ๋จ(HelloWorld)๋ฅผ ์ง์ ์ค์ตํด ๋ด์ผ๋ก์จ ๋น ๋ฅธ ์๊ฐ ๋ด์ ์ ์์ ๋ถ ํ๋ ์์ํฌ์ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ ํ์ ํ๊ธฐ ์ํ์ฌ ์ ๊ณตํ๋ค. ๋ณธ ๊ฐ์ด๋
www.egovframe.go.kr
ํํ์ด์ง์ ํ์ผ์ ๋ค์ด๋ก๋ํ๋ฉด eclipse ๊น์ง ํจ๊ป ์๋ ๊ฒ์ ํ์ธํ ์ ์๋ค. ์ดํด๋ฆฝ์ค๋ฅผ ์คํํด์ฃผ์.
โ ์ค์ตํ์ผ ์ค์น
1. [File]-[New]-[Project] ์์, eGovFrame > eGovFrame Web Project ๋ฅผ ์ ํํ๋ค.
2. Project name, Group id ๋ฅผ myproject ๋ก ์ ๋ ฅํด์ฃผ๊ณ [Next]๋ฅผ ๋๋ฅธ๋ค.
3. Gererate Example ์ ์ ํ๋ฒํผ์ ํด๋ฆญํ๋ค.
Tomcat ์๋ฒ ์ค์น๋ ๊ธฐ์กด ๋ฐฉ์๊ณผ ๋์ผํ๋ค. run on server ๋ก ์คํ๋๋์ง ํ์ธํ๋ค.
โ ํ๋ฌ๊ทธ์ธ ์ค์น
[eGovFrame] > [Configuration] > [Customize Development Tool]
ํ์ ๊ธฐ๋ฅ ์ ํํ๊ณ Next ๋ฅผ ๋๋ฌ ์ค์น ์๋ฃ.
โป ์ฐธ๊ณ ๋ก ํ์คํ๋ ์์ํฌ์ ๊ต์กํ๊ฒฝ์ ๊ฒฝ์ฐ c๋๋ผ์ด๋ธ์์ ๋ค์๊ณผ ๊ฐ์ ํด๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ์์ด์ผํ๋ค.
C:\eGovFrameDev-4.1.0-64bit
๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด ์ดํด๋ฆฝ์ค ๊ตฌ๋์ JDK ์ค์ ๊ฒฝ๋ก, MAVEN ๋ ํ์งํ ๋ฆฌ ๊ฒฝ๋ก ๋ฑ์ ๋ณ๊ฒฝํด์ค์ผ ํ๋ค. (์ฒ์์ D๋๋ผ์ด๋ธ์ ์ค์นํ๋ค๊ฐ ์ค๋ฅ ์๊ฒจ์ ๋ค์ ์์ถ ํด์ ํจ. ๊ฒฝ๋ก๋ฅผ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์๋ ์ฐธ์กฐ )
์ฐธ์กฐ : https://egovframe.go.kr/home/qainfo/qainfoRead.do?menuNo=69&qaId=QA_00000000000017791
๋ฌป๊ณ ๋ตํ๊ธฐ | ํ์คํ๋ ์์ํฌ ํฌํธ eGovFrame
์ฒ๋ฆฌ์ค์ ๋๋ค. ์ ์๋ง ๊ธฐ๋ค๋ ค์ฃผ์ญ์์ค.
egovframe.go.kr
โ ํ ์คํธ ํ์ด์ง ๋ง๋ค๊ธฐ
๋ฌํํ๊ฒ๋๋ง jsp ํ์ผ๊ณผ controller ํด๋์ค๋ฅผ ํตํด ํ ์คํธ ํ์ด์ง๋ฅผ ์์ฑํด๋ณด์.
์ค์ตํ์ผ์ ๊ตฌ์กฐ๋ฅผ ๋ค์ฌ๋ค๋ณด๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค.
์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด cal.jsp ์ test1.jsp ๋ฅผ ์์ฑํด์ ํ ์คํธ ํ์ด์ง๋ฅผ ํ์ธ ํด ๋ณผ ๊ฒ์ด๋ค.
ํ์ฌ ์ค์ต ํ์ผ์ ํฐ์บฃ์ผ๋ก run server ํ๋ฉด ๋ธ๋ผ์ฐ์ ์๋ ๋ค์๊ณผ ๊ฐ์ ํ๋ฉด์ด ๋ฌ๋ค.
EgovSampleController๋ฅผ ๋ณด๋ฉด ์์ egoSampleList.jsp ๋ฅผ ๋ฆฌํดํด์ฃผ๋ ๊ฒ์ ์ ์ ์๋ค.
์ด์ ๋ง์ฐฌ๊ฐ์ง๋ก, jsp ํ์ผ ์์ฑ -> ์ปจํธ๋กค๋ฌ์ @RequestMapping ์์ฑ์ ์งํํ๋ฉด ๋๋ค .
test1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>์์</title>
</head>
<body>
<% out.print("success"); %>
</body>
</html>
EgovSampleController.java ์ ์ถ๊ฐ1
(์ฐธ๊ณ ๋ก ๊ธ ๋ชฉ๋ก ์กฐํ ์ฝ๋ ๋ฐ๋ก ์์ค์ ์ ์ด์ฃผ์๋ค)
/**test1 ํ์ผ ์ถ๋ ฅํด๋ณด๊ธฐ**/
@RequestMapping(value = "/test1.do")
public String test1() {
return "sample/test1";
}
cal.jsp
<%@page import ="java.util.Calendar" %>
<%@ 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>
<% Calendar cal = Calendar.getInstance();
int y = cal.get(Calendar.YEAR);
int m = cal.get(Calendar.MONTH);
int d = cal.get(Calendar.DATE);
%>
<%=y %>๋
<%=m+1 %>์ <%=d %>์ผ
</body>
</html>
EgovSampleController.java ์ ์ถ๊ฐ2
/**cal.jsp ํ์ผ ์ถ๋ ฅํด๋ณด๊ธฐ**/
@RequestMapping(value = "/cal.do")
public String abc() {
return "sample/cal";
}
โ ๋ถ์๊ด๋ฆฌ ํ๋ฉด ์ค์ ํ๊ธฐ
๊ฐ๋จํ ๋ถ์๊ด๋ฆฌ ํ๋ฉด์ ์ ์ํด๋ณด์.
๊ทธ ์ ์, ์ฉ์ดํจ์ ์ํด jsp ์ ๊ฒฝ๋ก๋ฅผ ์ค์ ํ๋ servlet.xml ์ ์ค์ ์ ์์ ํ๊ณ jsp ํด๋์ ์์น๋ฅผ webapp ๋ฐ๋ก ํ์๋ก ์ค๊ฒ ๋ณ๊ฒฝํด์ฃผ์.
๊ธฐ์กด dispatcher-servlet.xml ์ ์ผ๋ถ (47๋ฒ์ค)
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/WEB-INF/jsp/egovframework/example/" p:suffix=".jsp"/>
๋ค์๊ณผ ๊ฐ์ด ๋ณ๊ฒฝ
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1"
p:viewClass="org.springframework.web.servlet.view.JstlView"
p:prefix="/" p:suffix=".jsp"/>
๋ถ์๊ด๋ฆฌ ํ๋ฉด์ ๋ค์ ๋จ๊ณ๋ฅผ ๊ฑฐ์ณ ์์ฑํ๋ค.
[๋ถ์๊ด๋ฆฌ]
1. ์ปจํธ๋กค๋ฌ ์์ฑ
- DeptController.java
(deptWrite.do)
2. ํด๋ ์์ฑ
-dept
3. ํ์ผ ์์ฑ
- ์ ๋ ฅํ๋ฉด (deptWrite.jsp)
- ์ ์ฅ์ฒ๋ฆฌ
1.egovframework.example.sample.web ์ DeptController.java ๋ฅผ ์์ฑํ๋ค.
package egovframework.example.sample.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class DeptController {
@RequestMapping(value="/deptWrite.do")
public String deptWrite() {
return "dept/deptWrite";
}
}
2.dept ํด๋ ์์ฑ
3. deptWirte.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>
<style>
table{
width:400px;
border-collapse:collapse; /*cell ๊ฐ๊ฒฉ ์์ฐ*/
}
td,th{
border: 1px solid #cccccc;
padding : 5px;
}
</style>
<body>
<form name="frm" method="post" action="">
<table>
<tr>
<th>๋ถ์๋ฒํธ</th>
<td><input type="text" name="deptno"></td>
</tr>
<tr>
<th>๋ถ์์ด๋ฆ</th>
<td><input type="text" name="dname"></td>
</tr>
<tr>
<th>๋ถ์์์น</th>
<td><input type="text" name="loc"></td>
</tr>
<tr>
<th colspan="2">
<button type = "submit"> ์ ์ฅ</button>
</th>
</tr>
</table>
</form>
</body>
</html>
์๋ฒ๋ฅผ ๊ตฌ๋์์ผ์ ํ์ธํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
์ด ํ๋ฉด์์, ์ ์ฅ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์กํ ์ ์๊ฒ ์์ ํ๋ค.
[๋ถ์๊ด๋ฆฌ]
1. ์ปจํธ๋กค๋ฌ ์์ฑ
- DeptController.java
(deptWrite.do, deptWriteSave.do (์ถ๊ฐ))
-DeptVO.java
2. ํด๋ ์์ฑ
-dept
3. ํ์ผ ์์ฑ
- ์ ๋ ฅํ๋ฉด (deptWrite.jsp (์์ ))
- ์ ์ฅ์ฒ๋ฆฌ
DeptController.java ์ ์ถ๊ฐ
@RequestMapping(value="/deptWriteSave.do")
public String deptWriteSave(String deptno) {
System.out.println("๋ถ์๋ฒํธ : "+deptno);
return "";
}
deptWirte.jsp ์์
<body>
<form name="frm" method="post" action="deptWriteSave.do">
์๋ฒ๋ฅผ ์คํํ๋ฉด ์ฝ์์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋๋ค.
๋ธ๋ผ์ฐ์ ํ๋ฉด์๋ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์๋ ๊ฒ์ด ๋ง๋ค.
DeptVO.java ์ถ๊ฐ
egovframework.example.sample.service ํจํค์ง์ ์ถ๊ฐํด์ฃผ๋ฉด ๋๋ค.
package egovframework.example.sample.service;
public class DeptVO {
private String deptno;
private String dname;
private String loc;
public String getDeptno() {
return deptno;
}
public void setDeptno(String deptno) {
this.deptno = deptno;
}
public String getDname() {
return dname;
}
public void setDname(String dname) {
this.dname = dname;
}
public String getLoc() {
return loc;
}
public void setLoc(String loc) {
this.loc = loc;
}
}
DeptController.java ์์
package egovframework.example.sample.web;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import egovframework.example.sample.service.DeptVO;
@Controller
public class DeptController {
@RequestMapping(value="/deptWrite.do")
public String deptWrite() {
return "dept/deptWrite";
}
@RequestMapping(value="/deptWriteSave.do")
public String deptWriteSave(DeptVO vo) {
System.out.println("๋ถ์๋ฒํธ : "+ vo.getDeptno());
System.out.println("๋ถ์๋ฒํธ : "+ vo.getDname());
System.out.println("๋ถ์๋ฒํธ : "+ vo.getLoc());
return "";
}
}
์ดํ, http://localhost:8090/myproject/deptWriteSave.do ์ ์ํ ๋ค, ์ ์ฅํ๋ฉด ์ฝ์์ฐฝ์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ์ ์ ์๋ค.
'๐ฑspring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MyBatis] <sql> <include> (0) | 2024.04.09 |
---|---|
[์ค์น]์ค์นํ JDK ๋ฒ์ ์ฝ๊ฒ ์ ํํ๊ธฐ (0) | 2024.04.09 |