스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다.BeanFactory (최상위 인터페이스)스프링 컨테이너의 최상위 인터페이스다스프링 빈을 관리하고 조회하는 역할getBean()으로 빈을 조회할 수 있는 기능을 제공한다ApplicationContextBeanFact
static 영역에 객체 instance를 생성한다.생성한 객체는 'getInstance()'를 통해서만 조회할 수 있다.해당 메서드를 호출할 때마다 같은 인스턴스를 반환한다.생성자를 private으로 설정해서 외부에서 객체 인스턴스가 새로 생성되는 것을 막는다.위의
Tomcat started on port(s): 8080 (http) with context path정상적으로 연결된 것을 확인
타임리프를 사용해서 간단하게 화면을 출력해보자.먼저 controller를 생성해준다/greeting으로 요청이 오면 아래의 html로 화면에 출력해보자파라미터로 name 값을 전달한다화면에 출력되는 것을 확인할 수 있다만약 다른 name값을 설정하지 않으면 어떻게 출력
jpa를 사용해서 간단하게 자바객체와 테이블을 매핑해보자데이터베이스는 마리아디비(mariadb)를 사용한다.Board 객체 생성@Entity 어노테이션으로 테이블을 생성한다.primarykey를 지정해주기 위해 @Id 어노테이션을 추가한다.@GeneratedValue
게시판에서 글을 쓰고 list 페이지로 갈때 alert 메시지 띄워보기write 페이지에서 글 작성을 완료하면 list 페이지로 이동한다.list 페이지에서는 alert 창을 띄우기 위한 js 코드를 작성해준다.isMessage = false로 설정해서 뒤로가기를 눌렀
서블릿이란 서블릿(Servlet)은 자바를 사용하여 웹페이지를 동적으로 생성하는 서버측 프로그램을 말한다. 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종인 서블릿을 실행시켜 보자 서블릿 실행 > 어노테이션 살펴보기 먼저 서블릿의 이름과 url을 설정해준다 HttpServlet에서 상속받은 service method를 override해준...
서블릿 생성주기 서블릿을 실행시켜보자 init, service 메서드가 실행된 것을 확인할 수 있다 새로고침을 여러번 누르면 어떤 메서드가 실행될까? init 메서드는 한번만 실행되는 반면 service 메서드는 반복적으로 실행된 것을 확인할 수 있다 서블릿을
쿠키(Cookie)의 정의 이름과 값의 쌍으로 구성된 정보를 의미한다. 쿠키에는 기본적으로 아스키 문자만 저장할 수 있고 한글을 저장하려면 url 인코딩을 해야한다. 쿠키 작동 과정 > 서버에서 생성 -> 브라우저에 저장 -> 유효기간 지나면 자동삭제 쿠키 생성
서로 관련된 요청들을 하나로 묶은 것을 세션이라고 한다."a collection of related HTTPtransactions made by one browser to one server"브라우저마다 개별 저장소인 세션(session) 객체를 서버에서 제공한다.브라
request 객체로 받아서 출력하기MyDate 객체 생성하기controller 생성타임리프로 출력해보기
회원가입 양식(Register form)으로 전달된 데이터 읽어오기Register form form 태그의 action을 info 페이지로 설정해서 회원가입 버튼을 누르면 info 페이지로 넘어가게된다.controllerHttpServletRequest 객체로 id,
@RequestMapping(method=RequestMethod.POST) 이나 @PostMapping을 이용한다.@PostMapping으로 리팩토링 해보기
RequestMapping의 URL 패턴
리다이렉트(Redirect)란클라이언트가 잘못된 url로 요청을 보내면 브라우저가 자동으로 request header의 Location 주소를 읽어 알맞은 요청을 보내는 것을 말한다.클라이언트에서 보낸 요청이 Get인지 Post 요청인지와 상관 없이 브라우저가 보내는
🥯쿠키 읽어오기 쿠키 생성과정 살펴보기(Controller) id,password 값에 따라 쿠키 생성 및 삭제 위의 코드를 리팩토링해본다.
브라우저 요청 -> 서버에서 세션 객체 생성 -> 세션 객체마다 세션 아이디를 가지고 있고 그 세션 아이디가 담겨있는 쿠키를 만들어서 응답으로 보냄 ->브라우저에 쿠키 저장자동종료는 web.xml에 설정한다.
Controller에서 세션사용하여 로그인정보 받아오기
package hello.hellospring; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Control
🔎 AppConfig를 스프링 기반으로 변경 > AppConfig에 설정을 구성한다는 뜻의 @Configuration을 붙여주고 각 메서드에 @Bean 을 붙여서 스프링 컨테이너에 스프링 빈으로 등록한다. [AppConfig] [MemberApp] [Order
Entity란 요청이나 응답시 전송할 대상을 의미한다.ResponseEntity로 댓글 list Entity에 http 상태코드도 함께 포함시켜서 응답한다.
//싱글톤 객체 만들기 public class SingletonService { //static영역에 객체 인스턴스 생성 private static final SingletonService instance = new Singleto
무상태(stateless)로 설계싱글톤 패턴이나 스프링의 싱글톤 컨테이너를 사용하는 방식으로 설계할 때는 주의해야할 점이 있다. 하나의 객체 인스턴스를 공유하기 때문에 싱글톤 객체는 상태를 유지(stateful)하지 않게 무상태(stateless)로 설계해야 한다.공유
생성자 주입수정자 주입(Setter)필드 주입일반 메서드 주입생성자 호출 시점에 딱 1번만 호출되며 반드시 값이 할당되어야 하고 할당된 값이 변경되어서는 안되는 경우에 사용한다.스프링 빈에 OrderServiceImpl이 등록될 때 @Autowired가 붙은 생성자를
🎨 Validation을 사용한 유효성 검증 > javax.validation.constraints 패키지에 있는 검증 어노테이션을 사용해서 객체 값에 대한 유효성 검증을 해보려고 한다. 🎨 build.gradle > build.gradle에 spring-bo