파일 업로드 파일 첨부 기능은 매우 중요 사용자 편의 ▶ 드래그 앤 드롭(JS), 첨부파일의 유효성 검사(server), 파일 전송의 진행률(JS) 스프링 일반적으로 commons-fileupload 이용 (서블릿 3.0 이전, 이후 모두 사용 가능) 서블링 3.0 이상에서부터는 자체적인 파일 업로드 지원 파일럽로드 처리 라이브러리 필요 스프링부트 WAS(웹 어플리케이션 서버)의 버전이 낮거나 WAS가 아닌 환경이라면 추가 라이브러리 필요 내장 tomcat 이용 - 별도의 라이브러리 추가 없이 업로드 사용 가능 [ 스프링부트 ] 일반 업로드 1. application.properties 설정 application.properties ################### 파일업로드 관련 설정 ########..
API 확장프로그램 부메랑 설치 크롬 웹 스토어에서 boomerang 확장프로그램 다운 받은 후 사용 quick request 만들어서 사용 MIME Multipurpose Internet Mail Extensions의 약자로 파일 변환을 뜻함 인코딩 : 바이너리 파일에서 텍스트 파일로 변환 디코딩 : 텍스트 파일에서 바이너리 파일로 변환 MIME 형식 : image / gif [파일의 종류 / 파일포맷] RestAPI 기존의 @Controller는 객체 Model에 담아서 뷰에 전달 But, restAPI는 서버간 통신을 위한 Controller @RestController는 return에 처리하는 데이터를 조금 다른 타입으로 처리하는 형식 return에 보내고 싶은 데이터를 담음 객체(데이터)를 반환..
관리자 홈페이지 판매자 매니저(Sales Manager) 판매자로 등록된 사람들이 물건을 등록하는 application의 일부 B2B는 기업과 기업 사이의 거래를 기반으로 만들어진 프로젝트 데이터 베이스 게시판 구현 순서 1. 테이블 생성 2. VO, DAO, Controller, Service 생성 3. 화면 처리 4. 등록, 리스트 구현 5. 수정, 삭제 구현 6. 페이지 구현 7. 검색 구현 프로젝트 UI 1. 메인 2. 상품 등록 textarea → textEditor 대체 [[${vo.prod_content}]] 1. CDN 사용 2. 다운로드 사용 https://ckeditor.com/ckeditor-5/online-builder/ CKEditor 5 Online Builder | Create..
Valiadation (유효성 검사) validation이란 어떤 데이터의 값이 유효한지, 타당한지 확인하는 것을 의미 UI에서 javascript로 "이메일 양식이 일치하지 않는다"는 것은 UX 측면에서 사용자에게 편의를 주기 위함 (한계 有) 보안적인 측면에서 유효성 검사는 UI, 서버에서 둘 다 수행되어야 함 서버에서 secure coding 스프링, 스프링 부트 모두 적용 가능 @ 어노테이션 @어노테이션은 VO(DTO) 클래스의 멤버변수에 적용해서 사용 Import는 javax.validation패키지를 사용 어노테이션 설명 적용대상 @NotNull null을 제외, 공백 허용 String, Long, Integer등등 전부 검사 가능 @NotBlank null, 공백을 허용하지 않음 String..
thymeleaf 자바 라이브러리 텍스트, HTML, XML, Javascript, CSS 그리고 텍스트를 생성할 수 있는 템플릿 엔젠 JSP로 만든 기능들을 완전히 대체 가능 spring boot에서는 jsp쓰지 말고 타임리프 쓰라고 권장 build.gradle //타임리프뷰를 사용하려면 implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 위의 코드를 적으면 따로 설정 안해줘도 됨 문법 https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html Tutorial: Using Thymeleaf 1 Introducing Thymeleaf 1.1 What is Thymeleaf?..
Spring boot 학습목표 gradle빌드툴 builder패턴 타임리프 뷰 템플릿 유효성 검사 방법 Persistentent Framework(영속성 프레임워크) 마이바티스 JPA and hibernate란? 메시지컨버터 REST API 판매자 매니저 프로젝트 Spring vs Spring boot 표준 프레임워크(전자 정부 프레임워크)의 사용으로 spring 또한 소홀해서는 안됨 Spring Spring boot 프로젝트의 구조 MVC2 MVC2 빌드 툴 - 라이브러리 다운, 컴파일, 배포 전 합쳐주는 것 메이븐 그레이들 빌드 설정파일 Pom.xml Build.gradle 스프링 설정파일 xml파일 JAVA파일 and Application.properties 설정 방식 수동 자동 JDBC Mybat..
SpringMyweb(3) 페이징 처리 1. service, mapper 영역에 getList 함수를 선언 2. 등록번호 역순으로 데이터를 조회해서 가지고 나옴 3. model에 담아서 (여기서 모델에 담아줘야 함) 4. 화면에서는 반복문으로 처리 페이지 검색처리 1. 화면에서는 page, amount, searchType, searchName을 넘김 2. criteria에서 검색값을 받음 = getList로 cri 넘김 3. sql문을 바꿈 (동적쿼리) 4. total sql도 바꿈 (동적쿼리) = getTotal로 cri 넘겨서 total값 받아옴 5. 페이지 a태그 클릭시 searchType, searchName을 쿼리스트링으로 넘김 6. 검색 키워드 유지 페이지네이션 1. (페이지네이션 클릭은) ..
SpringMyweb(2) 게시판 구현 순서 1. 컨트롤러 생성 (화면 확인) 2. 등록 처리 3. 테이블 생성 4. DB관련 설정 (root - xml작업) 5. BoardVO 생성 (DB컬럼명과 반드시 동일하게 생성) 6. Service 구현 7. DAO 구현 8. 마이바티스 DB작업 9. 상세보기 10. 변경 11. 삭제 12. 페이징 처리 DB(MySQL) 생성 및 기본 컨트롤러, 서비스 연결 2023.02.03 - [Spring] - [Spring] ??? MySQL 설치, Spring,DB연결 ▶ JDBC, Spring-JDBC, DataSource, HikariCP, Spring-test [Spring] ??? MySQL 설치, Spring,DB연결 ▶ JDBC, Spring-JDBC, Da..
tiles 웹 페이지의 상단, 하단 메뉴와 같이 반복적으로 사용되는 부분들에 대한 코드를 분리해서 한 곳에서 관리를 가능하게 해주는 프레임워크 ex) 보통 header를 resources-layout 폴더에 넣고 index.jsp에서 넣는데 추천X, 페이지명이 바뀌면 많은 파일을 전부 수정해줘야 하기 때문에 그것을 방지 라이브러리 추가 org.apache.tiles tiles-extras 3.0.8 org.apache.tiles tiles-servlet 3.0.8 org.apache.tiles tiles-jsp 3.0.8 pom.xml에 tiles 라이브러리 ▲ 넣기 tiles는 반드시 jstl이 필요함 ▼ javax.servlet jstl 1.2 tiles 선언 tiles를 사용하는 뷰리졸버(view ..
MyBatis 라이브러리이자 프레임워크 (Spring에 포함x) 개발자가 지정한 SQL, 고급 매핑을 지원하는 프레임워크 영속성 프레임워크: 파일을 영구적으로 저장해놓고 씀 DAO 계층을 대신 = DAO 필요 없음 DAO의 Interface의 구현클래스를 xml 파일이 대신함 복잡한 JDBC코드 걷어냄 = sql문만 남음 spring에서 사용하려면 MyBatis-Spring module 다운받아야 함 전통적인 JDBC 프로그램 MyBatis 직접 Connection 생성 자동 Connection 생성 직접 Close() 처리 자동 Close() 처리 직접 PreparedStatement 생성 자동 PreparedStatement 처리 Pstmt의 setxxx() 직접 처리 #{name} 을 통한 ? 처리..
MySQL MySQL 설치 https://dev.mysql.com/downloads/installer/ MySQL :: Download MySQL Installer Select Operating System: Select Operating System… Microsoft Windows Select OS Version: All Windows (x86, 32-bit) Windows (x86, 32-bit), MSI Installer 8.0.32 2.4M (mysql-installer-web-community-8.0.32.0.msi) MD5: 0f882590f8338adc614e9dc5cb00ca0b | Signatu dev.mysql.com 다운받은 후 압축 해제 Server - 최신 8버전 Workbenc..