Skip to content

Commit f7c8468

Browse files
committed
.
1 parent ca529b7 commit f7c8468

35 files changed

Lines changed: 1461 additions & 0 deletions

Lesson09/step05/build.gradle

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
apply plugin: 'java'
2+
apply plugin: 'eclipse-wtp'
3+
apply plugin: 'war'
4+
5+
compileJava.options.encoding = 'UTF-8'
6+
sourceCompatibility = 1.7
7+
version = '1.0'
8+
9+
eclipse {
10+
wtp {
11+
facet {
12+
facet name: 'jst.web', version: '3.0' // Servlet Spec Version 지정
13+
facet name: 'jst.java', version: '1.7' // Java Version 지정, 1.7 ...
14+
}
15+
}
16+
}
17+
18+
jar {
19+
manifest {
20+
attributes 'Implementation-Title': 'Gradle Quickstart',
21+
'Implementation-Version': version
22+
}
23+
}
24+
25+
repositories {
26+
mavenCentral()
27+
}
28+
29+
dependencies {
30+
compile 'org.springframework:spring-webmvc:4.0.4.RELEASE'
31+
compile 'org.mybatis:mybatis-spring:1.2.2'
32+
compile 'org.springframework:spring-jdbc:4.0.4.RELEASE'
33+
providedCompile 'javax.servlet:javax.servlet-api:3.0.1'
34+
compile 'jstl:jstl:1.2'
35+
compile 'org.reflections:reflections:0.9.9-RC1'
36+
compile 'log4j:log4j:1.2.17'
37+
compile 'mysql:mysql-connector-java:5.1.30'
38+
compile 'org.mybatis:mybatis:3.2.6'
39+
compile 'org.springframework:spring-context:4.0.4.RELEASE'
40+
compile group: 'commons-collections',
41+
name: 'commons-collections',
42+
version: '3.2'
43+
testCompile group: 'junit',
44+
name: 'junit',
45+
version: '4.+'
46+
}
47+
48+
test {
49+
systemProperties 'property': 'value'
50+
}
51+
52+
uploadArchives {
53+
repositories {
54+
flatDir {
55+
dirs 'repos'
56+
}
57+
}
58+
}
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package spms.controls;
2+
3+
import java.util.Map;
4+
5+
import javax.servlet.http.HttpSession;
6+
7+
import org.springframework.beans.factory.annotation.Autowired;
8+
import org.springframework.stereotype.Controller;
9+
import org.springframework.web.bind.annotation.RequestMapping;
10+
11+
import spms.dao.MemberDao;
12+
import spms.vo.Member;
13+
14+
//@RequestMapping 적용
15+
@Controller
16+
public class LogInController {
17+
MemberDao memberDao;
18+
19+
@Autowired
20+
public LogInController setMemberDao(MemberDao memberDao) {
21+
this.memberDao = memberDao;
22+
return this;
23+
}
24+
25+
@RequestMapping("/auth/login.do")
26+
public String execute(Map<String, Object> model) throws Exception {
27+
Member loginInfo = (Member)model.get("loginInfo");
28+
29+
if (loginInfo.getEmail() == null) { // 입력폼을 요청할 때
30+
return "/auth/LogInForm.jsp";
31+
32+
} else { // 회원 등록을 요청할 때
33+
Member member = memberDao.exist(
34+
loginInfo.getEmail(),
35+
loginInfo.getPassword());
36+
37+
if (member != null) {
38+
HttpSession session = (HttpSession)model.get("session");
39+
session.setAttribute("member", member);
40+
return "redirect:../member/list.do";
41+
} else {
42+
return "/auth/LogInFail.jsp";
43+
}
44+
}
45+
}
46+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package spms.controls;
2+
3+
import java.util.Map;
4+
5+
import javax.servlet.http.HttpSession;
6+
7+
import org.springframework.stereotype.Controller;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
10+
//@RequestMapping 적용
11+
@Controller
12+
public class LogOutController {
13+
14+
@RequestMapping("/auth/logout.do")
15+
public String execute(Map<String, Object> model) throws Exception {
16+
HttpSession session = (HttpSession)model.get("session");
17+
session.invalidate();
18+
19+
return "redirect:login.do";
20+
}
21+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package spms.controls;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
import org.springframework.web.bind.annotation.RequestMethod;
7+
8+
import spms.dao.MemberDao;
9+
import spms.vo.Member;
10+
11+
//@RequestParam 적용
12+
@Controller
13+
public class MemberAddController {
14+
MemberDao memberDao;
15+
16+
@Autowired
17+
public MemberAddController setMemberDao(MemberDao memberDao) {
18+
this.memberDao = memberDao;
19+
return this;
20+
}
21+
22+
@RequestMapping(value="/member/add.do", method=RequestMethod.GET)
23+
public String addForm() throws Exception {
24+
return "/member/MemberForm.jsp";
25+
}
26+
27+
@RequestMapping(value="/member/add.do", method=RequestMethod.POST)
28+
public String add(Member member) throws Exception {
29+
memberDao.insert(member);
30+
return "redirect:list.do";
31+
}
32+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package spms.controls;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
7+
import spms.dao.MemberDao;
8+
9+
//@RequestParam 적용
10+
@Controller
11+
public class MemberDeleteController {
12+
MemberDao memberDao;
13+
14+
@Autowired
15+
public MemberDeleteController setMemberDao(MemberDao memberDao) {
16+
this.memberDao = memberDao;
17+
return this;
18+
}
19+
20+
@RequestMapping("/member/delete.do")
21+
public String execute(int no) throws Exception {
22+
memberDao.delete(no);
23+
return "redirect:list.do";
24+
}
25+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package spms.controls;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.stereotype.Controller;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
10+
import spms.dao.MemberDao;
11+
12+
//@RequestParam 적용
13+
@Controller
14+
public class MemberListController {
15+
MemberDao memberDao;
16+
17+
@Autowired
18+
public MemberListController setMemberDao(MemberDao memberDao) {
19+
this.memberDao = memberDao;
20+
return this;
21+
}
22+
23+
@RequestMapping("/member/list.do")
24+
public String execute(
25+
String orderCond,
26+
Map<String, Object> model) throws Exception {
27+
HashMap<String,Object> paramMap = new HashMap<String,Object>();
28+
paramMap.put("orderCond", orderCond);
29+
30+
model.put("members", memberDao.selectList(paramMap));
31+
return "/member/MemberList.jsp";
32+
}
33+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package spms.controls;
2+
3+
import java.util.Map;
4+
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.stereotype.Controller;
7+
import org.springframework.web.bind.annotation.RequestMapping;
8+
import org.springframework.web.bind.annotation.RequestMethod;
9+
10+
import spms.dao.MemberDao;
11+
import spms.vo.Member;
12+
13+
//@RequestParam 적용
14+
@Controller
15+
public class MemberUpdateController {
16+
MemberDao memberDao;
17+
18+
@Autowired
19+
public MemberUpdateController setMemberDao(MemberDao memberDao) {
20+
this.memberDao = memberDao;
21+
return this;
22+
}
23+
24+
@RequestMapping(value="/member/update.do", method=RequestMethod.GET)
25+
public String updateForm(
26+
int no,
27+
Map<String, Object> model) throws Exception {
28+
Member detailInfo = memberDao.selectOne(no);
29+
model.put("member", detailInfo);
30+
return "/member/MemberUpdateForm.jsp";
31+
}
32+
33+
@RequestMapping(value="/member/update.do", method=RequestMethod.POST)
34+
public String update(Member member) throws Exception {
35+
memberDao.update(member);
36+
return "redirect:list.do";
37+
}
38+
39+
// 이 페이지 컨트롤러는 요청 파라미터 중에 날짜 형식의 데이터가 없기 때문에
40+
// @InitBinder 메서드가 필요 없음
41+
}
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package spms.controls;
2+
3+
import java.text.SimpleDateFormat;
4+
5+
import org.apache.log4j.Logger;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.beans.propertyeditors.CustomDateEditor;
8+
import org.springframework.stereotype.Controller;
9+
import org.springframework.web.bind.WebDataBinder;
10+
import org.springframework.web.bind.annotation.InitBinder;
11+
import org.springframework.web.bind.annotation.RequestMapping;
12+
import org.springframework.web.bind.annotation.RequestMethod;
13+
14+
import spms.dao.ProjectDao;
15+
import spms.vo.Project;
16+
17+
//@RequestParam 적용
18+
@Controller
19+
public class ProjectAddController {
20+
final static Logger log = Logger.getLogger(ProjectAddController.class);
21+
22+
ProjectDao projectDao;
23+
24+
@Autowired
25+
public ProjectAddController setProjectDao(ProjectDao projectDao) {
26+
this.projectDao = projectDao;
27+
return this;
28+
}
29+
30+
@RequestMapping(value="/project/add.do", method=RequestMethod.GET)
31+
public String addForm() {
32+
return "/project/ProjectForm.jsp";
33+
}
34+
35+
@RequestMapping(value="/project/add.do", method=RequestMethod.POST)
36+
public String add(Project project) throws Exception {
37+
projectDao.insert(project);
38+
return "redirect:list.do";
39+
}
40+
41+
@InitBinder
42+
public void initBinder(WebDataBinder binder) {
43+
log.debug("=> initBinder()");
44+
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
45+
dateFormat.setLenient(false);
46+
binder.registerCustomEditor(
47+
java.util.Date.class, new CustomDateEditor(dateFormat, true));
48+
}
49+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package spms.controls;
2+
3+
import org.springframework.beans.factory.annotation.Autowired;
4+
import org.springframework.stereotype.Controller;
5+
import org.springframework.web.bind.annotation.RequestMapping;
6+
7+
import spms.dao.ProjectDao;
8+
9+
//@RequestParam 적용
10+
@Controller
11+
public class ProjectDeleteController {
12+
ProjectDao projectDao;
13+
14+
@Autowired
15+
public ProjectDeleteController setProjectDao(ProjectDao projectDao) {
16+
this.projectDao = projectDao;
17+
return this;
18+
}
19+
20+
@RequestMapping("/project/delete.do")
21+
public String execute(int no) throws Exception {
22+
projectDao.delete(no);
23+
return "redirect:list.do";
24+
}
25+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package spms.controls;
2+
3+
import java.util.HashMap;
4+
import java.util.Map;
5+
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.stereotype.Controller;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
10+
import spms.dao.ProjectDao;
11+
12+
//@RequestParam의 활용
13+
@Controller
14+
public class ProjectListController {
15+
ProjectDao projectDao;
16+
17+
@Autowired
18+
public ProjectListController setMemberDao(ProjectDao projectDao) {
19+
this.projectDao = projectDao;
20+
return this;
21+
}
22+
23+
@RequestMapping("/project/list.do")
24+
public String execute(
25+
/*@RequestParam String orderCond,*/
26+
/*@RequestParam(required=false) String orderCond,*/
27+
/*@RequestParam(value="orderCond") String orderCond,*/
28+
/*@RequestParam("orderCond") String orderCond,*/
29+
/*@RequestParam("orderCond") String order,*/
30+
/*@RequestParam(defaultValue="ENDDATE_DESC") String orderCond,*/
31+
String orderCond,
32+
Map<String, Object> model) throws Exception {
33+
HashMap<String,Object> paramMap = new HashMap<String,Object>();
34+
paramMap.put("orderCond", orderCond);
35+
36+
model.put("projects", projectDao.selectList(paramMap));
37+
model.put("orderCond", orderCond);
38+
return "/project/ProjectList.jsp";
39+
}
40+
}

0 commit comments

Comments
 (0)