JSP표준 태그 라이브러리로서 자신만의 태그를 추가할 수 있는 기능을 제공한다.HTML코드에 Java 코드를 넣어 동적인 웹 페이지를 생성하는 웹 어플리케이션 도구이다.application을 구현하다보면 jsp에서 분기처리를 해서 권한에 따라서 다른걸 보여줘야 하는 상
해당 코드를 통해서 mysql한글설정을 해주었다.다음 코드를 통해서 한글설정이 된 것을 확인할 수 있다.사용자를 생성하고 권한을 주어서, mysql연결 시 root 외에 다른 사용자를 사용할 수 있었다.그리고 springboot의 application.yml파일에 다음
JDBC란?Java Database Connectivity자바에서 DB 프로그래밍을 하기 위해 사용되는 API -> DB종류에 상관없다.STS TOOL이란?스프링 툴 스위트(STS, Spring Tool Suite)란 이클립스 기반 스프링 애플리케이션을 개발 하기 위한
스프링부트는 application.yml파일에 설정하면 된다.키랑 밸류 사이에는 한칸 띄어있어야함 json보다 yml이 경량이다.들여쓰기 규칙은 스페이스 두칸이다yml설정 하지 않으면 디폴트값은 port : 8080, contextpath :/파일 리턴 기본경로 src
Model package를 생성하고 User.java클래스 를 생성하였다.데이터베이스의 테이블의 칼럼들을 생성하기 위한 jpa작업을 하였다.@id = primary key를 의미@GeneratedValue = .identity프로젝트에서 연결된 db넘버링을따라간다 my
엔티티에 해당하는 보드, 리플라이를 만들어 보았다.@Lob대용량 데이터를 주입할 때 사용한다.@ColumnDefault("0")정수일 경우는 칼럼디폴트 ''를 추가 안해줌@ManyToOneMany = Board, User = One, 여러개의 게시글은 한명의 유저에 의
제이슨 사용 이유, 어떻게?통신 보낼때 공용어를 정함, 모든사람 전송시자신의 언어를 영어로 번역, 응답시 영어를 자기나라 언어로 번영, 반대의 경우도 마찬가지, 프로그래밍에서도 마찬가지로자바 오브젝트를 json으로 번역해서 파이썬 오브젝트로 전송, json데이터는 데이
회원가입을 위해 enum 생성인서트시 쿼리가 실행될 때 null값이 들어가면 @DynamicInsert로 널값은 인서트에서 제외할 수 있다. 하지만 계속 이 annotation을 계속붙히기에는 양이 너무 광범위해진다.role값에 null이 아닌 디폴트값이 들어간 것을
전체 데이터를 select 및 페이징 테스트전체 데이터를 get하는 함수를 작성해보았다.브라우저에서 Json view 를 깔끔하게 보여지는 tool을 설치하면 가독성이 좋아진다.Pageable로 paging하기size : 한 page에 가져올 데이터 개수Sort.Dir
영속성 컨테스트컨트롤러에서 User객체에 save하면, jpa의 영속성컨테스트의 1차캐시에 User객체가쌓인다. 영속화 되었다고 한다.그리고 DB에 flush한다. 값을 저장한다.예로 4번을 select하면 영속화되어있는지 체크, JPA 캐시에서 추출해간다. DB까지
해당 예외가 들어왔을 때 처리하는 전용 class 를 만들기 위해 handler package에 GlobalExcepionHandler class 를 만들어 다음과 같이 작성했다.@ControllerAdivice를 붙히면 모든 Exception이 발생했을 때 이 cla
w3school의 Bootstrap을 통해 홈페이지를 만드는데 필요한 html코드들을 사용하였다. bs4 Navbar의 Collapsing code를 이용하여 메인화면을 구성하였다.그리고 controller package를 만들고, BoardController를 만들어
회원가입 데이터를 입력하기 위한 작업들을 수행하였다.Js파일은 정적 파일이므로 static/js/user.js파일을 생성하였다.index함수 설정회원가입 jsp파일에 script로 user.js참조를 설정 해두고, 데이터를 입력 시 각각 데이터를 저장해보고 확인하기 위
요청에 대한 응답을 html이 아닌 data(json) 을 받기 위해서이다.클라이언트는 웹에서 브라우저로 서버로 요청을 하는데, 서버는 응답을 html로 한다.ex)요청 회원가입 화면을 보여줘 하면 서버가 html로 만들어서 응답을 해주면 클라이언트가 브라우저로 읽는다
2번째 이유는 비동기 통신을 하기 위해서이다.(순서에 상관없이 작업)예를 들어1.화면에그림 cpu작업2.연산 cpu3.다운로드 - 도라에몽 그림(외장) 기억장치+저장장치ㄴ비동기 처리 (저장장치에게 책임을 넘김)4.도라에몽 그림 그리기 cpuㄴ저장장치에게 다운이 다 된다
ajax를 통한 비동기 통신을 구현해보았다.type : 전송할 호출 타입url : 전송시 이용할 api의 위치data-Json.stringify(data) : http 바디값을 json형식으로 변환contentType : 바디데이터의 타입이 어떤 타입인지(MIME타입)
service package를 생성하고 회원가입을 수행하는 UserService 클래스를 생성하고 메소드를 만들었다.@Autowirde란?DI를 통해 스프링 컨테이너가 관리하는 Bean으로 매핑해준다.service가 필요한 이유ex)송금이 있을때, A가 B한테 송금을
EX)EMP라는 데이터베이스를 이용해a Transaction이 시작해서, UPDATE로 11장보고 변경하려 한다.b Transaction에서 empno가 11번인 데이터를 찾으면 임꺽정이 나온다->a가 커밋을 하지 않았기 때문Transaction a가 종료하고 커밋을
Transaction과정 중, 한번이라도 SELECT에서 다른 값이 나오면 이것을 부정합이라 한다.Phantom read라는 것은 결과값 a가 계속 나오다가결과가 아예 없는경우, 보였다 안보였다하는 것을 말한다. Repeactable read로 이 문제점을해결이 가능하
기존과 다른점은 Request->Controller layer에서 영속성 context가 시작되고, Controller와 Service사이에서 Transaction, Jdbc가 연결된다.그리고 돌아오는 Service ->Controller에서 JDBC,Transacti
구 버전의 Spring의 로그인 logic에 대한 실습을 해보았다.apiController에 로그인 method를 추가하였다.로그인한 객체가 반환이 되면 principal을 bound해주었다.Repository에 JPA Naming을 통한 자동쿼리생성 method를 만
security를 사용하기 위해 build.gradle의 security를 주석 해제 해주었다.이후에 홈페이지의 url을 요청해보면, 시큐리티에 의해 내장된 login페이지가 뜨고, logout을 입력해주면 logout설정 및 페이지가 반환되는 것을 볼 수 있다.hea
회원가입시 등록되는 비밀번호를 Hash 암호화를 통해 저장해보았다.기존에 Spring에서 로그인요청, 파라미터 username, pw)를 Security에서 가로채어, 로그인이 완료되면, 내 user정보에 등록된다.(Ioc됨)user정보 타입은 userdetails라는
Spring Security를 이용한 로그인을 수행해보았다.ㄴ먼저 Security filter를 통해 실행되는 configure 함수에서 login이 실행되었을 때 해당주소로 오는 login을 대신 수행하고, default값의 url로 return을 한다.ㄴSecuri
블로그에서 글쓰기 기능을 통해 해당 정보들이 데이터베이스에 저장되는 기능을 구현해 보았다. ㄴBootstrap, summernote에서 가져온 템플릿을 페이지에 탑재하여, 해당 정보를 입력하고 글쓰기 버튼을 누르면ㄴ해당 api를 통해서 board/saveForm이 열리