전체 글 183

[Web Service Project]5. 게시글 등록

Mustache를 활용한 게시글 등록화면 만들기 HTML Layout 방식을 활용하여 공통 영역을 별도의 파일로 분리하여 필요한 곳에서 가져다 쓰는 방식 활용 footer, header 공통 영역을 분리 src/main/resources/templates 디렉토리에 layout 디렉토리를 추가로 생성하여 저장 CSS, JavaScript BootStrap, JQuery 등 프론트엔드 라이브러리를 사용 여기서는 외부 CDN을 사용하여 개발, 실제 서비스에서는 직접 라이브러리를 받아서 사용 페이지 로딩속도를 높이기 위해 css 태그는 header, js 태그는 footer에 위치 HTML은 인터프리터언어로 소스코드를 위에서 아래로 읽고 실행하기 때문에 css를 읽지않고는 깨진화면이 보여질 수 있다. Java..

[Web Service Project] 4. 머스테치로 화면 구성하기

4.1 서버 템플릿 엔진과 머스테치 소개 템플릿 엔진 지정된 템플릿 양식과 데이터가 합져져서 HTML 문서를 출력하는 소프트웨어 -> 클라이언트 템플릿 엔진(리액트, 뷰)와는 다름! Nashorn, J2V8 머스테치 기존 템플릿 엔진의 단점 JSP, Velocity : 적합하지 않음 Freemarker : 템플릿 엔진치고 과하게 많은 기능으로, 비즈니스 로직이 추가될 수도 있음 Tymeleaf : 어려움 템플릿 영역은 화면 역할에만 충실해야한다. mustache 장점 - 다른 템플릿 엔진보다 심플하다. - 로직 코드를 사용할 수 없어 View의 역할과 서버의 역할이 명확하게 분리됩니다. - Mustache.js와 Mustache.java 2가지가 다있어서 하나의 문법으로 크언트/서버 템플릿을 모두 사용 ..

[Web Service Project] org.hibernate.tool.schema.spi.CommandAcceptanceException 해결

org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL org.hibernate.tool.schema.spi.CommandAcceptanceException: Error executing DDL On trying to create the above entity I am getting CommandAcceptanceException and the table is not able to get created in the database, please tell me how to fix it. application.properties file stackoverflow.com 이 경우 보통 h2 데이터베이스가 실행이 안되어 있거나,..

[Web Service Project] 3. SpringBoot & JPA로 간단 API 만들기(2)

Project Structure API를 만들기 위한 클래스 Request 요청을 받는 Dto API 요청을 받는 Controller 트랜잭션, 도메인 간의 순서를 보장하는 Service Spring 웹 계층 Web Layer 컨트롤러, 뷰 템플릿 외부 요청과 응답에 대한 전반적인 영역 Service Layer @Service 컨트롤러와 Dao의 중간 영역 Transactionl 사용 영역 Repository Layer DB에 접근하는 영역 Dtos 계층 간 데이터를 교환하기 위한 객체들의 영역 Domain Model @Entity, VO 비즈니스 처리를 담당하는 곳 --> Domain 테스트 @WebMvcTest -> JPA 기능이 작동하지 않는다. 109p 코드를 그대로 쓰면 오류가 난다. -> 해결..

[Web Service Project] 2. 테스트 코드 작성 & 롬복

Directory Structure Application.java package com.jacklee.webservice; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } } 프로젝트 메인클래스 작성 package com.jacklee.webservice.web; import org.junit..

[Web Service Project] 1. 프로젝트 생성하기

개발 환경 - IDE : IntelliJ - Java 8 ( JDK 1.8 ) - Gradle 4.8 ~ Gradle 4.10.2 build.gradle의 코드가 어떠한 역할을 하는지, 이니셜라이저 이외에 추가로 의존성 추가가 필요하면 어떻게 해야 할지 등을 모르는 상태로 개발을 시작하는 경우가 있다. 아직 Springboot와 Gradle에 익숙하지 않기 때문에 하나씩 코드를 작성하면서 어떤 역할을 하는지 이해하기 위해 프로젝트 생성시 스프링 이니셜라이저를 통해서 진행하지 않겠습니다. plugins { id 'java' } group 'com.jacklee.webservice' version '1.0-SNAPSHOT' repositories { mavenCentral() } dependencies { ..

[Jquery] $.ajax 사용 시 success callback에서 this 객체 사용

ajax통신을 마친 이후, success callback에서 현재 객체(this)의 상태값을 바꾸어야 하는 경우가 있을 수 있다. 하지만, jquery에서 제공하는 $.ajax의 경우 success callback을 등록하면, this에 response데이터가 들어간다. 이런 경우에 context: this라고 $.ajax통신 시에 argument로 포함해서 던지면,proxy 형태로 가져올 수 있도록 처리가 되어, callback에서도 사용가능하도록 세팅이 된다.     출처: https://hakurei.tistory.com/87 [Reimu's Development Blog]

에러.log 2021.02.06

MyBatis를 이용한 DB연동

오늘 만들 것많은 API는 DB로부터 데이터를 불러오거나 사용자로부터 전달받은 데이터를 DB에 저장하는 작업을 수행합니다. 오늘은 MyBatis를 이용해 DB에 접속하고, DB로부터 간단한 값을 불러오는 기능을 구현합니다.만약 이미 MyBatis를 접해보셨거나 사용법을 알고 계신다면 굳이 이번 글은 자세히 보지 않으셔도 됩니다.   사전 설정practice계정에 members 테이블을 생성해서 데이터 삽입더보기CREATE TABLE "PRACTICE"."MEMBERS"( "SEQ" NUMBER(*,0) NOT NULL ENABLE, "NAME" VARCHAR2(255 BYTE) NOT NULL ENABLE, "COUNTRY" VARCHAR2(255 BYTE) NOT NULL ENABLE,..

개념.log/Spring 2020.12.30

maven없이 Spring 프로젝트 생성하기

1. 개발환경 - JDK 1.8 - eclipse - apache+tomcat 7.0 - Spring - mybatis 3.2.1 - Oracle Database 11g 2. 과정 1. 프로젝트 생성: New > Dynamic Web Proejct 1. Project name, Target runtime 등 설정 2. Java(configure project for building a Java application) + 수정 - Remove: src - Add Folder(3개) src/main/java: 개발되는 코드의 경로 src/main/resources: 서비스가 실행될 떄 필요한 파일의 경로 src/test/java: 테스트 코드 3. Web Module(Configure web module s..

개념.log/Spring 2020.12.28
반응형