- 수정은 언제든지 좋으니 스터디원분들이 원하시는 만큼 수정해주세요.
- 과제에 해당하는 프로젝트를 git clone 해주세요.
- 브랜치를 따서 push 후 진행하시면 됩니다.
- 커밋은 자신의 브랜치에 원하는데로 진행하시면 됩니다.
- 과제의 기간은 다음 세션 전 까지입니다.
- 서로 모르는 부분은 git에 있는 ISSUE를 사용해주세요.
2022년 6월 1일
참여자 : 김동열, 박현서, 윤성철, 조정빈
2회차 리더 : 박현서
아래와 같이 만들어주세요.
요구사항
- 템플릿 레이아웃, 템플릿 조각을 이용해주세요.
- 여러 방법이 있으나 최소 html 2개 이상의 파일로 구현해주세요.
- css/myCss.css 파일을 이용해 테이블 글 색상을 변경해주세요.
- 이 때
th:classappend
를 이용해주세요.
- 이 때
postList
값으로 다음과 같이 넘어왔습니다.username
,title
,content
- 테이블 중에 title이
안녕하세요2
인 부분을 if문을 사용해 제거하여 주세요.
2022년 6월 22일
참여자 : 김동열, 박현서, 윤성철, 조정빈
4회차 리더 : 박현서
아래와 같이 만들어주세요.
요구사항
- Query String 혹은 form으로 이름, 나이를 받습니다.
- HttpServlet를 상속 받아 회원가입을 진행시켜주세요.
- GenericServlet를 상속받아 회원가입을 진행시켜주세요.
- 회원가입에 필요한 항목은 이름, 나이 입니다.
- 회원가입 성공은 콘솔에 이름, 나이 출력 유무로 구분합니다.
아래는 콘솔 출력값 입니다.
회원 가입이 되었습니다.
회원 이름 : 홍길동
회원 나이 : 20
2022년 6월 29일
참여자 : 김동열, 박현서, 윤성철, 조정빈
5회차 발표자 : 신지민
아래와 같이 만들어주세요.
요구사항
- basic패키지에 있는 lombok_test를 lombok형식으로 맞춰 코드를 간결하게 만들어주세요!!
아래는 콘솔 출력값 입니다.
package gdsc.syu.study.thymeleaf.basic;
public class lombok_test {
private String username;
private String userDept;
private int userID;
public String getUsername(){
return username;
}
public void setUserDept(String userDept) {
this.userDept = userDept;
}
public int getUserID() {
return userID;
}
}
2022년 7월 6일
참여자 : 박현서, 윤성철, 조정빈, 신지민
요구사항
- 회원 등록하고 저장하는 기존 회원 저장 폼을 활용하여 회원 가입하기
- 회원 가입에 필요한 정보 = 이름, 나이
- 회원가입이 버튼을 누르면 로그인 페이지로 이동
- 로그인
- 로그인 후 로그인이 완료된 상태 캡쳐 (형시 자유 ex.log출력, 로그인 완료 페이지 등)
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<form action="/homework/login" method="post">
이름: <input type="text" name="username" />
나이: <input type="text" name="age" />
<button type="submit">로그인</button>
</form>
</body>
</html>
2022년 7월 14일
참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민
요구사항
-
model이 추가된 v3구조를 사용해주세요.
-
회원 등록에 사용되는 정보:username,nickname,birth,age
-
등록한 정보가 회원목록에 나오게 해주세요.
-
회원 등록과 회원목록은 index.html을 통해 확인할 수 있게 해주세요.
*회원 등록 화면
*index.html 화면
2022년 7월 27일
참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민
8회차 발표자 : 윤성철
V4 Controller는 기본적으로 v3와 동일하지만 Modelview를 반환하지 않고 ViewName만 반환한다.
어댑터 패턴
<V5 구조>
이전 : Front controller controller 직접 호출 V5 : 핸들러 어댑터가 핸들러를 호출해 front controller에 반환
//handlerMapping & handlerAdaptor
//컨트롤러와 핸들러 정의
요구사항
2022년 8월 3일
참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민
9회차 발표자 : 조정빈
<Spring MVC 구조>
https://foil-crawdad-ff3.notion.site/spring-session-9-acfc196bf7ea440a820de517af444112
2022년 8월 10일
참여자 : 김동열, 박현서, 조정빈, 신지민
10회차 발표자 : 조정빈
요구사항
-게시물 등록하고 저장하기
* 게시물 등록 필요한 정보 = 제목, 내용, 글쓴이
-하나의 Controller을 사용하여 게시물 등록, 리스트 확인이 가능하게 할 것.
* Controller 이름은 BoardController로 한다.
-게시글 등록은 http://localhost:8080/board/form 에서 한다.
-등록한 게시글은 http://localhost:8080/board/list 에서 확인할 수 있게 한다.
2022년 8월 24일
참여자 : 김동열, 박현서, 조정빈, 신지민, 윤성철
10회차 발표자 : 윤성철
- @PathVariable
-localhost:8080/users/charlie
@RequestMapping("/users/{userid}", method=RequestMethod.GET)
public String getUser(@PathVariable String userId) {
}
- @RequestParam
-localhost:8080/users?userid=charlie
@GetMapping("/api/foos")
@ResponseBody
public String getFoos(@RequestParam String id) {
return "ID: " + id;
}
-
@ResquestBody, @ResponseBody
-
HTTP 요청의 몸체(body)를 자바 객체로 받을 수 있게 해준다.
-
요청 HTTP Content-Type 헤더에 선언된 데이터 형식에 맞게 메소드 리턴값을 반환한다.
-
*HTML Form가 취급하는 메소드는 GET, POST 두가지방식뿐임 *PATCH, PUT, DELETE 메소드는 form을 통해 데이터를 입력받아 어떻게 처리할까?
1. 위 3가지 방식 중 하나를 선택해 thymeleaf를 통해 html form으로 데이터를 입력받습니다.
2. 입력받는 데이터는 회원 나이, 회원 성별입니다. -patch, put 메소드의 경우
3. submit을 통해 controller로 넘어온 데이터를 해당 메소드로 처리합니다.
2022년 9월 7일
참여자 : 김동열, 박현서, 조정빈, 신지민
12회차 발표자 : 신지민
- basic [SyuData] → lombok @Data 사용해 바인딩 객체(String username, int age)만들기
- @ModelAtrribute 생략하기
- String, int, Integer 같은 단순 타입 = @RequestParam
- 나머지 = @ModelAttribute (argument resolver 로 지정해둔 타입 이외)