Skip to content

Su-tudy/spring-study-repo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Su-tudy의 과제 ReadMe 🚀

  • 수정은 언제든지 좋으니 스터디원분들이 원하시는 만큼 수정해주세요.

💡 과제를 하기 전 아래와 같이 해주세요.

  1. 과제에 해당하는 프로젝트를 git clone 해주세요.
  2. 브랜치를 따서 push 후 진행하시면 됩니다.
  3. 커밋은 자신의 브랜치에 원하는데로 진행하시면 됩니다.
  4. 과제의 기간은 다음 세션 전 까지입니다.
  5. 서로 모르는 부분은 git에 있는 ISSUE를 사용해주세요.

Su-tudy 2회차 - 타임리프

2022년 6월 1일

참여자 : 김동열, 박현서, 윤성철, 조정빈

2회차 리더 : 박현서

2회차 과제 🎉

아래와 같이 만들어주세요.

요구사항

  • 템플릿 레이아웃, 템플릿 조각을 이용해주세요.
    • 여러 방법이 있으나 최소 html 2개 이상의 파일로 구현해주세요.
  • css/myCss.css 파일을 이용해 테이블 글 색상을 변경해주세요.
    • 이 때 th:classappend를 이용해주세요.
  • postList 값으로 다음과 같이 넘어왔습니다.
    • username, title, content
    • 테이블 중에 title이 안녕하세요2인 부분을 if문을 사용해 제거하여 주세요.






Su-tudy 4회차 - HttpServlet

2022년 6월 22일

참여자 : 김동열, 박현서, 윤성철, 조정빈

4회차 리더 : 박현서

4회차 과제 🎉

아래와 같이 만들어주세요.

요구사항

  • Query String 혹은 form으로 이름, 나이를 받습니다.
  • HttpServlet를 상속 받아 회원가입을 진행시켜주세요.
  • GenericServlet를 상속받아 회원가입을 진행시켜주세요.
  • 회원가입에 필요한 항목은 이름, 나이 입니다.
  • 회원가입 성공은 콘솔에 이름, 나이 출력 유무로 구분합니다.

아래는 콘솔 출력값 입니다.

회원 가입이 되었습니다.
회원 이름 : 홍길동
회원 나이 : 20

Su-tudy 5회차 - HttpServlet2

2022년 6월 29일

참여자 : 김동열, 박현서, 윤성철, 조정빈

5회차 발표자 : 신지민

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;
    }
}



Su-tudy 6회차 - Servlet, JSP, MVC

2022년 7월 6일

참여자 : 박현서, 윤성철, 조정빈, 신지민

6회차 발표자 : 김동열

📚6회차 과제📚

요구사항

  1. 회원 등록하고 저장하는 기존 회원 저장 폼을 활용하여 회원 가입하기
    • 회원 가입에 필요한 정보 = 이름, 나이
  2. 회원가입이 버튼을 누르면 로그인 페이지로 이동
  3. 로그인
  4. 로그인 후 로그인이 완료된 상태 캡쳐 (형시 자유 ex.log출력, 로그인 완료 페이지 등)

예시

  • MvcMemberSaveServlet 中 img.png

    새로운 viewPath로 forward할 경로 바꿈

  • login-form.jsp (로그인 폼은 자유 양식)

<%@ 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>
  • 결과화면

    • 로그인 성공 화면

    img_1.png

    • 로그인 실패 화면

    img_2.png

💪화이팅


Su-tudy 7회차 - Frontcontroller(v1-v3)

2022년 7월 14일

참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민

7회차 발표자 : 조정빈

7회차 과제 🎉

요구사항

  • model이 추가된 v3구조를 사용해주세요.

  • 회원 등록에 사용되는 정보:username,nickname,birth,age

  • 등록한 정보가 회원목록에 나오게 해주세요.

  • 회원 등록과 회원목록은 index.html을 통해 확인할 수 있게 해주세요.

    *회원 등록 화면

    화면 캡처 2022-07-14 015738

    *index.html 화면

    화면 캡처 2022-07-14 020504


Su-tudy 8회차 - Frontcontroller(v4-v5)

2022년 7월 27일

참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민

8회차 발표자 : 윤성철

image

V4 Controller는 기본적으로 v3와 동일하지만 Modelview를 반환하지 않고 ViewName만 반환한다.


유연한 컨트롤러

어댑터 패턴
<V5 구조>

이전 : Front controller controller 직접 호출 V5 : 핸들러 어댑터가 핸들러를 호출해 front controller에 반환 image

https://bgpark.tistory.com/72

//handlerMapping & handlerAdaptor

https://stackoverflow.com/questions/30165625/whats-difference-between-controller-and-handler-in-spring-mvc

//컨트롤러와 핸들러 정의


8회차 과제 🎉

요구사항

  • Handler Adapter 인터페이스를 통해 V3 Front Controller를 구현해주세요. image

Su-tudy 9회차 - 스프링MVC구조

2022년 8월 3일

참여자 : 김동열, 박현서, 윤성철, 조정빈, 신지민

9회차 발표자 : 조정빈

<Spring MVC 구조>

MVC구조

https://foil-crawdad-ff3.notion.site/spring-session-9-acfc196bf7ea440a820de517af444112


Su-tudy 10회차 - 스프링MVC

2022년 8월 10일

참여자 : 김동열, 박현서, 조정빈, 신지민

10회차 발표자 : 조정빈

10회차 과제 🎉

요구사항

-게시물 등록하고 저장하기
* 게시물 등록 필요한 정보 = 제목, 내용, 글쓴이
-하나의 Controller을 사용하여 게시물 등록, 리스트 확인이 가능하게 할 것.
* Controller 이름은 BoardController로 한다. -게시글 등록은 http://localhost:8080/board/form 에서 한다.
-등록한 게시글은 http://localhost:8080/board/list 에서 확인할 수 있게 한다.


Su-tudy 11회차 - 스프링MVC

2022년 8월 24일

참여자 : 김동열, 박현서, 조정빈, 신지민, 윤성철

10회차 발표자 : 윤성철

@PathVariable, @RequestParam, @RequestBody, @ResponseBody의 차이

  • @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 헤더에 선언된 데이터 형식에 맞게 메소드 리턴값을 반환한다.

11회차 과제 🎉

*HTML Form가 취급하는 메소드는 GET, POST 두가지방식뿐임 *PATCH, PUT, DELETE 메소드는 form을 통해 데이터를 입력받아 어떻게 처리할까?

1. 위 3가지 방식 중 하나를 선택해 thymeleaf를 통해 html form으로 데이터를 입력받습니다.
2. 입력받는 데이터는 회원 나이, 회원 성별입니다. -patch, put 메소드의 경우
3. submit을 통해 controller로 넘어온 데이터를 해당 메소드로 처리합니다.

Su-tudy 12회차 - 스프링MVC

2022년 9월 7일

참여자 : 김동열, 박현서, 조정빈, 신지민

12회차 발표자 : 신지민

12회차 과제 🎉

  1. basic [SyuData] → lombok @Data 사용해 바인딩 객체(String username, int age)만들기
  2. @ModelAtrribute 생략하기
    • String, int, Integer 같은 단순 타입 = @RequestParam
    • 나머지 = @ModelAttribute (argument resolver 로 지정해둔 타입 이외)

About

Spring-MVC패턴 강의 스터디

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •