목록2024/10/08 (5)
코딩항해기
[Spring] springframework.DispatcherServlet 구조org.springframework.web.servlet.DispatcherServlet DispatcherServlet은 이름에도 쓰여있듯이 Servlet 파일이다. Spring에서는 페이지 이동 구분을 ViewResolver가 해주기 때문에 ViewResolver에 대한 의존성을 가지고 있으minibcake.tistory.com 기존에 DispatcherServlet을 사용하기 위해 xml로 의존성을 주입했다. 밸류 값--> login boardWrite ..
JSTL이 있는 페이지에 접근을 시도하면 500 에러가 발생했다.NoClassDefFoundError로 클래스를 찾을 수 없다는 내용이다. dependency 문제였는데, https://mvnrepository.com/ 에서 dependency 태그를 찾아 넣으면서 구버전을 넣은 것이 문제였다. 톰캣 10.1을 사용하고 있으므로 개발 환경에 맞는 의존성을 주입해 해결했다. jakarta.servlet.jsp.jstl jakarta.servlet.jsp.jstl-api 3.0.2 org.glassfish.web jakarta.servlet.jsp.jstl 3.0.1 javax에서 jakarta로, jakarta로 바뀌며 jstl 구현체(org.glassfish.we..
이 경우 문제는 대체로 요청 url 패턴을 잘못 작성한 것이지만 분명 코드를 제대로 작성했고, DispatcherServlet이 생성되었다는 로그까지 확인했는데도 불구하고, 설정해둔 url패턴 요청이 될 때마다 이를 처리하지 못하고 화이트페이지를 띄우는 문제가 발생했다. 정말 xml을 몇 번을 뜯어봤는지 모르겠다...원인은 프로젝트를 생성할 때 추가된 example 코드가 문제였다. 해당 코드가 간섭을 일으켜 오류가 발생한 것으로 example 폴더를 통채로 삭제하니 DispatcherServlet이 설정해둔 url패턴에 따라 정상적으로 요청을 처리했다. 정말 Spring은 하나하나 꼼꼼하게 살펴봐야하는 것 같다...ㅠㅠ
org.springframework.web.servlet.view.InternalResourceViewResolver DispatcherServlet이 의존성을 가지고 있는 두 가지 객체 중 하나인 ViewResolver는 포워드랑 리다이렉트에 따라 path를 완성해준다. ViewResolver는 DispatcherServlet xml에 태그로 정의할 수 있다. 이 구조를 풀어보면 이러한 형태가 된다.package com.koreait.app.view.controller;public class ViewResolver { private String prefic; private String suffix; //단어의 앞 뒤에 S..
Spring Boot에서 지원하는 내장 서버 말고 로컬 서버를 추가하는 방법이다.JSP 기반 웹프로젝트를 진행할 때(eclipse에서 Servers) 사용한 아파치톰캣이다. 먼저 상단의 Run/Debug Configuration에 있는 Edit Configurations를 연다. Edit Configuration에서 +를 눌러 서버를 추가할 수 있다. 그 중 이번에 연결할 톰캣 local를 고른다. Configure...를 눌러 서버 폴더를 연결해주면 되며, 포트 번호는 HTTP port에서 설정할 수있다.Name은 자유롭게 설정할 수 있지만 Application server이름과 동일하게 하는 것을 권장하고 있다. 이 때 VM options에 -Dfile.encoding=UTF-8 를 작성하면 한글..