반응형
목록
java (139)
[꼼꼼한 개발자] 꼼코더

🧍🏻♂️ 정적(static) 웹 프로그래밍 설명 웹 서버(Apache)에 미리 보여줄 HTML, CSS, JS 파일을 미리 저장해 놓고 브라우저에서 요청할 경우 그대로 전달하는 방식이다. 사용자변경 혹은 페이지 변경이 되지 않는 한 고정된 웹 페이지를 보게된다. 주로 화면의 디자인을 구성하거나 클라이언트의 이벤트를 처리한다. 환율 정보나 주가 정보 등 실시간 정보를 표시하는 데는 적합하지 않다. 구성요소 웹 서버 : 각 클라이언트에게 서비스를 제공하는 컴퓨터를 의미한다. 클라이언트 : 네트워크로 서버에 접속한 후 서버로부터 서비스를 제공받는 컴퓨터를 의미한다. HTTP : www 서비스를 제공하는 통신 규약을 의미 웹 서버와 클라이언트는 이 프로토콜을 이용하여 정보를 주고받는다. HTML : www 서..

‼️ 실습은 FrontController 패턴으로 MVC를 적용한다. 🎮 JSP에서 MVC패턴을 구현하는 방법 서비스 하는 기능마다 서블릿을 정의하고 등록 Front Controller를 만들어 모든 요청을 받는 서블릿을 정의하고 등록 👨🏻💻 실습 ( FrontController 패턴으로 MVC 적용) controller와 model이라는 이름으로 패키지를 생성해 준다. 🕴🏻 모델 개념 준비 model 패키지 속 AddService.java, MinService.java 이름으로 파일을 만들어 준다. 🏎 핸들러 준비 - java파일 생성 controller 패키지에 AddHandler.java, minHandler.java, FrontController.java CommandHandler.java 총 ..

🏛 MVC 패턴 적용 이전 구현 방식 JSP 파일로 처리하는 방식 JSP요청 → JSP에서 처리 → 응답 JSP요청 → JSP에서 처리 → redirect응답 JSP요청 → JSP에서 처리 → forward(다른 JSP요청) → 다른 JSP에서 처리 → 응답 Servlet으로 처리하는 방식 URL요청 → Servlet에서 처리 → 직접 응답 URL요청 → Servlet에서 처리 → redirect응답 URL요청 → Servlet에서 처리 → forward(JSP선택) → 처리 → 응답 MVC 패턴 JSP에서 MVC 패턴을 구현하는 방법은 명확하게 정해진 것은 아님 다시 말 해 순수 MVC는 모든 패턴을 직접 구현해야 한다. 따라서 사람마다 구현 방식이 다르다 🌊 JSP에서 MVC패턴 흐름 웹 브라우저에서..

☕️ 자바 서블릿(Java Servlet) 자바를 사용하여 웹 페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양 자바 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종 JSP는 HTML 문서 안에 Java코드를 포함 서블릿은 자바 코드 안에 HTML을 포함 👀 비슷한 기술 펄 등을 이용한 CGI, PHP를 AWS(Apach Wap Server Process)에서 동작하게 하는 mod_php 마이크로소프트사의 IIS(톰캣과 유사)에서 동작하는 ASP 등 CGI는 요청이 있을 때마다 새로운 프로세스(프로그램)가 생성되어 응답 자바 서블릿은 외부 요청마다 프로세스보다 가벼운 스레드로써 응답 서블릿은 자바로 구현되므로 다양한 플랫폼에서 동작한다. 💡 추가 설명 📟 CGI 자바 코드를..

간단한 과정을 통해 설명해 보도록 하겠다 📖 순서 1. 이클립스 접속 → mystudy라는 명칭의 프로젝트 생성 → login.jsp 파일을 생성 2. 크롬을 열고 브라우저에서 localhost8080/mystudy/login.jsp를 입력한다.(login.jsp에 요청작업) 3. 요청을 받으면 톰캣은 work-space파일 특정 공간에 publishing(출판)하여 mystudy프로젝트를 복사해서 작업을 한다. (추가 설명) 이것은 다시 말 해 웹서버가 관리하는 경로로 복사하는 것이다. 이 과정을 서버 입장에서는 “publishing 했다”라고 이야기한다. 또한 이 작업이 진행되어야만 웹브라우저에서 화면을 볼 수 있다. 4. 해당 파일(웹서버가 관리하는 경로)에 login.jsp.java 파일 이 생성..

👷🏻♂️ 등록 처리와 테스트 BoardController에 POST 방식으로 처리되는 register()를 작성하면 아래와 같다. 👨🏻💻 BoardController 작성 register() 메서드는 조금 다르게 String을 리턴 타입으로 지정하고 RedirectAttributes를 파라미터로 지정한다. 이는 등록 작업이 끝나면 다시 목록화면으로 이동하기 위함인데 추가적으로 새롭게 등록된 게시물의 번호를 같이 전달하기 위해서 RedirectAttributes를 이용한다. 리턴 시에는 ‘redirect:’ 접두어를 사용하는데 이를 이용하면 스프링 MVC가 내부적으로 response.sendRedirect()를 처리해 주기 때문에 편리하다 👨🏻💻 BoardControllerTest 작성 테스트할 때 ..

💡 Controller의 작성 스프링 MVC의 Controller는 하나의 클래스 내에 여러 메서드를 작성하고 @RequestMapping 등을 이용하여 URL을 분기하는 구조로 작성하기 때문에 하나의 클래스에서 필요한 만큼 메서드의 분기를 이용하는 구조로 작성된다. 과거에는 이 단계에서 Tomcat(WAS)을 실행하고 웹 화면을 만들어 결과를 확인하는 방식의 코드를 작성해 왔었다. 하지만 시간이 오래 걸리고, 테스트를 자동화하기에 어려움이 많아 앞으로 할 예제에서는 WAS를 실행하지 않고 Controller를 테스트할 방법을 학습해 보자 🧐 BoardController의 분석 작성 전에는 ‘원하는 기능을 호출하는 방식에 대해 테이블로 정리 후 코드로 작성’하는 것 이 좋다. 테이블에서 From 항목은 ..

👷🏻♂️ 비즈니스 계층의 구현과 테스트(테스트 코드 작성) BoardMapper와 BoardService, BoardMapperServiceImpl에 대한 구조 설정이 완료되었으므로 테스트 클래스를 작성해 본다. 👨🏻💻 BoardServiceTests 작성 src/test/java → org.zerock.service → BoardServiceTests 클래스 작성 💁🏻♂️ 결과 BoardServiceTests의 첫 테스트는 BoardService 객체가 제대로 주입이 가능한지 확인하는 작업 정상적으로 BoardService 객체 생성 후 BoardMapper가 주입되었다면 아래와 같이 BoardServiceService 객체와 데이터 베이스 관련 로그가 같이 출력된다. 👨🏻💻 등록 작업의 구현과..