반응형

Spring/게시판 만들기 프로젝트 10

[Spring Boot] #5_1 게시판 만들기

학습 목표 -JSON API 및 AJAX를 활용해 답변 추가/삭제 구현 학습 목차 5-1. AJAX를 활용해 답변 추가 기능 구현 5-2. AJAX를 활용해 답변 추가 기능 구현2 5-3. AJAX를 활용해 답변 삭제 기능 구현 5-4. 질문 목록에 답변 수 보여주기 기능 추가 5-4. 중복 제거 및 리팩토링 5-5. JSON API 추가 및 리팩토링 footer.html에 사용하려는 js 파일들이 나와있습니다. 그 중 작업하려는 파일은 scripts.js 입니다. JQuery를 이용해서 답변하기를 클릭했을 때 서버로 바로 넘어가지 않도록 구현합니다. 1. class 이름을 "answer-write"으로 변경합니다. 1. action의 주소 앞에 "/api"를 추가하여 응답을 JSON이나 데이터만 준다는..

[Spring Boot] #4_3 게시판 만들기

학습 목표 -객체 간의 관계 설정(@OneToMany, @ManyToOne 등) 학습 목차 4-1. 회원과 질문 간의 관계 매핑 및 리팩토링 4-2. 질문 상세보기 기능 구현 4-3. 질문 수정/삭제 기능 구현 4-4. 수정/삭제 기능에 대한 보안 처리 및 LocalDateTime 설정 4-5. 답변 추가 및 답변 목록 기능 구현 4-6. QuestionController 중복 제거 리팩토링 4-7. 원격 서버에 소스 코드 배포 //QuestionController.java @Controller @RequestMapping("/questions") public class QuestionController { @Autowired private QuestionRepository questionReposito..

[Spring Boot] #4_2 게시판 만들기

학습 목표 -객체 간의 관계 설정(@OneToMany, @ManyToOne 등) 학습 목차 4-1. 회원과 질문 간의 관계 매핑 및 리팩토링 4-2. 질문 상세보기 기능 구현 4-3. 질문 수정/삭제 기능 구현 4-4. 수정/삭제 기능에 대한 보안 처리 및 LocalDateTime 설정 4-5. 답변 추가 및 답변 목록 기능 구현 4-6. QuestionController 중복 제거 리팩토링 4-7. 원격 서버에 소스 코드 배포 //QuestionController.java @Controller @RequestMapping("/questions") public class QuestionController { @Autowired private QuestionRepository questionReposito..

[Spring Boot] #4_1 게시판 만들기

학습 목표 -객체 간의 관계 설정(@OneToMany, @ManyToOne 등) 학습 목차 4-1. 회원과 질문 간의 관계 매핑 및 리팩토링 4-2. 질문 상세보기 기능 구현 4-3. 질문 수정/삭제 기능 구현 4-4. 수정/삭제 기능에 대한 보안 처리 및 LocalDateTime 설정 4-5. 답변 추가 및 답변 목록 기능 구현 4-6. QuestionController 중복 제거 리팩토링 4-7. 원격 서버에 소스 코드 배포 //Question.java @Entity public class Question { @Id @GeneratedValue private Long id; @ManyToOne//2. @JoinColumn(foreignKey=@ForeignKey(name="fk_question_wri..

[Spring Boot] #3_2 게시판 만들기

학습 목표 -로그인 기능 구현을 통한 쿠키와 세션에 대한 대략적인 이해 -로그인 사용자에 대한 접근 제한 학습 목차 3-1. 로그인 기능 구현 3-2. 로그인 상태에 따른 메뉴 처리 및 로그아웃 3-3. 로그인 사용자에 한해 자신의 정보를 수정하도록 수정 3-4. 중복 제거 및 읽기 좋은 코드를 위한 리팩토링 3-5. 질문하기, 질문목록 기능 구현 3-6. 원격 서버에 소스 코드 배포 //User.java @Entity public class User { @Id @GeneratedValue private Long id; @Column(nullable=false, length=20) private String userId; private String password; private String name; ..

[Spring Boot] #3_1 게시판 만들기

