오늘의 의문을 하나의 이미지로 표현하자면 이것이다... 책 등록 form에서 넘기는 값들이 모두 null로 넘어가고, 맨 뒤 파일도 null로 넘어간다는 점이다. 한참을 헤매다가 혹시 몰라 enctype="multipart/form-data"을 빼고, 파일 input도 제거해보았는데, 그건 잘 넘어갔다. 그제서야 불연듯이 깨달았다. 수문장(servlet-context.xml)에 CommonsMultipartResolver를 알리지 않았다는 것을... 🌱 Spring MVC (15) 파일 업로드1 (Multipart/form-data, MultipartFile) 🔎 Multipart/form-data velog.io 이 분께서 하시는 말씀처럼 일반적으로 form태그는 application/x-www-for..
만약 로그인하지 않은 회원은 글 등록을 못하게 하고 싶다고 가정한다. [header.jsp] 안녕하세요 ${loginUser.name}님 로그아웃 모든 페이지 상단은 동일하기 때문에 중복해서 코드 칠 필요없이 header.jsp에 하나로 적어 모든 페이지에 적용하는 방식으로 진행한다. header.jsp를 메인 페이지에 적용한다. [index.jsp] 도서 등록 도서 목록 를 이용해 메인페이지에 header.jsp를 적용한다. 로그인 안 한 회원의 경우 도서 등록을 못하게 막을 것이다. => 때문에 HandlerInterceptor 인터페이스를 구현할 SessionInterceptor 클래스를 만들어 줄 겁니다. [SessionInterceptor.java] @Component public class S..
만약 도서 정보를 받는 간단한 페이지가 있다고 가정해보자. 도서 등록 도서번호 도서명 저자 도서번호, 도서명 저자 모두 쓰지 않으면, 파라미터 입력값이 덜 들어왔다고 띄워주고 싶다. 그럼 일단 form에 적힌대로 컨트롤러에 post방식의 regist주소의 요청이 오면 기능할 수 있는 곳을 찾아준다. => @PostMapping("regist") @PostMapping("regist") public String doRegist(Book book, Model model) throws BindException { if(book.getIsbn().equals("")||book.getTitle().equals("")||book.getAuthor().equals("")) { throw new BindExceptio..
1. 유저 생성/삭제 1) 계정 확인하기 USE mysql; select host, user, password from user; 2) 유저 만들기 CREATE USER '유저이름'@'접속장소(IP)' IDENTIFIED BY '비밀번호'; CREATE USER 'tksgk2598'@'localhost' IDENTIFIED BY '1234'; tksgk2598이라는 유저를 만들어주세요. CREATE USER tksgk2598; 간단하게는 접속장소, 비밀번호를 생략해서 만들 수도 있습니다. 3) 새로 생성한 유저로 데이터베이스 들어가기 mysql -u tksgk2598 -p 새로 생성된 유저는 어떠한 권한도 없기 때문에 아무런 데이터베이스에도 접근할 수 없습니다. 4) 외부 접근 권한 부여하며 유저 생성하..
1. INSERT 1) 튜플 삽입하기 INSERT INTO student(ID, Password, name, major, major2, count, student_num, grade, lecture_num) value(tksgk2598,1234,신산하,산업공학,소프트웨어,20,201734923,4,11111); 모든 필드에 맞춰 데이터를 차례대로 넣는다면, student 뒤 괄호를 생략할 수 있습니다. 2. UPDATE 1) 특정 튜플 수정하기 UPDATE student SET grade=1 WHERE id='tksgk2598'; id가 tksgk2598인 튜플의 grade를 1로 바꿉니다. 3. DELETE 1) 특정 튜플 삭제하기 DELETE FROM student WHERE id='tntks2598..
1. DROP 1) 데이터베이스 삭제 DROP DATABASE IF EXISTS MOVIE; SHOW DATABASES; 만약 영화라는 데이터베이스를 만들려고 하는데, 이미 존재한다면, 그 데이터베이스를 지웁니다. 2) 테이블 삭제 DROP TABLE movieList; SHOW TABLES; MOVIE 데이터베이스 안에 있는 영화들의 정보를 담은 movieList를 삭제합니다. 2. CREATE 1) 데이터베이스 생성하고 사용하기 CREATE DATABASE MOVIE DEFAULT CHARACTER SET utf8mb4; USE MOVIE; utf8mb4는 이모지도 사용할 수 있게 해주는 장치입니다. 2) 데이터베이스 안에 테이블 생성하기 CREATE TABLE `movieList` ( `ID` in..
1. mysql 공식 홈페이지에서 MySQL Community Server를 클릭한다. https://dev.mysql.com/downloads/mysql/ MySQL :: Download MySQL Community Server Select Operating System: Select Operating System… Microsoft Windows Ubuntu Linux Debian Linux SUSE Linux Enterprise Server Red Hat Enterprise Linux / Oracle Linux Fedora Linux - Generic Oracle Solaris macOS Source Code Select OS Version: All Windows (x86 dev.mysql.com ..