부트캠프(END)/Web에 해당하는 글 19

  1. JavaScript (3) : jQuery 라이브러리 이벤트 처리 + Ajax 2022.08.04

    DOMScript DOM(Document Object Model) 웹페이지에서 자바스크립트로 요소들을 제어하는 데 사용된다. 웹 개발에서 사용되는 documnet 객체 또한 브라우저에서 제공하는 window객체의 한 요소다. 그리고 그 DOM, window.document 내에 HTML을 구성하는 하나하나의 요소가 담겨 있다. jQuery는 그 요소들을(HTML DOM Tree) 간단하게 제어하여, 쉽게 이벤트를 처리할 수 있게 돕는 javascript의 라이브러리! 보통 태그 내에서 $ 기호를 사용하면 거의 jQuery라고 보면 된다. 즉 document.querySelector("")를 $("")처럼 간단하게 나타낼 수 있도록 해 주는 게 jQuery! jQuery를 사용하기 위해서는 JSP 페이지 ..


  2. JavaScript 기초 (2) : 함수, 내장 객체, 화면 출력 2022.08.02

    함수 자바스크립트에서도 사용자 정의 함수를 만들 수 있다. 매개변수와 리턴형을 반드시 가지지는 않으며 둘 다 없어도 가능하다. 자바와 달리 리턴형과 매개변수의 타입을 표기하지 않는다. 매개변수O, 리턴형O : function func_name(id, pwd){ return value; } 매개변수O, 리턴형X : function func_name(id, pwd){} 매개변수X, 리턴형O : function func_name(){return value;} 매개변수X, 리턴형X : function func_name(){} → 함수는 기능 처리를 위해 이용되며 태그에서 많이 호출한다. //함수 정의는 세 가지 형태로 가능하다. function func_name1(매개변수){ return 값; } let fun..


  3. JavaScript 기초 (1) : 변수, 연산자, 제어문 2022.08.01

    자바스크립트 (스크립트: 단순한 프로그램) : 브라우저에서 프로그램을 동적으로 처리하는 언어 사용법) ***내부 자바스크립트 => 한 파일에서만 적용 ***외부 자바스크립트 : 여러 파일에서 공통으로 적용 (파일 확장자가 .js) 인라인 자바스크립트 위와 같이 한 개의 태그에서만 제어한다. 1) 변수 : 한개의 데이터 저장 공간 자동 지정 변수 (var,let,const) 자바와 달리 변수 타입을 지정하지 않아도 자동으로 인식하여 지정된다. → let (ES6) : 사용범위가 명확하다 → var(ES5) : 지역변수의 범위가 명확하지 않다 javascript java let i = 10; int i = 10; let i = 10.5; double i = 10.5; let i = 'Hello'; Strin..


  4. MyBatis : 기초 2022.07.29

    MyBatis는 태그 형태의 코드로 간단하게 데이터베이스와 연결해 주도록 돕는 라이브러리이다! 사용해 보자. https://github.com/mybatis/mybatis-3/releases 위 링크에서 zip파일 다운로드 zip파일의 압축을 풀고 파일 내의 모든 jar파일을 프로젝트 lib에 복사해 준다. Eclipse의 상위 탭에서 "Help > Eclipse MarketPlace" → MyBatis 검색 및 설치 일반 xml파일로 Config.xml 을 만들고, MyBatis XML Mapper 파일로 board-mapper.xml을 만든다. Config.xml은 데이터베이스와 연결하고 어떤 값을 어떻게 가져올 것인지 설정하는 파일, board-mapper.xml은 실행할 쿼리 문장을 저장하는 곳이..


  5. MVC(2) 2022.07.28

    이제 TYPE 어노테이션뿐만 아니라 METHOD 어노테이션까지 추가해서, DAO 까지 만들어보자. 예시로 Model은 하나만 만들 것이기 때문에 xml이나 Interface 등은 사용하지 않는다. 우선 어노테이션을 만들어 준다! 메모리를 할당할 클래스는 @Controller 로 구분하고, 메서드는 @RequestMapping으로 구분할 것이다. Controller.java (Annotation) package controller; import static java.lang.annotation.ElementType.TYPE; import static java.lang.annotation.RetentionPolicy.RUNTIME; import java.lang.annotation.Retention; imp..


  6. MVC (1) 2022.07.27

    MVC 구조? 참고 Model, View, Controller 로 이루어진 디자인 패턴이다. Model : 데이터와 비즈니스 로직을 관리 (=앱이 포함해야할 데이터가 무엇인지를 정의) View : 레이아웃과 화면을 처리 (=앱의 데이터를 보여주는 방식을 정의) Controller : 명령을 모델과 뷰 부분으로 전송 (=앱의 사용자로부터의 입력에 대한 응답으로 모델 및/또는 뷰를 업데이트하는 로직을 포함) 왜 사용하는가? java와 HTML을 분리 → 확장성과 재사용성을 확보해서 유지보수를 용이하게 하기 위해 사용한다. JSP는 절차적언어 → 재사용이 안된다. = model1 M(Java)V(JSP)C(Servlet)→ 객체 → 재사용성이 높음 = model2 간단하게 말해서, 유저의 요청을 Control..


  7. EL/JSTL 2022.07.25

    https://mvnrepository.com/artifact/javax.servlet/jstl/1.2 위 링크에서 jar파일을 다운로드받아 lib폴더에 추가해 주어야 사용할 수 있다! EL / JSTL EL(Expression Language : 표현식) 화면에 데이터 출력할 때 대신 ${..}을 사용한다. JSTL(JSP Standard Tag Library) : 제어문, 변수 선언, 메서드, 화면 이동에 이용된다. 대신 사용한다. 즉, 안에 들어가는 코드는 JSTL로 대체할 수 있고, 안에 들어가는 코드는 EL로 대체할 수 있다. *MVC구조, Spring, Spring-Boot에서 많이 사용된다. Java와 HTML을 분리 → MV Java와 HTML을 분리하고 연결 → MVC 프로그램을 태그형으..


  8. DBCP(DataBase Connection Pool) 2022.07.22

    데이터베이스를 연동하고, 쿼리를 날려서, 결과를 가져오는 과정은 전체 처리 시간 중에서 꽤 시간을 많이 소요한다. 즉, 효율적으로 데이터베이스와 연결하는 것이 빠른 처리에 영향을 많이 준다! 데이터베이스에 연결하는 Connection은 객체 = 새롭게 만들어질 때 시스템의 자원을 요구한다. 메모리에 객체를 할당하고, 객체가 사용할 여러 자원들에 대한 초기화 작업을 거친다. 그리고 객체 사용이 끝나면 객체를 다시 회수해야 한다. → 품이 많이 듭니다! 더군다나 기존의 JDBC는 Connection을 생성한 후 바로 해제되지 않아 메모리 누수가 발생한다. 그렇게 데이터베이스에 연결을 많이 반복할수록 서버에 부하가 가고, 쉽게 서버가 다운된다. → Connection 생성을 제한하고 재사용할 수 있도록 해 주..


  9. JSP : 내장 객체 / session 2022.07.21

    session : javax.servlet.http.HttpSession HTTP 프로토콜은 클라이언트와 서버 간의 상태에 대한 보존 없이, 매번 새로운 연결을 하고 요청에 대한 응답을 서버가 전송하고 나면 모든 연결이 끊어진다. 연결이 끊어지면 클라이언트의 정보도 모두 사라진다. → 이런 정보를 보존하기 위해서 세션을 사용한다. 즉, 서버가 클라이언트의 정보를 갖고 있는 상태를 '세션'이라고 한다. 쿠키는 브라우저에 저장되지만 세션은 서버에 저장된다. *클라이언트에 저장된 쿠키는 열어볼 수 있기 때문에 보안이 중요한 정보는 쿠키에 저장하지 않는다. 저장되는 내용은 프로그램 종료(로그아웃, 브라우저 종료 등)시까지 유지된다. → id, name, 장바구니 목록..등이 저장된다. (ex) 장바구니는 임시로..


  10. jspBean 2022.07.21

    Bean = 데이터를 모아서 한번에 전송/출력하는 것을 의미한다. Spring에서는 VO:Value Object, MyBatis에서는 DTO:Data Transfer Object, JPA에서는 Entity... 만든 업체에 따라 데이터 모으는 방법은 같지만 이름만 다르다! 특히 jspBeans는.. JSP 페이지가 복잡한 자바 코드로 구성되는 것을 가능한 피하고, HTML 등 간단한 코드만으로 구성하도록 하기 위해서 사용한다. Bean을 사용하기 위해서는 우선 Bean 클래스를 작성해 주어야 하는데, 이 때 일정한 규칙이 있다. > 1. 정보를 저장하는 변수는 모두 private으로 선언한다. > 2. private으로 선언된 변수의 getter/setter를 만든다. > 3. getter/setter는..