구조 UserController.java package com.project.controller; import java.util.List; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.ModelAttribute; import org.springframework.web.bind.annotation.RequestMapp..
DAO : 데이터 베이스 연동 Mapper : Query문 DTO : 모델 Service : 비즈니스 로직 Controller Views : JSP 구조 BoardController.java package com.project.controller; import java.util.List; import java.util.Map; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.ModelAttribute; i..
pom.xml - dependencies mysql mysql-connector-java 8.0.17 org.mybatis mybatis 3.4.1 org.mybatis mybatis-spring 1.3.0 org.bgee.log4jdbc-log4j2 log4jdbc-log4j2-jdbc4 1.16 org.springframework spring-jdbc ${org.springframework-version} org.springframework spring-test ${org.springframework-version} commons-dbcp commons-dbcp 1.4 root-context.xml - [localhost 및 주소] : 데이터베이스 주소 입력 - [shema] : 데이터베이스 안에서 ..
Ruby : 동적 객체 지향 스크럽트 프로그래밍 언어 장점 - 순수 객체 지향 언어 -> 정수나 문자열 등을 포함한 데이터 형식 등 모든 것이 객체 - 구문은 ALGOL계를 계승하면서 가독성 중시 - 이식성이 매우 높음 ByeBug : 디버거 - 장점 : 스택 프레임을 위한 중단 첨 처리 및 바인등을 제공하며 명령 행 인터페이스를 사용하기 쉬움 Framework - Ruby on Rails : Ruby로 작성된 MVC 패턴을 이용하는 오픈소스 웹 프레임워크 - 모델, 뷰, 컨트롤러의 템플릿 생성 및 테스트 등 자동화하는 툴, 테스트를 위한 웹서버 등 포함 - Sinatra : Ruby로 작성된 자유-오픈소스 소프트웨어 웹 어플리케이션 라이브리러이자 도메인 특화 언어 - 크기가 작고 유연 - 다른 프레임워..
프로젝트 생성 1. [FILE] -> [NEW] -> [Spring Starter Project] 2. 프로젝트 이름 설정 -> [Next] 3. [WEB] 체크 후 [FINISH] 4. pom.xml 추가 org.springframework.boot spring-boot-starter-test test org.apache.tomcat.embed tomcat-embed-jasper provided 5. jsp 파일 생성 - 한방에 만들기 webapp/WEB-INF/views 6. src/main/resources 안에 있는 application.properties에 코드 작성 spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp 7. We..
SPRING 1. [FILE] -> [NEW] -> [Spring Starter Project] 2. Name 부분에 프로젝트 이름 입력 (Package명 수정하고 싶으면 수정) -> [Next] 3. [JDBC], [WEB], [MYSQL] 체크 후 [FINISH] MYSQL #필자의 MYSQL 설정 상태 1. SCHEMA 추가 #Collation : utf8 - default collation 으로 설정 2. Table 생성 SPRING [src/main/resources] 밑에 있는 [application.properties] 코드 작성 위와 같이 Package와 java파일 생성 UserController.java 입력 후 실행 #실행 방법 프로젝트 -> 마우스 오른쪽 클릭 -> [Run as] ..
AOP (Aspect Oriented Programming) : 관점 지향 프로그래밍 - 공통 기능을 핵심 기능과 분리해 놓고, 공통 기능 중에서 핵심 기능에 적용하고자 하는 부분에 적용 기본 용어 1. Aspect : 공통 기능 2. Advice : Aspect 순수 기능 그 자체 3. Joinpoint : Advice를 적용해야 되는 부분 (메소드) 4. Pointcut : Joinpoint의 부분, 실제로 Advice가 적용된 부분 5. Weaving : Advice를 핵심 기능에 적용하는 행위 XML 기반 AOP 구현 0. 데이터 클래스 - Student.java package com.spring.ex; public class Student { private String name; private ..
Framework : 다양한 어플리케이션을 제작하기 위해 약속된 프로그래밍 틀 - 어떠한 목적을 달성하기 위해 복잡하게 얽혀 있는 문제를 해결하기 위한 구조이자 약속 - 클래스 + 라이브러리 - 재사용성을 큰 그룹 단위로 묶어줌 - 재사용 가능한 수많은 클래스들과 라이브러리들을 융합한 채로 처음부터 제공 #모듈화를 하는 이유중 하나가 재사용성 특징 POJO (Plain Old Java Object) - 기존 라이브러리를 지원하기 용이 - 일반적인 자바 코드를 이용하여 개발 가능 - 객체가 가벼움 - 별도의 프레임워크 없이 JAVA EE를 사용할 떄에 비해 인터페이스를 직접 구현하거나 상속받을 필요가 없음 AOP (Aspect Object Programming : 관점 지향 프로그래밍) - 여러 모듈에서 ..
Spring : 다양한 어플리케이션을 제작하기 위한 약속된 프로그래밍 틀 - JAVA 기반 - 코드의 경량화 - 개발 중 테스트가 쉬움 - 톰캣 사용 가능 - 국내 표준 프레임워크 - 다양한 어플리케이션을 쉽고 빨리 개발 가능 - 부품을 생성하고 조립하는 라이브러리 집합체 - 동적 웹사이트 개발 - 관점 지향 - 확장성 DI (Dependency Injection) - 객체를 직접 생성 하는것이 아니라 외부에서 만들어서 setter( ) 또는 construct( )에 대입 IOC 컨테이너 - 인스턴스의 생명주기 관리 - 추가적인 기능들 제공 - 코드의 처리과정을 갖는 독립적인 주체 : 알아서 컨트롤 가능 - 외부에서 제어 예시 - Calculation.java package com.java.ex; pub..
include 지시어 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 Insert title here include 지시어 테스트 Colored by Color Scripter cs menu.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Insert title here [a][b][c] Colored by Color Scripter cs new.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 Insert title here 저기저기저기 Colored by Color Scripter cs shopping.jsp 1 2 3 4 5 6 7 8 9 10 11 12 13 Insert title here 여기여기여기 C..
주석 - 원본 코드에서만 주석 내용이 보임 - HTML - JSP - JAVA /* 주석내용 */ // 주석내용 /** 주석내용 */ 1 2 3 4 5 6 7 8 9 10 11 12 13 Insert title here Colored by Color Scripter cs #마우스 오른쪽 클릭 -> 페이지 소스 보기(v) page 지시어 - 컨테이너에서 처리하기 위함 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Insert title here 현재시간은 Colored by Color Scripter cs
Servlet 장점 - 스레드 기반 -> 객체가 메모리상 하나 - 서버와 운영체제에 비의존적 - 유지보수 구조 1. GET - 서버에 있는 정보를 가져오기 위해 설계 - QUERY_STRING 환경변수를 통해 전달 - 검색단어 전송에 많이 이용 - URL 노출로 보안성이 요구되는 경우에는 사용할 수 없음 -> 아이디, 비밀번호 등 2. POST - 서버로 정보를 올리기 위해 설계 - 데이터 크기의 제한은 없다 -> DB - URL에 파라메타가 표시되지 않는다 HttpServletRequest 클래스 - doGet( ), goPost( ) 메소드 호출 시 파라미터롤 전달 - 사용자 요청과 관련된 정보를 제공 - HTML 폼 입력값을 request에서 가져옴 - 쿠키, 세션에 접근 가능 - 클라이언트 IP주..