chlguswns980105
97
2021-04-16 14:46:11 작성 2021-04-16 14:46:33 수정됨
4
158

Spring 3으로 웹개발중인데, Controller 최적화 관련하여 질문 있습니다.


스프링 프레임워크 없이 이클립스 서블릿을 쓰면

doGet, doPost 내에서 request.getServletPath()로 나누잖아요?

현재 스프링 내에서 

@RequestMapping("/PATH1")

public void path1()...

@RequestMapping("/PATH2")

public void path2()...


이게 너무 길고 가독성이 떨어져서 

@RequestMapping("PATH*")

public void doGet()...


이런식으로 개발했습니다.

현재 소규모로 개발한 상태라서 성능에 크게 문제는 없는데,

걸리는 매핑이 많아지면 하나하나 작성했을때와 성능 차이가 많이 나게 될까요?



@Controller
@RequestMapping("/")
public class *Controller {

	@Autowired
	private *Service service;

	private static Logger log = LoggerFactory.getLogger(*Controller.class);

	@RequestMapping(value = { "/" }, method = RequestMethod.GET)
	public void doGet(HttpServletRequest request, Model model) throws Exception {
		ManagerInfoVO login = (ManagerInfoVO) request.getSession().getAttribute(Finals.LNAME);
		if (login == null) {
			return;
		}
		String url = request.getServletPath();
		switch (url) {
		case "//":
			
		}
		log.info("JSP CONNECT");
	}

	@ResponseBody
	@RequestMapping(value = "/*.json", method = RequestMethod.POST)
	public Map<String, Object> doAjax(HttpServletRequest request, @RequestBody String param) throws Exception {
		return service.ajax(request.getServletPath(), param);
	}
}
* 회사 코드라서 일부 지우고 업로드했습니다.
0
  • 답변 4

  • oneday
    677
    2021-04-16 15:07:41

    그게 결국 스프링의 디스패처 서블릿과 핸들러 매핑이 하는 일인데

    그렇게 하려면 스프링을 쓰는 의미가... 없지 않아요?

  • chlguswns980105
    97
    2021-04-16 15:14:17

    oneday

    그렇긴 한데.. 페이지를 서너개만 만들어도 가독성이 너무 구려져서 결국 저렇게 하게 되네요..

    성능상 문제가 있다면 고쳐야겠지만요

  • 르브론제임스234
    346
    2021-04-16 15:26:31

    차이 없을것 같은데요.

    스프링 디스패처도 서블릿 필터를 하나로 퉁처서 와스에서 url 받잖아요

  • chlguswns980105
    97
    2021-04-16 17:19:32

    르브론제임스234

    감사합니다. 별 차이가 없으면 그냥 보기 편한 대로 해야겠네요

  • 로그인을 하시면 답변을 등록할 수 있습니다.