Form 데이터 주고 받기 [Spring, HttpServletRequest]
코딩/스프링 [JAVA] 2021. 1. 14. 01:22

본 게시글은 Seoul wiz의 신입SW인력을 위한 실전 자바(Java) 스프링(Spring)을 참고하여 작성한 글입니다. Form태그, 즉 View의 데이터를 Server로 주고 받는 방식에 대해 알아보자. HttpServletReqest HttpServletRequest에 사용자가 요청한 데이터가 남겨 있고, 이를 통해 데이터를 주고 받을 수 있다. 우선 home.jsp에 다음과 같이 id와 pw를 입력받아 제출할 수 있는 양식을 만든다. action을 보면 /com/sample로 request하게 하였고, post방식을 사용하였다. 로그인 이제 Controller를 살펴보면, HttpServletRequest 객체를 받아 id와 pw에 해당하는 파라미터를 처리하고, 결과페이지로 전송함을 확인할 수 ..

스프링 컨트롤러 [Spring, RequestMapping]
코딩/스프링 [JAVA] 2021. 1. 14. 00:45

본 게시글은 Seoul wiz의 신입SW인력을 위한 실전 자바(Java) 스프링(Spring)을 참고하여 작성한 글입니다. 컨트롤러 컨트롤러는 요청작업 후 뷰로 데이터 전달하는 역할을 한다. @Controller로 클래스 생성 -> @RequestMapping으로 경로 지정 -> 처리 메소드 구현 -> 뷰 이름 리턴 한번 컨트롤러를 만들어보자. HomeController의 위치 옆에 SampleController.java를 만들었다. @Controller public class SampleController { @RequestMapping("/sample") //요청 경로 public String samplecontent(Model model) { //데이터 넣기 model.addAttribute("id..

Spring MVC [Controller, servlet-context, eclipse]
코딩/스프링 [JAVA] 2021. 1. 12. 03:48

본 게시글은 Seoul wiz의 신입SW인력을 위한 실전 자바(Java) 스프링(Spring)을 참고하여 작성한 글입니다. 웹 애플리케이션 제작에 사용되는 스프링 MVC는 다음과 같다. Client에서 요청 -> DispatcherServlet에서 최초로 요청을 받는다. 이제 이 DispatcherServlet에서 요청을 Controller로 보내고, (중간에 HandlerMapping, HandlerAdapter도 들린다.) Controller에서는 처리하여 다시 DispatcherServlet으로 응답한다. 그럼 이제 다시 이 DispatcherServlet에서 ViewResolver에 보내여 사용자에게 View가 보이게 된다. MVC에서 (Model, View, Controller) Model은 이..

AOP (Aspect Oriented Programming) [Spring]
코딩/스프링 [JAVA] 2021. 1. 11. 01:43

본 게시글은 Seoul wiz의 신입SW인력을 위한 실전 자바(Java) 스프링(Spring)을 참고하여 작성한 글입니다. 자바는 객체 지향 프로그래밍, OOP (Object Oriented Programing) AOP는 Aspect, 관점 지향. 시점을 중요시 여긴다는 뜻이다. (oop와 반대되는 말이 아님) 프로그래밍을 하면서 공통적인 기능 (ex) Log) 등이 많이 있는데, 상속을 통해 모든 모듈에 적용하는데, 근데 자바에서는 다중 상속이 불가능. 그리고 구현에 핵심 기능과 공통 기능이 섞이면 효율성이 떨어진다. 여기서 AOP가 등장한다. 공통 기능과 핵심 기능을 분리해놓고, 핵심 기능에 적용하는 공통 기능을 적용하는 방식이다. [용어] Aspect : 공통 기능 Advice : Aspect의 기..

컨테이너 생명 주기 [Spring]
코딩/스프링 [JAVA] 2021. 1. 8. 02:30

본 게시글은 Seoul wiz의 신입SW인력을 위한 실전 자바(Java) 스프링(Spring)을 참고하여 작성한 글입니다. 컨테이너 생명 주기 스프링에서 컨테이너의 생명 주기는 다음과 같다. [생성-> 설정 -> 사용 -> 종료] public static void main(Strig[] args){ //스프링 컨테이너 생성 GenericXmlApplicationContext ex = new GenericXmlApplicationContext(); //컨테이너 설정 ex.load("classpath:XML경로"); ex.refresh(); //컨테이너 사용 Example example = ex.getBean("Example",Example.class); /*사용하기 . . .*/ //컨테이너 종료 ex.c..

DI (Dependency Injection) Spring에서 적용하기
코딩/스프링 [JAVA] 2021. 1. 7. 02:34

DI (Dependency Injection) 스프링에 들어가기 앞서, 스프링의 기본 원리인 DI에 대해 살펴보자. 보통 클래스로부터 객체 생성, 이때 이 객체(X)가 여러 객체(Y, Z)에 의존관계가 있을때 (Y, Z 객체를 사용할 때) 1) 객체 X가 필요할 때 직접 Y, Z를 생성 2) 외부에서 객체 Y, Z를 생성하고 X객체에서 사용 이때 2번처럼 외부에서 객체를 생성해 넣는 것을 주입(Injection)이라 한다. 따라서 의존성을 주입한다 해서 DI(Dependency Injection)인 것이다. 이런 DI의 장점은 다음과 같다 재사용성 증가 코드 읽기 쉬움, 단순화 더 많은 테스트 코드 종속성 감소 (엮인 관계가 적음 -> 변경시 조금만 바꾸면 됨) [활용예시 1. setter] class ..