스프링 웹 MVC

스프링 웹 MVC

(52개의 수강평)

1204명의 수강생
월36,666원
110,000원
3개월 할부시
지식공유자 · 백기선
60회 수업· 총 11시간 수업
평생 무제한 시청
수료증 발급 강의
수강 난이도 중급
wac008 프로필

개발 환경 문의드립니다. wac008 3일 전

혹시, 강의에서 사용하고 있는 개발환경
(인텔리J, 각종 플러그인, 톰캣) 세팅에 대한 설명은 따로 없으신지요? 혹시, 다른 강의에서 설명해주셨던 개발환경을 그대로 사용하시는 것인가요??
항상 유익한 강의 감사드립니다:)

1
Baeksong Kwon 프로필

강의 자료 URL 다시 문제가 있는듯 합니다. Baeksong Kwon 10일 전

다운로드가 되지 않아요~^^

3
hp 프로필

404 에러 hp 17일 전

안녕하세요.

이번 강의 실습 중 스프링부트 메인 어플리케이션으로 실행하면 jsp를 못찾는 404 에러가 발생합니다.

프로젝트의 target 디렉토리에도 jsp가 복사되지 않습니다.

단 war로 패키징 후 실행하거나 메이븐 플러그인에서 spring-boot:run으로 실행하면 jsp를 잘 찾습니다.

왜 이런 차이가 발생하는건지 궁금합니다.

제가 실습한 소스 깃헙에 올려놨습니다.

https://github.com/leicareddot/spring-boot-jsp/tree/master/spring-boot-jsp

감사합니다.

1
문병량 프로필

getServletContext 답변해주신 질문 입니다 문병량 22일 전

답변 감사합니다

request.getServeltContext가 아니면 값을 정상적으로 못받아온다는게 구체적으로 무슨 말씀인가요? 

- servletContext가 null이다?

- servletContext에 있는 값을 가져오지 못한다?

------

request객체를 통하지 않고 

GenericServlet의 getServletContext()를 사용하면

NullPointerException이 발생합니다.

2
문병량 프로필

getServletContext에 대한 질문이 있습니다. 문병량 23일 전

HelloServlet.class에서

getServletContext를 사용하면 값을 못받아오고

request.getServletContext를 사용해야 값이 정상적으로
받아집니다

강의에서는 request 객체를 사용안해도 정상적으로 작동되는데 왜그런가요

1
hp 프로필

Lombok 관련 에러나시는분들 hp 25일 전

Lombok은 의존성만 추가해주면 안되고 IDE에서 별도의 세팅이 필요하다고 합니다

IntelliJ 세팅 방법

1. Lombok 플러그인 검색해서 설치하고 인텔리J 재기동

2. Settings - Build, Execution, Deployment - Compiler - Annotation Processors 에서 Enable annotation processing 체크해서 활성화

Eclipse 세팅 방법

1. https://mvnrepository.com/artifact/org.projectlombok/lombok/1.18.12 여기서 jar파일 받고

2. 터미널에서 jar 파일 위치로 이동해서 java -jar lombok-1.18.12.jar 명령어 입력해서 설치하고 이클립스 재기동

1
effort0819 프로필

리소스 핸들러 우선순위 effort0819 1달 전

강의에서 정적 리소스 핸들러가 요청을 먼저 가로채면 우리가 만든 핸들러가 먼저 찾아지지 않기 때문에 가장 낮은 우선순위로 등록된다고 하셨는데

여기서 가장 낮은 우선순위로 등록되는 핸들러는 서블릿 컨테이너에서 제공하는 핸들러가 맞나요?

맞다면 추가로 Spring이 디폴트 서블릿에 요청을 위임하여 리소스를 처리한다고 하는데 SpringBoot의 경우에는 내장된 tomcat의 RosourceHandler가 아닌 기본적인 RosourceHandler가 등록되어 이 것이 사용되는게 맞을까요?

0
effort0819 프로필

강의자료 URL에 문제가 있는 것 같습니다. effort0819 1달 전

강의자료 URL에 문제가 있는 것 같습니다.

문서에 접근할 수 없네요..!

2
Yong D 프로필

모든 요청 URI 조작한후(?) 리다이렉트 하기 Yong D 1달 전

[단순 요청 코드]
mockMvc
.perform(.get("/members/all/")); // MemberController에 있는 핸들러 매핑
mockMvc.perform(.get("/members/meber/5/"));
mockMvc.perform(.get("/articels/all/")); // ArticleController에 있는 핸들러 매핑
mockMvc.perform(.get("/articles/article/5/"));

[질문]
백선장님 위와 같은 요청을 Client에서 보낼때
요청 URI 마지막에 있는 슬래시(/)를 일괄적으로 없애고 보내고 싶을때는 어떻게 해야하나요??

마지막 슬래시(/)를 없애고 싶은 이유는
"REST 규칙: URI 마지막 문자로 슬래시(/)를 포함하지 않는다" 때문입니다

