Skip to content

[MVC 구현하기 - 3단계] 베베(최원용) 미션 제출합니다 #617

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 4 commits into from
Sep 25, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import jakarta.servlet.ServletContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import web.org.springframework.web.DispatcherServlet;
import web.org.springframework.web.WebApplicationInitializer;
import webmvc.org.springframework.web.servlet.mvc.asis.CustomControllerAdapter;
import webmvc.org.springframework.web.servlet.mvc.tobe.AnnotationHandlerMapper;
Expand All @@ -21,7 +22,6 @@ public class DispatcherServletInitializer implements WebApplicationInitializer {
@Override
public void onStartup(final ServletContext servletContext) {
final var dispatcherServlet = new DispatcherServlet();
dispatcherServlet.addHandlerMapping(new LegacyHandlerMapper());
dispatcherServlet.addHandlerMapping(new AnnotationHandlerMapper("com"));
dispatcherServlet.addHandlerAdapter(new CustomControllerAdapter());

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 레거시 코드를 제거할 때 이부분도 제거되어야 하는지 궁금합니다!
예를들어 제거 대상으로 webmvc.org.springframework.web.servlet.mvc.asis에 유지되어 있는 클래스들이 있겠네요.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요구사항에서 Legacy 코드를 모두 제거해라고 하여서 제거 했는데, 원래 사용하던 LegacyHandlerMapper를 사용하지 않게 되면서 삭제했습니다!

dispatcherServlet.addHandlerAdapter(new HandlerExecutionHandlerAdapter());
Expand Down
39 changes: 0 additions & 39 deletions app/src/main/java/com/techcourse/LegacyHandlerMapper.java

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.techcourse.controller.mvc;

import com.techcourse.domain.User;
import com.techcourse.repository.InMemoryUserRepository;
import context.org.springframework.stereotype.Controller;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import web.org.springframework.web.bind.annotation.RequestMapping;
import web.org.springframework.web.bind.annotation.RequestMethod;
import webmvc.org.springframework.web.servlet.ModelAndView;
import webmvc.org.springframework.web.servlet.view.JsonView;

import java.util.NoSuchElementException;

@Controller
public class MvcUserController {

private static final Logger log = LoggerFactory.getLogger(MvcUserController.class);

@RequestMapping(value = "/api/user", method = RequestMethod.GET)
public ModelAndView show(HttpServletRequest request, HttpServletResponse response) {
String account = request.getParameter("account");
log.debug("user id : {}", account);
User user = InMemoryUserRepository.findByAccount(account)
.orElseThrow(() -> new NoSuchElementException("user not found!"));

ModelAndView modelAndView = new ModelAndView(new JsonView());
modelAndView.addObject("user", user);
return modelAndView;
}

}
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
package com.techcourse;
package web.org.springframework.web;

import com.techcourse.support.handler.HandlerAdapters;
import jakarta.servlet.ServletException;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import web.org.springframework.web.support.handler.HandlerAdapters;
import web.org.springframework.web.support.handler.HandlerMappers;
import webmvc.org.springframework.web.servlet.ModelAndView;
import webmvc.org.springframework.web.servlet.View;
import webmvc.org.springframework.web.servlet.mvc.HandlerAdapter;
import webmvc.org.springframework.web.servlet.mvc.HandlerMapper;
import com.techcourse.support.handler.HandlerMappers;

public class DispatcherServlet extends HttpServlet {

Expand All @@ -34,6 +34,7 @@ protected void service(final HttpServletRequest request, final HttpServletRespon
final String requestURI = request.getRequestURI();
log.debug("Method : {}, Request URI : {}", request.getMethod(), requestURI);
final Object handler = handlerMappers.getHandler(request);

final HandlerAdapter handlerAdapter = handlerAdapters.getHandlerAdapter(handler);

try {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.techcourse.support.handler;
package web.org.springframework.web.support.handler;

import webmvc.org.springframework.web.servlet.mvc.HandlerAdapter;

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.techcourse.support.handler;
package web.org.springframework.web.support.handler;

import jakarta.servlet.http.HttpServletRequest;
import webmvc.org.springframework.web.servlet.mvc.HandlerMapper;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class HandlerMappers {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.techcourse.support.web.filter;
package web.org.springframework.web.support.web.filter;

import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package com.techcourse.support.web.filter;
package web.org.springframework.web.support.web.filter;

import jakarta.servlet.*;
import jakarta.servlet.annotation.WebFilter;
Expand Down

This file was deleted.

Loading