Web Programming 18

JSP vs Thymeleaf

보통 Java spring의 프론트엔드로 JSP를 많이 씁니다. 하지만 Jsp의 장점이자 단점은, html파일이 아니고, java 파일이라는 겁니다. 그래서, java 논리를 쓸 수 있어서 편한 점도 있지만, seperation of concern, 즉, 프로그래밍 디자인적으로 프론트엔드와 백엔드를 나누려는 요즘의 트렌드에 조금 맞지 않다고도 볼 수 있습니다. 참고 url (영어) : www.quora.com/Which-is-better-Thymeleaf-or-JSP 하지만 확실한 건, thymeleaf건 jsp건, 그 문법에 대해서 알아야 한다는 점입니다. 아무리 thymeleaf가 html이라고 해도, 태그가 있기 때문입니다. Name 위와 같이 th를 사용하여 thymeleaf 네임스페이스를 추가해..

Spring Security를 이용해서 custom login page 만들기

spring security를 이용해서 로그인을 만들면, 디폴트 로그인 페이지가 나옵니다. 다음과 같은.. 뭐 최악이라고 할 순 없지만, 이대로 쓰기는 좀 그렇기 때문에, 따로 페이지를 만들려고 합니다. 참고로 이 로그인을 하기 위해서는, username은 user, password는 임시 비밀번호가 콘솔 창에 나옵니다. 그럼 이 화면을 우리가 원하는 화면으로 어떻게 바꿀수 있을까요? WebSecurityConfig.java 파일을 만들고 override를 하면 됩니다. package com.myBoard.demo; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframewor..

h2 데이터베이스 설정과 초기 데이터 구축 (User table)

Spring Boot에서 인메모리 데이터베이스인 h2를 테스트로 사용해 보았습니다. 1. Spring Boot에서 pom.xml에서 dependency를 추가합니다. 그 후, Maven을 사용해 Build 합니다. com.h2database h2 2. application.properties에서 h2 설정을 세팅합니다. spring.h2.console.enabled=true spring.datasource.platform=h2 spring.datasource.url=jdbc:h2:mem:jinmo 3. model package 에서 User class를 세팅해줍니다. package com.myBoard.demo.model; import javax.persistence.*; @Entity @Table(na..

Gradle이란?

Spring을 개발하다보면 계속 나오는 용어 중 하나가 Gradle, Maven, Groovy, Ant, 등이 있다. 여느때 처럼 잘 정리되어 있는 링크 하나 깔고 가도록 하자. blog.naver.com/rnd5691/222108089028 [Gradle] #1.Gradle 개요 및 Maven과의 차이점 1.GradleGradle는 Maven 처럼 빌드 도구이며, Ant와 Maven을 개선해서 나온 비교적 최신 빌드 도구이... blog.naver.com Gradle이란? Gradle은, Apache Ant 및 Apache Maven의 개념을 기반으로 하는 오픈 소스 빌드 자동화 도구이다. Groovy 기반의 DSL(Domain Specific Language)로 작성되어 있어, 동적인 빌드가 가능하다..

스프링과 스프링 부트의 차이

sas-study.tistory.com/274 [번역글] 스프링 vs 스프링 부트 차이 비교하기! DZone이라는 사이트에서 번역해서 가져온 글입니다. 간단히 읽어보시고 원문을 읽어보고싶으시면 아래 url로 들어가셔서 바로 보시면 될것 같습니다. 참고문 정도로 보시면 좋겠습니다. 원문 : htt sas-study.tistory.com 언제나 그렇지만 위의 링크에 잘 정리가 되어있다. 요약하자면, 스프링은 자바의 웹개발 프레임워크 중에서 가장 인기있고 많이 쓰이는 프레임워크이다. 특히 우리나라에서는 거의 압도적이라고 볼 수 있다. 내가 웹개발자로 취업하려고 했을 때도, 중소기업에서는 PHP, Javascript 를 쓰는 경우가 왕왕 있었지만, 결국 대기업은 95% 이상이 Java를 사용하고, 중견기업도 반..

우분투 톰캣에 스프링 부트 war file 배포하기

전의 내용에 계속해서, Ubuntu 18.04에 Tomcat 8.5를 설치한 후, War file 배포하는 내용을 계속하려 한다. 1. 일단 War file을 받아온다. 받는 방법은, eclipse에서 war export하면 됨! 2. war file 우분투에 올리기 apache-tomcat-[version #]/webappas 로 가서 넣어주면 돈다. 이렇게만 하면 http://ip:port/[project-name] 하면 끝! 주의할점 : 배포하게 되면 ip주소가 생기기 때문에 localhost를 사용할 수 없다고 한다.

우분투 18.04에 톰캣 8.5 설치하기

smujihoon.tistory.com/102 AWS에 설치된 ubuntu(우분투)에 톰캣 설치하기 8.5 버전 저번 시간에 우분투를 할당받아 오는것 까지 했다. 이번에는 그 우분투에 톰캣을 설치하고 내가 만든 홈페이지를 배포를 해보려고 한다. 순서 1. java jdk 설치 2. 톰캣 설치 3. 톰캣 설정 변경하기 1 smujihoon.tistory.com 여기 너무 잘 나와있지만, 나는 AWS가 아니고 macbook의 parallels에서의 ubuntu에서 설치하기를 해 본다. 1. java jdk 설치 2. 톰캣 설치 3. 톰캣 설정 변경하기 1. Java jdk 설치 java 또는 javac 실행하여 에러뜬다면, sudo apt-get install openjdk-8-jdk 로 깔아준다. 2. 톰..

프록시 서버 (reverse, forward)

Proxy 서버란? - 클라이언트와 백엔드 사이에 정보를 전달해 주는 서버. 쉽게 얘기해서, 클라이언트와 백엔드 사이에 이런저런 이유(보안, 속도, 등) 을 사용하는 시스템이나 프로그램을 말한다. Forward Proxy란? - 클라이언트 요청이 웹서버에 직접 전달되는 게 아닌, 프록시 서버를 거쳐서 전달 되는 방식을 뜻한다. 사용 이유 : content filtering, security 등을 위해서 Reverse Proxy란? - 클라이언트가 요청할 때 웹서버의 주소가 아닌 reverse proxy에 있는 주소로 요청하게 되고, proxy 서버가 받아서 그 뒤에 있는 웹서버에 전달하는 형태로, 클라이언트는 웹서버를 정확히 알 수 없다. 사용 이유 : load balancing, caching 등을 위해서