Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2c2f1e6

Browse files
committed
.
1 parent f7c8468 commit 2c2f1e6

37 files changed

+1518
-0
lines changed

Lesson09/step06/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: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
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+
import org.springframework.web.bind.annotation.SessionAttributes;
10+
11+
import spms.dao.MemberDao;
12+
import spms.vo.Member;
13+
14+
//@SessionAttributes 적용
15+
@Controller
16+
@SessionAttributes("member")
17+
public class LogInController {
18+
MemberDao memberDao;
19+
20+
@Autowired
21+
public LogInController setMemberDao(MemberDao memberDao) {
22+
this.memberDao = memberDao;
23+
return this;
24+
}
25+
26+
@RequestMapping(value="/auth/login.do", method=RequestMethod.GET)
27+
public String loginForm() throws Exception {
28+
return "/auth/LogInForm.jsp";
29+
}
30+
31+
@RequestMapping(value="/auth/login.do", method=RequestMethod.POST)
32+
public String login(
33+
String email, /* 요청 파라미터 "email" */
34+
String password, /* 요청 파라미터 "password" */
35+
Map<String,Object> model /* 모델 객체 */) throws Exception {
36+
Member member = memberDao.exist(email, password);
37+
if (member != null) {
38+
model.put("member", member);
39+
return "redirect:../member/list.do";
40+
41+
} else {
42+
return "/auth/LogInFail.jsp";
43+
}
44+
}
45+
}
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package spms.controls;
2+
3+
import javax.servlet.http.HttpSession;
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+
//HttpSession 파라미터 적용
14+
@Controller
15+
public class LogInController {
16+
MemberDao memberDao;
17+
18+
@Autowired
19+
public LogInController setMemberDao(MemberDao memberDao) {
20+
this.memberDao = memberDao;
21+
return this;
22+
}
23+
24+
@RequestMapping(value="/auth/login.do", method=RequestMethod.GET)
25+
public String loginForm() throws Exception {
26+
return "/auth/LogInForm.jsp";
27+
}
28+
29+
@RequestMapping(value="/auth/login.do", method=RequestMethod.POST)
30+
public String login(
31+
String email, /* 요청 파라미터 "email" */
32+
String password, /* 요청 파라미터 "password" */
33+
HttpSession session /* 세션 객체 */) throws Exception {
34+
Member member = memberDao.exist(email, password);
35+
if (member != null) {
36+
session.setAttribute("member", member);
37+
return "redirect:../member/list.do";
38+
39+
} else {
40+
return "/auth/LogInFail.jsp";
41+
}
42+
}
43+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package spms.controls;
2+
3+
import org.springframework.stereotype.Controller;
4+
import org.springframework.web.bind.annotation.RequestMapping;
5+
import org.springframework.web.bind.annotation.SessionAttributes;
6+
import org.springframework.web.bind.support.SessionStatus;
7+
8+
//HttpStatus 사용
9+
@Controller
10+
@SessionAttributes("member")
11+
public class LogOutController {
12+
13+
@RequestMapping("/auth/logout.do")
14+
public String execute(SessionStatus status) throws Exception {
15+
status.setComplete();
16+
return "redirect:login.do";
17+
}
18+
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package spms.controls;
2+
3+
import javax.servlet.http.HttpSession;
4+
5+
import org.springframework.stereotype.Controller;
6+
import org.springframework.web.bind.annotation.RequestMapping;
7+
8+
//HttpSession 파라미터 적용
9+
@Controller
10+
public class LogOutController {
11+
12+
@RequestMapping("/auth/logout.do")
13+
public String execute(HttpSession session) throws Exception {
14+
session.invalidate();
15+
return "redirect:login.do";
16+
}
17+
}
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: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
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.ModelAttribute;
8+
import org.springframework.web.bind.annotation.RequestMapping;
9+
import org.springframework.web.bind.annotation.RequestMethod;
10+
11+
import spms.dao.MemberDao;
12+
import spms.vo.Member;
13+
14+
//@RequestParam 적용
15+
@Controller
16+
public class MemberUpdateController {
17+
MemberDao memberDao;
18+
19+
@Autowired
20+
public MemberUpdateController setMemberDao(MemberDao memberDao) {
21+
this.memberDao = memberDao;
22+
return this;
23+
}
24+
25+
@RequestMapping(value="/member/update.do", method=RequestMethod.GET)
26+
public String updateForm(
27+
int no,
28+
Map<String, Object> model) throws Exception {
29+
Member detailInfo = memberDao.selectOne(no);
30+
model.put("member", detailInfo);
31+
return "/member/MemberUpdateForm.jsp";
32+
}
33+
34+
@RequestMapping(value="/member/update.do", method=RequestMethod.POST)
35+
public String update(@ModelAttribute Member member) throws Exception {
36+
memberDao.update(member);
37+
return "redirect:list.do";
38+
}
39+
40+
// 이 페이지 컨트롤러는 요청 파라미터 중에 날짜 형식의 데이터가 없기 때문에
41+
// @InitBinder 메서드가 필요 없음
42+
}
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+
}

0 commit comments

Comments
 (0)