학습 목표 -로그인 기능 구현을 통한 쿠키와 세션에 대한 대략적인 이해 -로그인 사용자에 대한 접근 제한 학습 목차 3-1. 로그인 기능 구현 3-2. 로그인 상태에 따른 메뉴 처리 및 로그아웃 3-3. 로그인 사용자에 한해 자신의 정보를 수정하도록 수정 3-4. 중복 제거 및 읽기 좋은 코드를 위한 리팩토링 3-5. 질문하기, 질문목록 기능 구현 3-6. 원격 서버에 소스 코드 배포 //UserController.java @Controller @RequestMapping("/users") public class UserController { @Autowired private UserRepository userRepository; @GetMapping("/loginForm")//1. public Stri..

[Spring Boot] #2_2 게시판 만들기

학습 목표 -데이터베이스에 사용자 데이터 추가 -개인정보 수정 기능 구현 -질문하기, 질문목록 기능 구현 학습 목차 2-1. QnA HTML 템플릿, H2 데이터베이스 설치, 설정, 관리 툴 확인 2-2. 자바 객체와 테이블 매핑, 회원가입 기능 구현 2-3. HTML 정리, URL 정리 2-4. 개인정보 수정 기능 구현 1 (수정 화면으로 이동할 수 있는 기능 구현) 2-5. 개인정보 수정 기능 구현 2 (수정 화면에서 사용자가 수정한 내용을 다시 submit하면, 서버가 받아서 database에 수정을 해주는 기능 구현) 2-6. 원격 서버에 소스 코드 배포 //HomeController.java @Controller public class HomeController {//1. @GetMapping(..

has-thumbnail="1" style="background-image:url('https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbglLG1%2FbtqPC0DJeLz%2FfZWm4sLD80uK50evm7OVaK%2Fimg.png')"

[Spring Boot] #2_1 게시판 만들기

학습 목표 -데이터베이스에 사용자 데이터 추가 -개인정보 수정 기능 구현 -질문하기, 질문목록 기능 구현 학습 목차 2-1. QnA HTML 템플릿, H2 데이터베이스 설치, 설정, 관리 툴 확인 2-2. 자바 객체와 테이블 매핑, 회원가입 기능 구현 2-3. HTML 정리, URL 정리 2-4. 개인정보 수정 기능 구현 1 2-5. 개인정보 수정 기능 구현 2 2-6. 원격 서버에 소스 코드 배포 [html 템플릿 다운 및 h2 데이터베이스 설치] 1. github.com/slipp/web-application-server: 코드를 clone해서 sts로 가져옵니다. (import->maven->existing maven project) 2. wepapp 하위 파일들을 통째로 복사해서 static 하위..

[Spring Boot] #1 게시판 만들기

학습 목표 -동적인 HTML 웹 페이지 개발 -Spring MVC의 Model, View, Controller 기반 개발 학습 목차 1-1. Controller 추가 및 mustache에 인자 전달 1-2. 회원가입 페이지 구현 1-3. 사용자 목록 페이지 구현 1-4. 원격 서버에 소스 코드 배포 //WelcomeController.java @Controller//1. public class WelcomeController { @GetMapping("/helloworld")//3. public String welcome(String name, int age, Model model) {//4. System.out.println("name : " + name + "age : " + age); model.a..

[Spring Boot]JPA

JPA의 등장 배경 -SQL 단순 반복 작업: Oracle, MySQL, MSSQL 등 관계형 데이터베이스를 사용하지 않는 웹 애플리케이션이 거의 없기 때문에, 객체를 관계형 데이터베이스에서 관리하는 것이 매우 중요합니다. 그런데 관계형 데이터베이스는 SQL만 인식할 수 있기 때문에 반복적인 SQL 생성 작업을 피할 수 없습니다. -패러다임 불일치: 관계형 데이터베이스는 '어떻게 데이터를 저장할지에 초점이 맞춰진 기술'이고, 객체지향 프로그래밍 언어는 '메시지를 기반으로 기능과 속성을 한 곳에서 관리하는 기술' 입니다. 이 둘은 이렇듯 패러다임이 서로 다른데, 객체를 데이터베이스에 저장하려고 하니 문제가 발생합니다. -데이터베이스 모델링에만 집중: 상속, 1:N 등 다양한 객체 모델링을 데이터베이스로 구..

반응형