개발자한걸음 (212) 썸네일형 리스트형 아이바티스 include 서브쿼리 ( 검색 + 정렬 ) , sql,jqgrid 공지사항 게시판을 출력해주는 SQL문이 있다. 통상적으로 아이바티스의 경우 이런 식으로 해당 쿼리문을 실행할 id와, input, output으로 수행한다. 기본적으로 게시판 selectAll 문에는 serach 즉 검색이 포함되어 있는 경우가 많다. 내가 이 서브쿼리를 사용하게 된 이유는 , 1순위로 공지사항이 최상단에 출력되고, 그 후에 출력 되는 것들은 PK에 의해 출력 되고, 그 후 페이징처리를 위해 cnt값을 넘겨주어야 했다. 먼저 serach를 통해 select 될 아이바티스 sql문을 작성한다. /* DAO.selectList */ SELECT A.컬럼1 , A.컬럼2 , A.컬럼3 FROM 테이블명 A WHERE 1=1 A.조건1컬럼 = #search조건1# A.조건2컬럼 = #search조건2# .. Spring 작동순서 개인적인 정리 1. 스프링 기본설정하기 ( JDK, 서버 , 등 ) 2. pom.xml 설정하기 ( java-version, DBCP, AOP, 등 jar를 넣어주는 설정 파일) 3. web.xml 설정하기 ( 특정 요청이 있을 때 DispatcherServlet을 참조하도록 = *.do 요청이 있을 때 , Encoding 설정 ) 4. Dispatcherservlet 설정하기 ( context:component-scan base-package 네임스페이스로 패키지 스캔하기 ) 5. VO와 DAO(핵심로직) 만들고 , AOP ( 횡단관심과 연결 ) -> DAO가 실질적으로 메서드를 사용하는 것이 아니니 참조할 수 있게 @Repasitory 어노테이션 사용 = @Aspect / @PointCut , 연결될 메서드에도 @.. AOP 용어 정리 [관점지향 프로그래밍] Aspect Oriented Programing AOP에서는 핵심로직에서 직접 공통관심을 호출하지 않고 위빙(Weaving)이라 불리는 작업을 해서 공통관심 기능 코드를 주입함 이러한 위빙작업을 하기 위해서는 어디에(Pointcut), 언제(Advice) 주입을 해야할지 알아야한다. 1) Pointcut (포인트컷 , 어디에 ) 어디에 공통관심 기능코드를 주입할 것인지 정의한다. 횡단관심을 적용할 핵심로직을 의미한다. 하나의 @Aspect 안에 여러개의 포인트 컷을 선언할 수도 있다. 2) aspect (결합) 흩어진 관심사를 모듈화한 것 (여러 핵심 기능에 적용될 관심사 모듈) 비즈니스 메서드가 시작/ 끝나면 그때 등록해둔 advice가 실행 → 스프링 컨테이너가 담당 및 관리 .. Spring AOP ( 관점지향 프로그래밍 ) [관점지향 프로그래밍] Aspect Oriented Programing 횡단관심(cross-cutting concern)의 분리를 허용함으로써 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임 코드 자체를 수정하지 않고, 기존의 코드에 추가동작을 추가함으로써 수행한다. 이를 통해 기능을 수행하는 코드의 핵심부를 복잡하게 채우지 않고도 비즈니스 로직에 핵심적이지 않은 동작들을 프로그램에 추가할 수 있도록 한다. 즉 , 기능을 비즈니스로직과 공통 모듈로 분리한 후, 필요 시점에 비즈니스 로직에 삽입하여 실행하도록 한다. 핵심관점(비즈니스로직) + 횡단관점(트랜잭션 , 로그, 권한체크, 인증 ,예외처리 등)으로 관심의 분리를 이룬다. 쉽게말해 DI가 의존성(객체를 new)의 주입이라면 , AOP는 기능(lo.. 이클립스에서 Spring 프레임워크 [플러그인] 사용하기 ❗ 주의할점 - JDK가 여러가지가 깔려있으면 오류가 뜰 가능성이 높음 - 환경변수 설정을 했는지 확인 - eclipse 설치경로에 eclipse.ini 파일의 내용 중 -vm에 경로가 설치 된 jdk 경로인지 확인 경로를 바꾸지 않았다면 상위경로와 비슷할 것임 step1. 이클립스 실행 후 상단에 help → Eclipse Marketplace... 클릭 step2. sts를 검색 후 엔터 그 후 Spring Tools 3가 두개가 뜰 것인데, Standalone 와 Add-On 두가지가 있음 원래는 Standalone 설치 완료 후 Add-On을 설치하는 것이지만 나같은 경우에는 오류가 발생하여 Add-On 버전만 설치하였더니 정상작동하였음 ❗ 설치 진행을 할 때 우측 하단에 % 게이지 잘 확인하고 .. [10분 테코톡] 🐶 코기의 Servlet vs Spring ( Spring으로 Servlet을 다룬다는 것 ) 1. 서블릿이란? 처음 웹 서버는 클라이언트의 요청에 따라 정적인 페이지로만 응답할 수 있었음 그래서 웹 서버에 프로그램을 붙여서 동적인 페이지를 생성하기 시작함 ✔ 서블릿도 동적인 페이지를 만들기 위해 웹 서버에 붙이는 프로그램 중 하나인 것! 그렇다면 서블릿을 사용하면 어떠한 실질적인 이득이 있는가? ✔ 복잡한 http 요청을 개발자들이 직접 처리,분석해서 모든 규약과 제약에 맞춰 텍스트 형식의 응답을 보내야 한다면 굉장히 어렵고 복잡함 ✔ 이 때, 서블릿이 요구하는 구현 규칙을 지켜주면서 서블릿을 정의해주면 http 요청 정보를 쉽게 사용할 수 있고, 처리결과를 쉽게 응답으로 변환할 수 있음 ✔ 서블릿을 이용하여 웹 요청을 다루게 되면 개발자들이 진짜 집중해야하는 비즈니스 로직 (처리 로직) 에 집.. Github - git SourceTree 사용법 ( branch 생성과 병합 ) , git clone 방법 추가 Step 1. 브랜치 생성하기 브랜치를 생성하는 방법은 크게 두가지 방법이 있는데 1. GitHub에서 생성하고, 다른 GitGUI 에서 연동하는 방법 2. GitGUI에서 생성하고, 원격에 업로드 하는 방법 나는 1번 방법을 설명하겠다. ✔ GitHub에서 브랜치 생성 레포지터리를 생성하면 default로 main 브랜치가 생성되어있다. Find or create a branch.. 에 생성하고 싶은 브랜치 명을 기입하게 되면 다음과 같이 main을 기반(부모)로 한 새로운 브랜치를 생성할 수 있다. 생성된 Branch를 체크하여 이동할 수 있다. 👉 통용되는 브랜치 이름! - Master Branch 제품으로 출시 될 수 있는 브랜치 ( 배포 ) 배포 가능한 상태만을 관리, 커밋할 때에는 태그를 사용.. Ajax 를 이용한 아이디 중복검사 AJAX 아이디 중복검사 인증 좋아요 추천 비추천 찜 . . . 등에 사용 => 비동기처리 : 서버방문 X 페이지의 내용이 유지 ※ 보통 스프링에서는 @(어노테이션) 설정으로 진행되는 것이 일반적 ※ JSP에서 사용하는 방식을 소개할 예정 ajax를 사용할 jsp 코드 중복검사 상단에 CDN 방식으로 jQuery를 사용하기 위해 연결을 해줌 button 을 만들어 버튼이 onclick 되면 실행 될 함수를 만듦. check()라는 함수에서 $.ajax를 실행할 것인데, type에는 Post / Get 중 어느 요청으로 보낼 지 작성을 해주고 url 에는 이 요청에 대한 수행을 할 url 주소를 써주면 된다. 프로젝트에 속해있는 폴더명을 적어주어도 되지만 ex) test / ajax / data 에는 만약.. 이전 1 2 3 4 ··· 27 다음