반응형

SPRING BOOT 11

Error: javax/servlet/jsp/tagext/TagLibraryValidator 오류를 해결해 보자

제가 정리한 블로그의 스프링부트의 간단한 예시글이 작성한지 벌써 2년이 지났네요... 그 동안 스프링부트와 jstl도 버전이 바뀌었을테고 그로인해 실행 오류가 발생하는 경우가 종종 있는데요 오늘은 이 내용을 정리해 보려고 합니다. 스프링부트 안에 내장된 탐캣의 버전이 10으로 올라가면서 javax.servlet에서 jakarta.servlet로 패키지 이름이 바뀐 것 같네요 (stackoverflow 참고링크 : https://stackoverflow.com/questions/64597921/jakarta-servlet-servletexception-java-lang-noclassdeffounderror-javax-servlet) 아래와 같은 에러로그를 통해 jstl 쪽 호출에 문제가 있다고 유추할 수있..

SPRING BOOT 2023.12.19

[스프링부트 10] Spring Boot 로그 설정해 보기

오늘은 지금까지 진행했던 개발환경에 log(로그)를 설정해 보도록 하겠습니다. 먼저 어플리케이션 로그를 찍기 위해 logback을 이용하여 설정을 진행할 것인데요.. 스프링부트에서 기본제공되기 때문에 많이 쓰이고 있습니다. jdbc(db)에 대한 로그 설정은 log4jdbc를 이용하도록 하겠습니다. 자, 그럼 시작해 볼까요? 먼저 application.properties 파일에 아래와 같이 로그 레벨 정보를 설정해 주도록 합시다. 아래와 같이, 컨트롤러나 서비스별로도 찍고 싶은 로그의 단계를 설정할 수 있습니다. DB의 로그를 보기 위해서는 지난 시간에 데이터소스 연결 했던 부분을 아래 이미지를 참고하여 log4jdbc가 작동할 수 있도록 수정해 주셔야 합니다. (하단의 빨간색 박스를 화살표와 같이 수정..

SPRING BOOT 2021.11.30

[스프링부트 9] Spring Boot 데이터베이스(MSSQL) 연결 2

이번 포스팅에서는 실제로 DB의 테이블에서 데이터를 조회해서 VIEW에 가져와 보겠습니다 먼저 sample.xml 쿼리문을 예로 생성해 보겠습니다. 아래와 같이 지난시간에 생성되었던 resourecs/mybatis/ 경로 밑에 sample.xml 파일을 생성하고 아래와 같이 작성해 줍니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 ; SELECT CD_COMPANY as company, ID_USER as id, NO_EMP as no FROM MOBILE_EMP Colored by Color Scripter cs 위의 예제는 MyBatis에서 Result를 ResultType를 이용해 VO로 처리할 것이다. 하지만 아래와 같이 ResultMap도 있으니 알아두자. Resul..

SPRING BOOT 2021.11.22

[스프링부트 8] Spring Boot 데이터베이스(MSSQL) 연결 1

이번 포스팅에서는 지난시간까지 진행되었던 JSP와 Thymeleaf에 DB를 연결해 보도록 하겠습니다. MYSQL, MariaDB, MSSQL 등 여러가지 DB의 종류가 있지만 MS Azure 포탈을 이용하여 무료로 CLOUD MSSQL 데이터베이스를 구축해 놓은 포스팅이 있어, 이번 시간에는 MSSQL로 진행해 보도록 하겠습니다. (사실 어떤 DB를 써도 아무런 문제가 될 것은 없습니다. ) 아! 혹시 Azure에서 무료로 제공하는 MSSQL DATABASE를 구현해서 실습을 따라 하실 분들은, 여기 링크로 이동하여 DATABASE를 만들고 진행하시면 더 편하실 것 입니다. 자, 이제 시작해 보겠습니다. 먼저 이론을 좀 설명해 드릴께요.. JDBC라는 용어를 한번쯤은 들어 보신 적 있으실 것 입니다. ..

SPRING BOOT 2021.11.17

[스프링부트 7] Spring MVC View 만들기 (Thymeleaf)

지난 시간에는 스프링부트에서 jsp를 구동시키는 내용에 대해 알아보았습니다. 하지만 스프링부트에서 권장하는 view가 아니기 때문에 이번 시간에는 Thymeleaf에 대해 알아보도록 하겠습니다. 먼저 jsp와 Thymeleaf가 어떤 차이가 있는지 간단히 살펴 보고 갈까요? jsp - 서블릿이라는 형태로 변환되어 동작하며 서블릿은 java소스라 jsp에서도 java 코드 사용이 가능해 집니다. 다만, 이때문에 view에 비지니스 로직이 포함되어 복잡해지고 무거워지는 단점이 발생합니다. (요즘은 jsp 내부에 비지니스 로직이 포함된 java 코드 삽입을 지양합니다.) - jar 패키징이 불가하며, war 패키징만 가능하고, jar와 달리 was가 필요합니다. Thymeleaf - View Template ..

SPRING BOOT 2021.11.11

[스프링부트 6] Spring MVC View 만들기 (JSP)

지난 시간에는 스프링 컨트롤러에 대해 알아보았습니다. 이제, 이번 시간부터는 VIEW에 대해 실습을 진행하며 알아보도록 합시다. [먼저, JSP 연동하기] 먼저, 스프링부트에서는 jsp가 자동설정되지 않으며 권장되지도 않습니다. 왜 스프링부투에서는 jsp를 권장하지 않을까요? 일단 jsp를 사용하면 JAR 패키징을 할 수 없고, 최근에 만들어진 서블릿 엔진이 JSP를 지원하지 않는 등 제약사항이 발생하기 때문입니다. 하지만, 간단한 설정을 통해 jsp 파일을 동작하게 만들 수 있습니다. 먼저 프로젝트의 pom.xml 파일을 수정해 주도록 합시다. pom.xml 파일을 열어 구조에 맞게 아래의 코드를 추가 합니다. (POM : Project Object Mode의 약자) 1 2 3 4 5 6 7 8 9 1..

SPRING BOOT 2021.11.10

[스프링부트 5] Spring MVC Controller 만들기 2탄

지난 시간에는 @Controller 어노테이션(전통적인 Spring MVC 컨트롤러)에 대해 알아 보았습니다. 다시 간단하게 정리하여 볼까요? @Controller는 주로 View를 반환하기 위해 사용되며, Data를 반환할 수 도 있다는 것입니다. Data를 반환할 경우에는 @ResponseBody 어노테이션을 활용하여 지난 예에서는 Json 형태로 데이터를 반환하는 예제를 만들어 보았었죠.. (@ResponseBody : 자바 객체를 http 요청의 body 내용으로 매핑) 근데.. 이러한 쓰임에는 아무런 문제가 없지만.. 만약 Data만 반환하는 경우가 생긴다면 이때마다 모든 메서드에 @ResponseBody 어노테이션을 사용해야 하는 번거로움이 존재합니다. 그래서 나온 게 @RestControll..

SPRING BOOT 2021.11.10

[스프링부트 4] Spring MVC Controller 만들기 1탄

지난 포스팅에이어, 이번에는 Spring MVC를 사용하여 컨트롤러에서 페이지를 호출하는 예제를 작성해 보려고 합니다. 먼저, 다들 아시겠지만 간단히 MVC를 짚어 보자면 Model View Controller의 의미이며 스프링이 제공하는 웹 구축을 위한 프레임워크로 이해하시면 됩니다. Model은 무엇을 할 지에 대한 로직을 담고 비지니스 로직을 처리하기 위한 역할을 담당합니다. View는 최종 사용자에게 결과를 화면(UI)로 보여주기 위한 역할을 하게 됩니다. Controller은 이 두 사이에 있는 컴포넌트로 Model이 데이터를 어떻게 처리할 지를 알려주는 역할을 담당합니다. 즉, 클라이언트의 요청에 대해 Model이 업무 수행을 완료하면 그 결과를 가지고 화면을 생성하도록 View에 전달 하는 ..

SPRING BOOT 2021.11.09

[스프링부트 3] IntelliJ를 이용하여 스프링부트 개발 시작하기

이번 시간에는 IntelliJ를 이용하여 스프링부트 프로젝트를 불러와 개발을 시작하는 과정을 포스팅해 보겠습니다. 아래와 같이 인텔리제이를 실행 한 후, "Projects"탭에서 "Open"을 선택합니다. 저의 경우에는 지난시간에 스프링부트 프로젝트를 구성한 F:project\springboot\mis를 선택하였습니다. 선택 후, "OK" 버튼을 눌러 줍니다. Maven 프로젝트를 인식하고 신뢰할 수 있는지를 묻는데, "체크" 박스 후 "Trust Project"를 클릭합니다. 인텔리제이가 실행된 후, 왼쪽의 프로젝트를 펼쳐 보면 아래와 같은 구성을 확인 할 수 있습니다. 우리가 앞으로 사용할 java, resources 그리고 pom.xml 이 보입니다. 인덱스 화면을 실행해 보겠습니다. 스프링부트는 ..

SPRING BOOT 2021.11.09

[스프링부트 2] 스프링부트(Spring Initializr) 프로젝트 생성하기

인텔리제이(IDE) 설치는 지난번 시간에 완료 하였고, 이제 본격적인 스프링부트 프로젝트를 생성해 봅시다. 이번 포스팅에서는 스프링 이니셜라이즈(Spirng Initializr)을 사용하도록 하겠습니다. 먼저 아래의 사이트로 접속합니다. (스프링 이니셜라이즈 : Spring Initializr) | 스프링부트란? - Spring Framework를 사용하는 프로젝트를 간편하게 설정할 수 있는 서브 프로젝트 를 의미합니다. | 특징은? - 단독 실행이 가능한 어플리케이션을 생성할 수 있다. - 최소한의 스프링 구성을 통해 빠르게 구성하고 실행 할 수 있다. - 웹 컨테이너가 내장되어 있어, 최소의 설정으로 간편하게 web을 만들 수 있다. 위와 같이 서버가 내장되어 있고, 기타 시큐리티 셋팅이나 외부의 셋..

SPRING BOOT 2021.11.09
반응형