[JSP] MVC, alert()
·
JSP
웹개발에서 알랏창은 매우 유용하다.예를 들어, 어떤 사이트에서 로그인을 하는 도중에 아이디 혹은 비밀번호가 틀렸을 때, 아이디 혹은 비밀번호가 틀렸다는 안내창을 본 적이 있을 것이다. 이게 바로 알랏창의 대표적인 예시이다. MVC 로 나눠서 로그인 페이지를 만드는 경우,더보기V(사용자가 아이디와 비밀번호를 입력)->C(V에서 아이디와 비밀번호 값을 받아옴) ->M(C에서 받아온 데이터를 DB에서 찾아봄) ->C( DB에 일치하는 값이 있는지에 따라  로그인 성공/실패 에 따라 V 페이지 이동) -> V(C에서 이동하라는 페이지 보여줌) 이런 식일 것이다. 그러면 C에서 로그인 성공/ 실패 알랏창을 띄워야하는가 ?아래는 예시의 LoginAction.java 이다.package controller.membe..
MVC 패턴으로 프로젝트 진행 시 유의사항
·
예시  ) 글 작성 페이지를 만든다면? [C]V에서 온 요청을 올바른 M(DAO)로 보내줘야한다.1 Action 당 1 기능을 넣어야한다."V에서 온 요청"이 기능인가? 페이지 이동인가? 사용자가 글 작성 버튼을 누르면,  V >> C >> V 글 작성 페이지로 이동함 글 내용을 작성하고 글 작성 버튼을 누르면, V >> C >> C >> V BOARDDAO의 INSERT를 수행하고, 메인 페이지로 이동예시 ) 글작성을 하는 Action - InsertBoardAction.javapackage controller.board;import controller.common.Action;import controller.common.ActionForward;import jakarta.servlet.http.Htt..
[서블릿/JSP] 리스너
·
JSP
리스너?단어의 뜻으로 보자면 듣는사람, 즉 청취자이다. 프로그래밍에서 리스너란 웹 애플리케이션의 특정 이벤트를 감지하고(== 모니터링, 감시) 처리하는 데 사용되는 컴포넌트(메서드 or 함수)이다. 주로 애플리케이션의 상태 변화에 따라 필요한 작업을 수행하거나 애플리케이션의 수명 주기와 관련된 이벤트를 처리하는 데 유용하다. 서블릿을 상속받은 클래스인데, 서블릿을 상속받은 클래스는 filter, listener 이렇게 두 가지가 있다. 리스너의 종류 이벤트 소스이벤트 리스너발생 이벤트 객체설명   ServletContext ServletContextListener ServletContextEvent웹어플리케이션의 시작, 종료 이벤트에 대한 이벤트 리스너다. 핸들러 메서드에서는 ServletConte..
[JSP, JavaScript] 네이버 로그인 API
·
현재 국비에서 팀 프로젝트를 진행중에 있다.M/V/C 파트로 나눠서 협업을 하고 있는데, 지금은 V 파트를 맡아서 진행중이다. 그렇게 협업을 하던 도중에, 다른 부분에 비해 굉장히 시간을 오래 쏟으면서 구현한 부분이 바로 네이버 아이디로 로그인하는 부분이었다.따로 정리가 필요할 것 같다는 생각이 들어서, 정리해보려고 한다.먼저, 네이버 아이디로 로그인하기 위해서는, 네이버 Developers 사이트에서 api를 가져와야하는데, 그러기 위해서는 애플리케이션을 등록해야한다.나는 이미 등록을 한 상태이다. 여기까지 진행하는 것은 어렵지 않았다.프로젝트 팀명이 코마이기 때문에, 나는 애플리케이션 이름을 코마라고 정하였다.해당 사이트에서 이메일만 추출하도록 설정하였기 때문에, 개인정보는 이메일만 제공된다.  //..
이미지파일 업로드
·
MVC로 나누어서 회원가입할 때 사진을 첨부하면, 로그인 후에 마이페이지로 넘어가고 마이페이지에서 프로필 이미지를 보여주는 코드를 짜보았다. 위는 join.jsp를 실행시키고 보여지는 화면이다.아래는 위 화면을 보여주는 코드이다. 아이디  비밀번호 비밀번호 확인 이름 프로필 이미지 메인으로 이동 js를 이용해서 비동기 방식으로 데이터를 교환하기 위해 ajax를 사용했다.자세한 설명은 주석을 보면 될 것 같다.로그인 페이지, 회원가입 페이지와 같은 코드는 많이 짜봤는데, 파일 업로드를 하고 그 파일을 db에 저장하는 코드는 처음 구현해보았다. 파일을 db에 저장하기 위해서는 MVC 패턴으로 생각해본다면 V 에서 사용자가 업로드한 파일을 C에 보내고, C는 그 받..
깃허브 명령어
·
Git
저장소 생성 및 연결$ git init   : 로컬 저장소 만들기$ git remote add origin [원격저장소 주소] : 원격 저장소와 연결$ git branch -m master main : 브랜치 이름 바꾸기( master에서 main으로) 파일 업로드$ git pull (또는 git pull origin [브랜치 이름]) : 원격 저장소의 파일 가져오기$ git add  [파일/디렉토리 이름] : 원격 저장소에 올릴 파일들을 추가하기( 장바구니 개념) $ git add. : 모든 변경된 파일들을 추가하기(보통 폴더자체를 올릴것이기 때문에 위보단 이걸 더 많이 씀)$ git commit -m "commit message" : 커밋하기$ git push (또는 git push origin [브..
[jQuery] 비동기 처리, 예시
·
jQuery
비동기처리란?한마디로,  "DB"를 V에서 사용하는데, "화면변경이없음"          이렇게 설명할 수 있다. 또는(MVC 패턴의)V단에서 DB(M)의 정보를 화면깜빡임없이( == 화면 변경없이== reload 없이== 요청 없이== URL 변경 없이 ) 받아오는 기술 같은 말이지만, 처음 설명을 풀어쓰면 그렇다.비동기처리의 예시로는 네이버 회원가입이 있다.중복된 아이디를 입력하고 비밀번호를 입력하려고 커서를 넘기면 바로 저렇게 빨간 글씨가 되면서 사용할 수 없는 아이디라고 뜨고, 비밀번호는 필수정보라고 입력하라고 한다.원래라면 DB == M 정보를 요청 --->> C 한테 DB 확인좀... --->> "요청"이 과정을 거치는데, 이 과정 없이 V단에서 DB(M)의 정보를 화면 깜빡임(== 화면변경=..
핸들러 매핑, 싱글톤 패턴
·
35일차 정리 핸들러 매핑 ?웹 애플리케이션에서 클라이언트의 요청을 적절한 핸들러(처리기)로 매핑하는 역할을 수행하는 컴포넌트주로 스프링 프레임워크(Spring Framework)와 같은 웹 프레임워크에서 사용주된 역할은 클라이언트로부터 들어오는 HTTP 요청을 적절한 컨트롤러(혹은 핸들러)로 라우팅하는 것사용자가 웹 애플리케이션에 요청을 보냈을 때, 핸들러 매핑은 해당 요청을 어떤 컨트롤러가 처리할지를 결정좋은 FrontController 기반의 프레임워크들이 멤버변수로 가지게하는 것싱글톤 패턴 유지싱글톤 패턴 ? 객체지향 프로그래밍에서 사용되는 디자인 패턴 - 생성특정 클래스에 대해 오직 하나의 인스턴스만을 생성하도록 보장하는 패턴==new 를 절약하는 패턴한 번 new 해서 존재하는 객체가 있다면,..