오늘은 페이징 내비게이션 페이징 처리에 대해 배웠다. 위의 사진처럼 1~10번 페이지까지 표시되어 있는 페이지를 보기 좋게정해진 페이지까지만 표시가 되게 수정하는 방법을 배웠다.페이지 내비게이션 페이징 처리하기1\. 한 화면에 표시할 페이지번호 개수 결정하기 int p
금요일부터 일요일까지 혼자서 익명게시판을 만들어보는 시간을 가졌다. 그러면서 느낀점은 분명 강사님과 함께 만들어보았던 것을 복습하면서 스스로 만들어보았는데 혼자 하려니 아직 많이 어렵고 에러가 많이나서 속상하기도 했다. 그러나 나에게는 아직 시간이 많이 남아 있고 그동
오늘은 로그인과 로그아웃 기능에 대해 배우고 코딩해보는 시간을 가졌다. 인증된 사용자 정보를 서버의 HttpSession 객체에 저장하는 것HttpSession 객체는 고유한 아이디를 가지고 있고, 그 세션과 관련있는 클라이언트도 같은 아이디를 가지고 있기 때문에,클라
webapp/book 폴더 생성webapp/cart 폴더 생성webapp/resources/images 폴더 생성images 폴더 안에 image 파일 넣기book폴더에 detail.jsp와 list.jsp 복사하기완성본cart폴더에 list.jsp 복사하기완성본 (로
MERGE INTO 문\-- 하나의 SQL문으로 INSERT, UPDATE, DELETE 작업을 수행할 수 있다.\-- 형식\-- MERGE INTO 테이블명 \-- USING DUAL\-- ON (컬럼명 = 값 AND 컬럼명 = 값) // 이 조건에 맞는 행이
서블릿의 라이프사이클 브라우저가 톰캣에게 hello를 요청 했을 때 HelloServlet이 생성되고 객체를 생성해서 init을 실행해 init / destroy를 실행하고 service가 실행된다. 한 번의 사이클이 돌게 되면 더 이상 init과 destroy는 실
1\. InputStream / Reader HttpServletRequest의 객체브라우저에서 웹 서버로 들여올 때 사용하는 객체다.읽기전용 객체 \* 브라우저가 서버로 보낸 모든 요청 메세지는 톰캣이 분석해서 요청객체에 저장하고, 요청객체를 서블릿/JSP에 전달하기
자바스크립트 JavaScript 브라우저 내에서 실행되는 프로그램을 개발할 수 있는 프로그래밍 언어다. java와 문법적 유사성이 많아서 쉽게 배울 수 있다. 인터프리터(Interpret) 프로그래밍 언어다. (컴파일 과정없이 소스가 실행파일로 사용된다.)
오늘은 자바스크립트의 객체와 함수 그리고 이벤트들에 대해 배웠다.오늘 배우면서 느낀점은 자바와 비슷한 듯 하면서도 조금씩 다른게 자바스크립트의 특징 같다. 그리고 이벤트를 통해 사용자와 상호작용 할 수 있다는 점에서 너무나 신기했다.마지막 시간은 다음주에 있을 세미 프
문서 객체 모델HTML,XML 등의 문서를 엑세스하는 표준을 정의하고 있다.DOM은 w3c에서 HTML, XML 문서를 다루는 표준(인터페이스)을 정의한 것이다.DOM에 정의된 표준에 대한 구현은 브라우저 제조사, 프로그래밍 언어 개발사, 라이브러리 개발자가 담당한다.
return false : 기본 동작이 일어나지 않게 한다.return true : 기본 동작이 일어나지 않게 한다.기본동작의 대표적인 것 : onreset / onsubmit홈 화면취소 버튼 클릭 시 다시 홈 화면으로 돌아온다.사용자명을 적지 않았을 때 비밀번호를
동적 쿼리를 사용하지 않을 때동적 쿼리를 사용 할 때dynamic : 쿼리가 dynamic하게 변하게끔 해준다. (어떨때는 실행되고 어떨때는 실행되지 않게 해준다.)형식 : 조건문 and 조건문 검색 실행 시실행 결과"연습"을 검색 하였을 떄 이전/ 다음 버튼을 눌러
parent라는 부분 때문에 하나를 열면 하나가 자동으로 닫힌다. (필요 없을 시 주석처리)하위 메뉴들이 표시되도록 할 수 있다.닫혀 있다가 열리는 것내가 속해있는 경로를 알려줌.dismiss : x표가 생기고 끌 수 있게 된다.상태를 표시할 때 유용하게 사용할 수 있
원하는 태그를 선택하는 여러 방법 \* nth-child와 같은 기능을 하지만, 다른점은 nth-child는 1부터 시작하고 :eq는 0부터 시작한다.\* checked 또는 checked="checked"로 둘 다 적어도 되는 경우는 prop이다.이외에도 :text
이벤트 처리 엘리먼트에서 특정 이벤트 발생시 실행될 콜백함수를 구현하고, 엘리먼트에 부착시키는 처리 다양한 방법들선택된 엘리먼트에서 지정한 이벤트가 발생하면 단 한 번만 콜백함수가 실행된다.선택된 엘리먼트에서 지정된 이벤트와 관련된 이벤트 처리를 삭제한다.선택된 엘
추가기능$(selector).append() 엘리먼트의 맨마지막 자식요소로 추가된다.$(selector).prepend() 엘리먼트의 첫번째 자식요소로 추가된다.$(selector).after() 엘리먼트의 동생으로(뒤에) 추가된다.$(selector).befor
비동기 통신 : 연속적 요청 가능jQuery를 사용.$get()방식을 사용한다. JavaScript Object Notation 경량의 데이터-교환 형식이다. 사람이 읽고 쓰기에 용이하며, 기계가 분석하고 생성함에도 용이하다. JSON은 완벽하게 언어로 부터 독립적이다
분산형 버전관리 시스템이다.중앙 집중식 버전관리 프로그램중앙 집중식은 로컬 저장소가 없다. (원격 저장소만 존재한다.)중앙 집중식은 원격 저장소가 사용 가능한 네트워크가 연결된 상태에서만 사용 가능하다.원격 저장소가 없어진다면 이전 작업 기록이 모두 사라진다.그렇기 때
vo 객체 dto 객체 제외 값을 담는 객체 이외의 기능을 제공하는 객체는 싱글턴 객체를 사용한다.
1\. Model 1 개발방식클라이언트 요청이 오면 웹 어플리케이션에서 JSP를 실행하고, 응답으로 보낸다.JSP : HTML 태그, Java코드가 함께 들어있다. (디자인요소 + 로직요소)HTML 태그 : 디자인 코드 / Java코드 : 로직 코드JSP를 실행해서 D
HttpServletRequest : 요청파라미터로 속성이 생성된다.ServletContext : 초기화 파라미터로 속성이 생성된다. (톰캣이 켜지면 생성되고, 종료되면 사라진다.)HttpSession : 속성이 생성된다. (고유한 아이디를 가지며, 자동으로 생성된다.
1\. var items 방식배열, List 형태의 값을 반복처리할 때 사용itmes="${EL표현식}" : EL 표현식으로 검색되는 값은 반드시 배열 혹은 콜렉션 객체다.var="변수명" : 배열이나 콜렉션 객체에 저장된 값이 처음부터 끝까지 순서대로 한번씩 대입되는
재요청 URI 앞에는 redirect가 붙는다.
loginform과 loginloginform.hta에서 FrontController와 LoginFormController를 실행하고 loginform.jsp로 내부이동 하여 로그인 화면으로 전달되어 login.hta를 실행시킨다.login.hta에서 FrontCont
사전 준비()사전 준비 2 (테이블 생성)실행 결과실행결과실행결과구현 전
스프링오픈소스 프레임워크다.오픈소스 : 라이센스 무료, 가공/수익창출 허용프레임워크 : 특정한 아이디(개발방식, 개발패턴, 아키텍처)의 구현체다.라이브러리와 프레임워크라이브러리 : 개발에 필요한(자주 사용되는) 기능의 구현체다. 필요한 기능이 구현되어 있는 라이브
Spring DI(의존성 주입) > Maven Project 생성 과정 > 스프링의 의존성 주입 스프링의 의존성 주입 수동 의존성 주입 애플리케이션 실행에 관여하는 객체를 스프링 컨테이너가 생성하게 한다. 의존성 주입을 받는 객체는 의존하는 객체를
JDBC 추가하기... = 가변길이 매개변수수동 의존성주입과 자동 의존성 주입을 혼용해서 사용하는 경우가 있다.DB엑세스에 따라 UserDao 혹은 JdbcTemplate은 변경될 수 있다.그러나 핵심 업무로직이 구현되어 있는 Service는 절대절대 변경될 수 없다.
resultClass에서 resultType으로 바뀌었다.다이나믹 쿼리를 if / choose / when 태그를 사용하여 구현할 수 있다.초록색 = 한 번만 설정하면 되는 것.주황색 = 연동한다 = 스프링 컨터이너에서 객체를 사용할 수 있게 하는 것.
DispathcerServletspring에서 DispatcherServlet을 제공해준다.DispatcherServlet이라는 클래스는 클라이언트의 요청을 접수받는다.HTTP 요청 접수Controller 객체를 검색하고, 요청핸들러 메소드를 실행요청핸들러 메소드의 반
테이블 생성 사용자는 역할을 가지게 된다. (손님, 사용자, 관리자) 게스트는 글 작성X, 사용자는 글 작성O, 관리자는 관리 기능O 같은 아이디로 같은 권한을 가질 수 없다. > JSP 만들기 > 포트 번호 바꾸기 > 기초 작업 > 실행결과 > 로그인 기능
컨트롤러 객체사용자의 요청을 처리사용자에게 데이터를 제공서비스 객체를 의존한다.web-context.xml서비스 객체업무로직 수행매퍼객체를 의존한다.service-context.xml매퍼객체데이터 베이스 엑세스 수행SqlSessionFactory를 의존한다.databa
어노테이션편집기, 컴파일러, 프레임워크, 애플리케이션에게 부가적인 정보를 전달하기 위해 사용한다.구성요소@Retention 어노테이션에 사용되는 시점을 정의한다.단 한개만 지정할 수 있다.Source 소스코드에서 사용된다.Class 컴파일시에 사용된다.Runtime 컴
Spring MVC로 웹 애플리케이션 구현하기 예외처리하기 로그인하기 로그아웃하기 ArgumentResolver로 요청핸들러 메소드의 매개변수를 분석해서 적절한 값을 매개변수로 전달하기 로그인여부 체크하기 실습 테이블 생성 리스트 화면 구현 > 실행화면
spring framework는 선언적 트랜잭션처리, 프로그래밍적 트랜잭션 처리를 지원한다.spring-tx.jar 라이브러리는 트랜잭션처리를 지원하는 라이브러리다.별도의 트랜잭션처리 코드없이 간단한 설정과 어노테이션을 이용해서 트랜잭션처리를 수행하는 것이다.스프링의
태그 기능 PostRegisterForm에 모든 정보가 저장된다. 저장된 것을 필요에 따라 Post / AttachedFile / Tag로 옮긴다. 각 정보가 각각의 테이블에 저장되게 하였다. PostRegisterForm은 요청에 최적화되어 있다. 입력폼의 값이 여
JSON 뷰 JSON VIEW는 Ajax 형태에서 필요하다. > 라이브러리 추가 > 사용자 정보 응답받기 > 실행결과 UserDetailDto를 응답으로 받았
여러 단계에 걸친 Form 입력 처리하기여러 개의 Form을 하나의 Form 안에 저장시킬 수 있다.수정은 조회/변경이다.SessionAttributes : ModelAttribute : 새로 만들었기 때문에 값이 null이다.수정하기실행결과(수정 전)실행결과(수정 중
프로젝트마다 DAO가 달라질 수 있다.Spring boot로 다양한 DB엑세스와 연동이 가능해진다.뷰가 JSP가 Thmeleaf 템플릿 엔진인 경우도 있다.REST API 어플리케이션 방식으로도 사용할 수 있다.Controller에 @RestController 어노테이
HTML은 사용자에게 직접 보여주는 화면을 개발하는 것jQuery의 ajax$.get(url, data, function(response) { ... }, dataType)$.post(url, data, function(response) { ... }, dataType
Controller 실행 전/후로 ineterceptor가 실행된다.실제 실행은 HandleAdapter이다.이 모든 과정은 Tomcat 내부에서 일어난다.DelegatingFilterProxy가 클라이언트의 요청을 방해한다.
3Tier Model생성자 메소드setter 메소드빌더패턴
hibernate-validate라는 라이브러리가 추가된다.validation-api = 표준이 정해져 있다.hibernate-validate = 표준의 구현 중 하나다. @NotNull null 값을 허용하지 않는다. @NotEmpty n
기존 방식JSP나 뷰 템플릿은 html 컨텐츠를 응답으로 보내며 화면을 제공한다.View는 JSON데이터를 응답으로 보내며 데이터를 제공한다.백엔드는 Spring을 기반으로 한다.Vue.js의 예시 \- 템플릿 \- 이벤트를 발생 시 자바스크립트의 컨트롤러로 간
ERD 보는법1.spring.io 에서 Spring Tools 4 for Eclipse를 운영체제에 맞게 다운받는다.다운로드 된 spring-tool-suite.jar 파일을 더블 클릭 시 자동으로 압축해제가 된다.압축해제 된 폴더를 원하는 위치로 이동시킨다.https
기존의 ERM에서 팀 프로젝트에 맞게 기본값 혹은 NOT NULL을 설정해준다.코드를 복사한다.Import 선택 후 Git에서 Project from Git -> CloneURI을 선택한다.GIT에서 내 계정의 SETTING에서 Developer settings ->
row는 하나의 독립된 행row 안에서는 12개의 col을 가질 수 있다.
직원 역할 데이터 생성