Life is Good

수콩이의 시선

Coding 52

[MVC] FrontController 패턴

MVC(Model - View - Controller) 패턴 MVC의 컨트롤러 : 서블릿 1. 웹 브라우저가 전송한 HTTP 요청을 받는다. 서블릿의 doGet()메서드나 doPost()메서드가 호출된다. 2. 웹 브라우저가 어떤 기능을 요청했는지 분석한다. 3. 모델을 사용하여 요청한 기능을 수행한다. 4. 모델로부터 전달받은 결과물을 가공하여, request 나 session의 setAttribute()메서드를 사용하여 결과값을 속성에 저장한다. 이렇게 저장한 결과값은 뷰 JSP에서 사용한다. 5. 웹 브라우저에 결과를 전송할 JSP를 선택한 후, 해당 JSP로 포워딩한다. 경우에 따라 redirect FrontController 패턴 클라이언트의 다양한 요청들을 한곳으로 집중시켜서 개발 및 유지보수..

Coding/JSP 2022.04.09

[MVC/DB연동] 게시판 페이지 (페이지 번호, 댓글 달기, 글쓰기, 글 수정하기, 글 삭제하기) (3)

시작 페이지(index.jsp) index.jsp 회원가입 로그인 회원탈퇴 회원수정 로그아웃 관리자 페이지 회원관리 게시판 글쓰기 목록 게시판 - 게시판 글 번호 - 글번호는 바로 증가하고 그룹번호는 같게한다. 글 순서는 자신보다 큰값이 있으면 증가시키고 자신도 +1 시킨다. 글레벨 +1 시킨다. 내용 Command DB 글번호 그룹번호 글순서 글레벨 글번호 그룹번호 글순서 글레벨 안녕하세요 0 1 0 0 1 1 0 0 반가워요. 0 1 0 0 2 2 0 0 하이 0 1 0 0 3 3 0 0 배고파! 0 1 0 0 4 4 0 0 [답글] 안녕 1 1 0 0 5 1 5 1 [답글] 안 1 1 0 0 6 1 2 1 [답글] 녕 1 1 0 0 7 1 1 1 졸려 0 1 0 0 8 5 0 0 [답글] 반 2 2..

Coding/JSP 2022.04.08

로그메시지/ 플러그인 다운