하지만 많은 유저들이 이런 규칙을 모르기 때문에 Redirect를 해주고 싶습니다

2
조남철 프로필

ObjectMapper 빈 정의 방법이 궁금합니다. 조남철 1달 전

Spring-MVC에서 ObjectMapper를 빈으로 등록해서 사용하고 싶습니다.

하지만 xml 방식으로 설정하는 방법을 찾지를 못했습니다.

죄송하지만 xml 방식으로 ObjectMapper 클래스를 빈으로 등록하는 방법을 알려주실 수 있을까요?

가이드 문서에 빈 설정 방법은 나오지만

https://docs.spring.io/spring/docs/4.2.x/spring-framework-reference/html/xsd-configuration.html

막상 ObjectMapper Class를 보고도 어떠한 인자들이 필요한지 모르겠습니다.

검색을 해서 찾지 예시를 찾지 않으면 사용하지 못하는 제가 너무 답답합니다. 

1
Painkiller 프로필

SessionStatus Interface에 대한 고찰입니다. Painkiller 1달 전

안녕하세요.

'핸들러 메소드 8부 - @SessionAttributes' 강의를 듣고,

Spring에서 제공하는 @SessionsAttributes 어노테이션, SessionStatus  Interface는 HttpSession을 좀 더 편리하게 사용 할 수 있는 도구라고 생각이 들었습니다.

강의 후반부에 나오는 SessionsStatus Interface에 대해 세 가지 궁금증이 생겨 글을 남깁니다.

첫 번째

만약, 메소드 실행 후

Session에 담긴 특정 객체(Attribute)를 제거해야 할 때 HttpSession이 제공하는 removeAttribute() 또는 invildate() 메소드가 아닌,

SessionStatus의 setComplete()을 사용하는 이유는 Spring이 제공하는 도구를 활용하기 위한 목적이라고 보면 될까요?

(이 두 인터페이스의 공통점은, 사용 전에 메소드 파라미터로 설정이 되어야 한다는 점이겠네요.)

두 번째

SessionsStatus interface는 단지 '메소드 선언'만 되어 있어서 setComplete() 메소드가 어디서 '오버라이드' 되어 동작을 하는 것인지에 대한 궁금증입니다.

내용은 아래와 같습니다.

SessionStatus의 setComplete() 메소드를 호출하게 되면

Session에 담긴 모든 객체가 비워지게 되는 것인지, @SessionAttributes 어노테이션에서 지정한 객체에 대해서만 제거가 되는 것인지 궁금합니다.

(지졍한 객체라 함은, 강의에서는 'event' 객체가 되겠네요.)

세 번째 

기본적인 질문일 수도 있겠습니다.

대게 회원 로그인 처리 후 다른 페이지에서도 회원 정보를 접근 가능 하도록 Session에  회원정보를 담게 됩니다.

가령 개발자의 실수로 '세션에 있는 회원정보를 제거하면 안되는 어느 메소드'에서 회원정보를 지우는 작업을 했을때 

'이 코드(회원정보를 지우는 작업)는 여기서 실행되면 안돼.' 라는 의미로 예외를 발생시키는 코드 패턴이 있을까요?

1
bbonggu92 프로필

안녕하세요 기선님! bbonggu92 1달 전

항상 강의 잘 보고 있습니다. 감사합니다~!

다름이 아니라 web.xml을 지우고 WebApplicationInitializer 인터페이스 구현했는데요!

pom.xml에 빨간불이 떠서 제대로 작동하지가 않네요ㅠ

예전에 한 번 공부했을 때 무슨 설정을 추가해야되었던거 같던데

혹시 pom.xml에 xml파일이 없을때에도 실행이 되도록 설정을 추가해야 될까요?

2
최진환 프로필

@ModelAttribute에 관한 설명에 대한 질문이 있습니다. 최진환 2달 전

@ModelAttrubte를 사용하면 파라미터로 넘어오는 값들을 취합해서 객체로 바인딩 해주신다 설명하셨는데 제가 기존에 알고 있던 지식과 달라 질문드립니다.

@ModelAttribute는 해당 파라미터를 Model 객체에 Attribute로 추가(Model 객체가 없을 시 생성 후 추가)하는것이고

DataBinder가 파라미터로 넘어오는 값들을 취합해 객체로 만들어 주는것으로 알고있습니다.

제가 알고있는것이 맞나요..?

참조:  스프링 레퍼런스

6
모리모리 프로필

MVC 패턴의 단점으로 코드 네비게이션 모리모리 2달 전

선장님 코드 네비게이션의 뜻이 궁굼합니다~ 

1
백엔드개발자 프로필

서블릿 리스너에 대한 질문 있습니다. 백엔드개발자 2달 전

이번 수업에서 서블릿 리스너는 서블릿 컨테이너 위에서 동작한다고 하셨는데, 애트리뷰트 변경 이벤트에 대한 서블릿 리스너는 애트리뷰트가 변경 될 때마다 이벤트 처리를하여야 하니까 위치가 다르지 않나요?

1
지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스