개발/JAVA 15

[자바웹개발워크북] 4-2. 스프링 Web MVC

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 스프링 Web MVC, 예외처리 */ 1. 스프링 Web MVC(이하 스프링MVC)의 특징 스프링MVC는 이름에서 알 수 있듯이 Web MVC패턴으로 구현된 구조입니다. 따라서 기본적인 흐름은 이전에 다루었던것과 같고 컨트롤러, 뷰, 모델 등의 용어들 역시 그대로 사용됩니다. 스프링MVC가 기존 구조에 약간의 변화를 주는 부분은 다음과 같습니다. ■ Front-Controller패턴을 이용해서 모든 흐름의 사전/사후처리를 가능하도록 설계된점 ■ 어노테이션을 적극적으로 활용해서 최소한의 코드로 많은 처리가 가능하도록 설계된점 ■ HttpServletRequest/HttpServletResponse 를 이용하지 않아도 될 만큼 추상화된 방..

개발/JAVA 2023.01.14

[자바웹개발워크북] 4-1.스프링과 MyBaits

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 스프링, 의존성주입, MyBatis연동 */ 1. 스프링의 시작 : 스프링프레임워크는 원래 웹이라는 제한적인 용도로만 쓰이는 것이 아니라 객체지향의 '의존성주입(dependency injection)'기법을 적용할 수 있는 객체지향 프레임워크였습니다. 스프링프레임워크는 로드존슨이 2002년도에 집필했던 'J2EE설계 및 개발'이라는 책의 예제코드에서 시작됐는데 말그대로 효과적이고 가볍게 J2EE를 이용할 수 있다는 것을 증명하면서 예제의 코드를 발전시킨것입니다. 2000년당시 자바진영에서 javaEE의 여러가지 스펙을 정의하고 비대해지는 동안, 스프링프레임워크는 반대로 경량프레임워크를 목표했습니다. 스프링프레임워크는 가장 중요한 '코어..

개발/JAVA 2023.01.02

[자바웹개발워크북] 3. 세션/쿠키/필터/리스너

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 세션, 쿠키, 서블릿컨텍스트, 필터 */ 1. 세션 트랙킹 : 웹은 기본적으로 과거의 상태를 유지하지 않는 무상태연결입니다. 따라서 과거의 요청 기록을 알 수 없습니다. HTTP가 무상태를 선택한 가장 큰 이유는 적은 자원으로 여러개의 요청을 처리할 수 있기때문이지만 덕분에 과거의 방문기록을 추적하는 기법이 필요하게 됩니다.이러한 기법들을 세션 트랙킹(session tracking)이라고 합니다. 2. 쿠키 : HTTP에서 세션트랙킹은 '쿠키(Cookie)'라는 존재를 이용합니다. 쿠키는 문자열로 만들어진 데이터의 조각으로 서버와 브라우저 사이에서 요청이나 응답시에 주고받는 형태로 사용됩니다. 쿠키는 문자열로 되어있는 정보로 기본적으로..

개발/JAVA 2022.12.28

[자바웹개발워크북] 2. 웹과 데이터베이스

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * MariaDB, JDBC, Lombok, ConnectionPool, VO/DTO, CRUD예제, Log4j2 */ 1. @Test : 테스트코드 혹은 테스트메소드라고 하는데 @Test를 적용하는 메소드는 반드시 public으로 선언되어야 하고, 파라미터나 리턴타입이 없이 작성합니다. 2. Assertions.assertEquals() : 말그대로 '같다고확신한다'는 의미이고, 두변수의 내용이 같아야만 테스트가 성공하게 됩니다. EX) Assertions.assertEquals(v1, v2); 3. 코드설명 @Test public void testConnection() throws Exception { Class.forName("org..

개발/JAVA 2022.12.24

[자바웹개발워크북] 1. 웹프로그래밍의 시작

/* * * 자바웹개발워크북의 내용을 정리하기 위한 포스팅입니다. * 서블릿/JSP, GET/POST, PRG패턴, HTTPServlet, EL/JSTL */ 1. intellij를 통해 프로젝트 생성 시 'Jakarta EE'항목으로 생성하려면 Java Enterprise로 생성합니다. 2. 톰캣9버전을 사용한 이유 : 톰캣10버전은 서블릿 버전이 5버전으로 시작되면서 javax가 아닌 jakarta로 시작되는 형태로 패키지명이 변경되어 서블릿을 작성할 때 문제가 발생할 수 있습니다. 3. intellij에서 exploded된 artifact를 못찾는 문제발생 : 긴 경로를 수정해주기위해 기존 '.war'를 제거하고 artifact를 (exploded)가 포함된 항목으로 지정 후 실행시켰더니 오류가 발..

개발/JAVA 2022.12.16