Command.java package com.java.mvc05; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public interface Command { //요청에 대해서 FrontController(서블릿)에서 직접 처리하지 않고 해당 클래스가 처리하도록한다. public String actionDo(HttpServletRequest request, HttpServletResponse response) throws Exception; } FrontCnt.java package com.java.mvc05; import java.io.BufferedInputStream; impor..

Coding/JSP 2022.04.08

[MVC/DB연동] 회원가입 페이지 (아이디 중복체크, 유효성검사, 우편번호 검색 기능) (1)

코드를 작성하기에 앞서 DB 연결 설정을 먼저 해주도록 하자. DB 연결 설정 1. cmd 에서 SQL 계정을 추가한다. DB연결시 데이터를 처리할 새로운 계정을 행성하는데 , mvc(ID)/1234(PW)로 새로운 계정을 생성했다. 2. Oracle SQL developer에서 mvc 계쩡에 접속해서 member 테이블을 생성한다. num 을 pk로 하고, 시퀀스를 생성해주었다. 3. 이클립스에서 JDBC연동을 위해 라이브러리 폴더(WEB-INF/lib)에 jar파일 추가한다. ojdbc6.jar 2.05MB [참고] JSTL파일 추가 방법 2020/06/10 - [KITRI/JSP] - JSP 프로그래밍 - JSTL(JSP Standard Tag Library) 다운로드 / c:set, c:remov..

Coding/JSP 2022.04.08

[MVC/DB연동] 파일업로드 기능

board폴더(게시판만들기 폴더)를 복사해서 fileboard폴더를 만들어보자. 파일입출력을 위한 것이고 나머지는 다 같다. (복사해서 폴더를 만들 때, 주소를 잘 살펴야한다. 꼬이지 않도록 주의!) Orcle SQL developer 수정 후에 BoardDao.java로 가서 insert문을 변경시켜주었다. (새로운 칼럼을 추가했더니 column개수가 맞지 않아서 insert가 되질 않아 글쓰기가 되지 않았다) (수정이 잘 되었는지 확인하는 방법은, 톰캣서버로 실행한 다음 경로가 /fileboard/ 로 잘 찍히는 지 확인한다.) 다운로드 받아서 WEB-INF/libs 폴더에 .jar파일을 추가해준다. http://commons.apache.org/proper/commons-fileupload/ Fil..

Coding/JSP 2022.04.08

[MVC/DB연동] 로그인 페이지 (로그아웃, 회원수정, 회원탈퇴 기능) (2)

로그인 페이지 login.jsp 회원 ID 비밀번호 LoginOk.jsp LoginCommand.java package com.java.member.command; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.java.command.Command; public class LoginCommand implements Command { @Override public String proRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generate..

Coding/JSP 2022.04.08

[AJAX] JSON

Ajax란? AJAX란 비동기 자바스크립트와 XML (Asynchronous JavaScript And XML)을 말합니다. 간단히 말하면, 서버와 통신하기 위해 XMLHttpRequest 객체를 사용하는 것을 말합니다. JSON, XML, HTML 그리고 일반 텍스트 형식 등을 포함한 다양한 포맷을 주고 받을 수 있습니다. AJAX의 강력한 특징은 페이지 전체를 리프레쉬 하지 않고서도 수행 되는 "비동기성"입니다. 이러한 비동기성을 통해 사용자의 Event가 있으면 전체 페이지가 아닌 일부분만을 업데이트 할 수 있게 해줍니다. AJAX의 주요 두가지 특징 페이지 새로고침 없이 서버에 요청 서버로부터 데이터를 받고 작업을 수행 Ajax는 언어나 프레임 워크가 아닌 구현하는 방식을 의미합니다. 데이터를 이..

Coding/JAVASCRIPT 2022.04.08

[Spring] AOP / 공통 클래스(Aspect), 공통 함수(Advice), 핵심코드(JoinPoint)=Part.2

Advice 동작시점 동작시점 설명 Before 메소드 실행 전에 동작 After 메소드 실행 후에 동작 After-returning 메소드가 정상적으로 실행된 후에 동작 After-throwing 예외가 발생한 후에 동작 Around 메소드 호출 이전, 이후, 예외발생 등 모든 시점에서 동작 예제 실습 [interface] Person.java package com.java.aop03; public interface Person { public void work(); } Student.java package com.java.aop03; public class Student implements Person { @Override public void work() { System.out.println("학생..

Coding/SPRING 2022.04.07

[AJAX] XHR(XMLHttpRequest)

XHR(XMLHttpRequest)이란? XMLHttpRequest(XHR)은 AJAX 요청을 생성하는 JavaScript API입니다. XHR의 메서드로 브라우저와 서버간의 네트워크 요청을 전송할 수 있습니다. XHR은 XMLHttpRequest의 약자로 말 그대로 http 프로토콜을 통해 서버에 자원을 요청하기 위해 사용한다. 페이지 전체를 새로고침 할 필요 없이 원하는 데이터를 url에서 제공받을 수 있다. XMLHttpRequest(XHR) 객체는 서버와 상호 작용하는 데 사용됩니다. 전체 페이지를 새로 고치지 않고도 URL에서 데이터를 검색 할 수 있습니다. 이를 통해 웹 페이지는 사용자의 작업을 방해하지 않고 페이지의 일부만 업데이트 할 수 있습니다. AJAX 프로그래밍에 XMLHttpRequ..

Coding/JAVASCRIPT 2022.04.07

[Spring] AOP(Aspect Oriented Programming)=Part.1

AOP(Aspect Oriented Programming) 란? 관점 지향 프로그래밍 이라고 불린다. 관점 지향은 쉽게 말해 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화하겠다는 것이다. 여기서 모듈화란 어떤 공통된 로직이나 기능을 하나의 단위로 묶는 것을 말한다. - 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 - AOP는 핵심기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드의 수정없이 공통 기능을 적용할 수 있게 만들어준다. - Aspect라는 말은 구분되는 기능이나 요소를 의미한다. => 즉, 핵심 기능의 코드를 수정하지 않으면서 공통기능의 구현을 추가하는 것 ​ 방법 1) 컴파일 시점..

Coding/SPRING 2022.04.07