전체 글(101)
-
[Spring Boot] Spring Boot 환경에서 프로젝트 생성, Spring과 다른 점
spring boot 프로젝트는 start.spring.io 홈페이지에서 생성할수도 있고 혹은 intellij에서 기본으로 제공하는 프로젝트 생성 과정을 거쳐도 동일하다. 이렇게 3.1.1 ㄷㅏ음과 같이 plug in 의존성 정보를 추가해준다. 롬복도 원래 추가해줘야하는데 위 프로젝트 생성할 때 추가를 안해줬기 때문에 maven-repository에서 롬복에 관련된 의존성을 다음과 같이 추가해준다. org.projectlombok lombok 1.18.24 provided src/main/resources/templates 폴더에 있는 application.properties에 포트번호 및 인코딩을 설정한다. server.port=8080 server.servlet.encoding.force = true..
2023.07.26 -
[Servlet] getContextPath()와 getServletContext()의 차이 및 사용방법
프로젝트를 하다 보면 파일을 업로드하고 img 파일의 경로를 설정하기 위해서 getContextPath() 및 getServletContext() 메서드를 사용할 일이 종종 있다. 이 메서드들의 차이는 무엇이고 각 메서드가 어떤 경로를 불러오는지, 그 경로를 통해 어떻게 파일에 접근하는지에 대해 알아보자. System.out.println("getContextPath : " + request.getContextPath()); ServletContext context = request.getSession().getServletContext(); System.out.println("servlet context : " + context.getRealPath("") ); 컨트롤러에 위 코드를 작성하고 콘솔창 출..
2023.07.25 -
[spring] 웹 서버에서 img를 로드하지 못하는 문제 해결
img 태그를 작성할 때 src(경로 설정) 속성값에 {본인의 프로젝트 경로(context path) } /resources/img/logo.png와 같이 작성했을 때 서버에서 계속 이미지를 로딩하지 못하는 문제가 발생했다. 우선 컨트롤러에서 print문을 이용해 ServletContext의 getRealPath메서드로 서버가 정적 리소스에 접근하는 경로를 확인해봤을 때 target폴더의 snapShot폴더로 접근하는 것을 알 수 있었다. 해당 폴더 아래에는 정상적으로 resources 폴더가 있음에도 img태그가 인식되지 않았고 심지어 직접 URL을 통해 접근해도 jsp파일 이외의 정적파일에는 접근할 수 없는 문제가 발생했다. 아마도 spring 프로젝트는 dispatcherServlet을 통해 사용자..
2023.07.24 -
[백준] 단계별로 풀어보기 10951번 문제(EOF) 풀이
다음과 같이 파일의 입력이 있다면 있는만큼 입력을 받아야하는 문제가 있다. 이 때 필자는 hasNext() 메서드를 사용하지 않고 다음과 같이 로직을 작성해서 시도했으나 오답처리가 되었다. public static void main(String[] args) { Scanner sc = new Scanner(System.in); String numbers = null; while(!(((numbers = sc.nextLine()).equals("")) || numbers==null)){ String [] numbers_array = numbers.split(" "); byte num1 = Byte.parseByte(numbers_array[0]); byte num2 = Byte.parseByte(numbe..
2023.07.21 -
[Spring] log4j.xml 추가하기 (콘솔창에서 로그내역 확인하기)
Spring을 이용해 서버를 실행시 빈 객체 생성을 위한 Bean Factory, ApplicationContext 컨테이너, DIspatcherServlet 등 여러가지 환경이 실행되게 된다. 이 때 유저가 서버에서 어떤 요청을 했는지, 그에 따른 Dispatcher Servlet의 구동은 어떻게 됐는지 확인하기 위해서는 log4j 라이브러리를 추가해야한다. 라이브러리를 추가한 후에는 classpath(src/main/resources)에 log4j.xml 혹은 lo4j.properties 파일을 생성한다면 기본 경로로 설정돼 파일의 설정값을 인식한다(classpath로 설정된 기본 경로는 사용자 정의로 설정할 수 있다). pom.xml에 의존성 추가 내용 log4j log4j 1.2.12 log4j...
2023.07.15 -
[Spring] Intellij에서 Spring 프로젝트 생성
예전에 Spring boot를 생성할 때는 강의를 참고한 것도 있었지만 별도로 설정할 것들이 많지 않았던 걸로 기억한다. 이번에 배운 내용은 Eclipse에서 Spring legacy project를 생성하는 거였는데 나는 Intellij tool을 쓰다보니 별도로 참고해서 프로젝트를 생성하면서 알게된 것들을 기록해놓고자 한다. 또한 교과서적인 방법이 없다보니 더 어려움을 느꼈던 것 같다. 우선 대략적인 프로젝트 생성 환경은 다음과 같다. 사용 IDE : Intellij Ultimate 운영체제 : Mac Ventura OS 13.x 버전 필자의 경우도 여기저기 블로그를 참고하다 애를 많이 먹었기 때문에 아무래도 처음에는 이 글을 따라한 뒤에 정상적으로 생성을 완료했다면 나중에 본인만의 방법대로 바꿔서 ..
2023.07.13