JS - Date이동(Moment)
2023. 6. 4. 14:01
Spring Boot/7. JSP
스프링부트에서 Moment.js사용하기 온라인환경으로 npm install 을 할 수 없어 파일을 다운로드후에 import경로를 설정해 줬다 JSP에는 moment.js가 설치된 경로를 스크립트에 설정한다. 필자의 경우 mement.min.js이며 경로는 현재파일경로에서 /js/src/moment.min.js 로 설정했다. 이후 JS에서 var now = moment(); console.log("year: " + now.year()); var adddate = moment().add(1, "days"); var addmonth = moment().add(1, "months"); console.log("더해진 날짜" + adddate.format("YYYY-MM-DD")); console.log("더해진 ..

Filter
2023. 5. 21. 18:38
Spring Boot/7. JSP
목차 1. 필터란? 2. 인터페이스 및 클래스 3. 필터 설정 [필터(Filter)란 무엇인가?] HTTP 요청과 응답을 변경할 수 있는 재사용 가능한 코드이며, 서블릿 2.3 규약에 새롭게 추가되었다. 필터는 객체의 형태로 존재하며 클라이언트로부터 오는 요청(request)과 최종자원(서블릿/JSP/기타 문서) 사이에 위치하며 클라이언트의 요청 정보를 알맞게 변경할 수 있으며, 또한 필터는 최종 자원과 클라이언트로 가는 응답(response) 사이에 위치하여 최종 자원의 요청 결과를 알맞게 변경할 수 있다. 그림으로 보면 자원이 받게 되는 요청 정보는 클라이언트와 자원 사이에 존재하는 필터에 의해 변경된 요청정보가 되며, 클라이언트가 보게 되는 응답 정보는 클라이언트와 자원사이에 존재하는 필터에 의해 ..

JQuery 와 Ajax
2023. 5. 9. 23:31
Spring Boot/7. JSP
JQuery 와 Ajax 의 차이 Ajax와 jQuery는 웹 페이지에서 사용자 친화적이고 효율적이며 매력적인 환경을 제공하기 위해 개발 된 두 가지 웹 프로그래밍 언어입니다. Ajax와 jQuery의 주요 차이점은 jQuery는 JavaScript를 사용하여 빌드 된 Frame Work와 비슷하고 Ajax는 웹 페이지를 다시로드하지 않고 서버와 통신하기 위해 JavaScript를 사용하는 기술 또는 방법이라는 것입니다. jQuery는 많은 기능에 Ajax를 사용합니다. Ajax와 jQuery는 함께 사용되며 두 언어가 자주 함께 사용되기 때문에 비교하기가 어렵습니다. 복잡성 jQuery : jQuery는 주로 HTML 요소의 상호 작용을 대상으로하는 경량 언어입니다. Ajax : Ajax는 단순한 도구..

JPA를 사용한 게시판
2022. 11. 23. 14:50
Spring Boot/6. JPA
스프링 데이터 JPA를 위한 기본 설정 application.properties 설정 추가하기 spring.jpa.database=mysql spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.generate-ddl=true spring.jpa.hibernate.use-new-id-generator-mappings=false 1: 사용할 데이터베이스를 MySQL로 설정 2: MySQL은 InnoDB, MyIsAM 등 여러 가지 엔진을 지원한다. 그중 일반적으로 많이 사용하는 엔진은 InnoDB로, MyISAM에 비해서 성능 및 트랜잭션 지원 등에서 장점이 많다. 설정하지 않으면 기본값은 MyISAM으로 된다. ..

JPA 정의
2022. 11. 23. 12:22
Spring Boot/6. JPA
JPA 사용하는 이유 웹 애플리케이션 개발에서 데이터베이스를 뗴어놓을 수 없다. 중요한 만큼 웹 애플리케이션 개발자들은 데이터베이스 관련 로직을 처리하는데 오랜 시간을 할애했다. 그렇지만 이 로직에는 반복되는 코드가 많았다. 반복되는 코드 때문에 데이터베이스와 관련된 개발의 생산성이 떨어지자 이 문제를 해결하기 위한 프레임워크가 발전하기 시작했다. JDBC를 직접 사용하는 방식부터 마이바티스와 같은 SQL Mapper 프레임워크는 공통적으로 SQL을 쉽게 사용하는데 초점을 맞추고 있다. 이번 장에서는 최근 널리 사용되는 JPA를 이용해서 게시판을 만들어 보자. JPA에도 여러 종류가 있고 실제 프로젝트에서는 하이버네이트를 가장 많이 사용하기는 하지만 하이버네이트는 스프링과 연동해야 하고 하이버네이트 문법..

REST API 로 변경하기
2022. 11. 22. 20:45
Spring Boot/5. RESTful 게시판
지금까지 RESTful 게시판으로 변경되는 방법을 살펴봤다. 컨트롤러를 제외하면 서비스나 매퍼, SQL의 변경은 없었는데, 이것만 가지고서는 REST API로 만들었다고 보기는 어렵다. 일반적인 애플리케이션은 백엔드 서버와 클라이언트로 나눠진다. 여기서 클라이언트는 웹 페이지가 될 수도 있고 안드로이드나 iOS 앱리 될 수도 있다. 일반적으로 웹 페이지를 개발하는 웹 개발자를 프런트엔드 개발자라고 하는데 백 엔드 서버는 이러한 클라이언트의 요청을 수행하는 API를 만든다. 여태까지 하나의 애플리케이션에서 Thymeleaf와 jQuery를 이용해서 화면을 개발했다. 그리고 이를 실행하기 위한 로직도 같이 포함된 구조였지만 이는 REST API라고 보기 어렵다. 왜냐하면 API와 화면이 구분된건 아니기 때문..

RESTful 게시판으로 변경하기
2022. 11. 22. 17:52
Spring Boot/5. RESTful 게시판
RESTful 게시판으로 변경하기 컨트롤러 작성하기 앞서 만든 BoardController 클래스와 비교할 수 있도록 RESTful 컨트롤러를 새로 만든다. 게시글 목록, 상세화면, 수정, 삭제, 첨부파일 관련 기능까지 한번에 작성한다. 기능 RESTful URI 요청방식 대응되는 BoardController의 URI 게시판 목록 /board GET /board/openBoardList.do 게시글 작성 화면 /board/write GET /board/openBoardWrite.do 게시글 작성 /board/write POST /board/insertBoard.do 게시글 상세 화면 /board/글번호 GET /board/openBoardDitail.do 게시글 수정 /board/글번호 PUT /boar..

REST란?
2022. 11. 22. 16:42
Spring Boot/5. RESTful 게시판
REST (REpresentational State Transfer) 란? 잘 표현된 HTTP URI 로 리소스를 정의하고 HTTP 메서드로 리소스에 대한 행위를 정의한다. 리소스 리소스는 서비스를 제공하는 시스템의 자원을 의미하는 것으로 URI (Uniform Resource Identifier)로 정의된다. 즉, REST API의 URI는 리소스의 자원을 표현해야 한다. REST API의 URI를 설계할 때 일반적으로 다음과 같은 규칙을 적용한다. 1. URI는 명사를 사용한다. (동사 X) 예를 들어 회원 목록을 조회하는 REST API는 다음과 같이 표현할 수 있다. GET /members GET은 HTTP 메서드로 URI의 리소스를 조회하는 것을 의미한다. members 라는 명사를 통해 회원 ..

파일 다운로드
2022. 10. 31. 19:05
Spring Boot/4. 파일 업로드와 다운로드
파일 다운로드 1. 뷰 영역 변경 링크를 추가 설정 2. SQL 추가 기존과 다르게 DTO 가 아닌 map을 사용함. 이유는 단순히 파라미터 전달만을 위한 목적이기 때문. 3. 서비스 및 매퍼 추가 BoardService.java BoardFileDto selectBoardFileInformation(int idx, int boardIdx) throws Exception; BoardServiceImpl.java @Override public BoardFileDto selectBoardFileInformation(int idx, int boardIdx) throws Exception { return boardMapper.selectBoardFileInformation(idx, boardIdx); } Boa..

파일 업로드
2022. 10. 31. 18:57
Spring Boot/4. 파일 업로드와 다운로드
파일 업로드하고 파일의 정보 확인 1. 뷰 변경하기 board\src\main\resources\templates\board\boardWrite.htm . . . 1: 폼을 이용해서 데이터를 전송할 때 파일도 같이 첨부될 수 있도록 폼의 enctype 속성을 multipart/form-data 로 지정한다. 또한 폼의 전송 방식은 반드시 post로 지정해야 한다. (파일이 첨부되어 전송되도록 폼의 전송 방식을 post로 지정한다) 5: multiple 속성을 추가하면 하나의 태그에 여러 개의 파일을 첨부할 수 있다. (HTML5 이상에서) 2. 컨트롤러 변경하기 board\src\main\java\board\board\controller\BoardController.java @RequestMapping(..