본문 바로가기

분류 전체보기

(105)
[JSP] 지시어, 스크립트 요소 JSP 파일 기본 구조 JSP의 주된 목적은 웹 브라우저에 띄울 HTML 파일을 생성하는 것으로, 일반적인 HTML 파일에 몇 가지 요소가 추가된 형태이다. 크게 보면 지시어와 스크립트 요소가 있으며, 스크립트 요소는 세 가지(선언부, 표현식, 스크립트릿)로 나뉜다. 지시어는 JSP 페이지를 자바(서블릿) 코드로 변환하는데 필요한 정보를 JSP 엔진이 알려준다. 주로 스크립트 언어나 인코딩 방식 등을 설정하며, 지시자 혹은 디렉티브로 부르기도 한다. 지시어 1. 지시어 종류 종류 설명 page 지시어 JSP 페이지에 대한 정보를 설정한다. include 지시어 외부 파일을 현재 JSP 페이지에 포함시킨다. taglib 지시어 표현 언어에서 사용할 자바 클래스나 JSTL을 선언한다. 2. page 지시어 ..
[JSP] 기본 용어 정리 JSP 동적인 웹 페이지를 개발하기 위한 웹 프로그래밍 기술이다. 자바 언어를 사용하여 서버측에서 웹 페이지들을 생성해 웹 브라우저로 전송해준다. - 짧은 코드로 동적인 웹 페이지를 생성할 수 있다. - 기본적인 예외는 자동으로 처리된다. - 많은 확장 라이브러리를 사용할 수 있다. - 스레드 기반으로 실행되어 시스템 자원을 절약해준다. Java EE 대한민국 정부 표준 프레임워크의 근간이다. 정부나 공기업 주도의 사업 등 대규모 기업용 시스템 구축에 주로 사용된다. 서버(Server) 웹에서 서비스를 제공하는 컴퓨터 시스템을 말한다. 웹 서버(Web Server) 사용자로부터 HTTP를 통해 요청을 받거나, 웹 컨테이너가 전달해준 결과물을 정적인 페이지로 생성하여 사용자에게 응답해주는 소프트웨어를 말한..
[JAVA 웹 개발 공부] 국비지원 84일차 - 인터셉터, 스프링 AOP, Advice, Pointcut 인터셉터 1. 인터셉터(Interceptor) 컨트롤러(Controller)의 '핸들러(Handler)'를 호출하기 전과 후에 요청과 응답을 참조하거나 가공할수 있는 일종의 필터이다. 2. 인터셉터 사용이유 개발자는 특정 Controller의 핸들러가 실행되기 전이나 후에 추가적인 작업을 원할때 Interceptor를 사용한다. (추가적인 작업으로는 로그인체크, 권한 체크 등이 있다.) 인터셉터를 사용하게 되면 개발자는 핸들러 수 만큼 작성했던 세션 체크 코드를 인터셉터 클래스에 한번만 작성하면된다. 이로 인해 코드의 량이 현저히 줄기 대문에 메모리 낭비를 줄일수 있다. 그리고 인터셉터 적용의 유무 기준이 되는 url을 servlet-context.xml에 설정해주게 되면 스프링에서 일괄적으로 해당 ur..
[JAVA 웹 개발 공부] 국비지원 83일차 - 스프링 프레임 워크, MVC 핸들러, 핸들러 메소드, 모델, Logger, @Value, 의존객체 선택 스프링 MVC 핸들러 1. 핸들러(Handler) MVC의 Controller 안에서 실제 요청을 처리하는 메소드를 핸들러(Handler)라고 한다. 사용자로부터 서버로 요청이 가면, 해당 요청에 맞는 컨트롤러의 핸들러로 요청 정보가 전해지고, 핸들러는 이를 처리하여 적절한 값을 반환 한다. 그리고 요청과 핸들러를 연결하는 것을 핸들러 맵핑(Handller Mapping)이라고 하고, @RequestMapping 어노테이션을 사용하여 맵핑이 이루어지며, DispatcherServlet에게 리턴을 해줘서 응답을 할수있게 해준다. 2. @RequestMapping *어노테이션 종류 어노테이션 설명 @RequestMapping - 클라이언트에게 요청받는 주소를 클래스와 연결시켜주는 어노테이션(클래스 연결 중간..
[JAVA 웹 개발 공부] 국비지원 82일차 - 스프링 프레임 워크, IoC, 빈 등록, 어노테이션, Spring MVC, JdbcTemplate Inversion of Control(IoC) IoC란 기존 사용자가 모든 작업을 제어하던 것을 특별한 객체에 모든 것을 위임하여 객체의 생성부터 생명주기 등 모든 객체에 대한 제어권이 넘어 간 것을 IoC, 제어의 역전이라고 한다. IOC는 DI와 DL의 의해 구현된다. DL(Dependency Lookup) 의존성 검색 컨테이너에서는 객체들을 관리하기 위해 별도의 저장소에 빈을 저장하는데 개발자들이 컨테이너에서 제공하는 API 를 이용하여 사용하고자 하는 빈을 검색하는 방법이다. DI(Dependency Injection) 의존성 주입 각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해 주는 것이다. 스프링 빈(bean) 등록 스프링(Spring) 컨테이너가 ..
[JAVA 웹 개발 공부] 국비지원 81일차 - 스프링 프레임 워크 프레임 워크 1. 프레임워크 프레임워크는 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 커넥션 등의 기능들을 위해 뼈대(구조)를 제공한다. 개발자는 이러한 뼈대 위에서 코드를 작성해 원하는 애플리케이션을 개발할 수 있다. 프레임워크는 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있다. 쉽게 말해 프레임워크는 개발자가 개발을 쉽게 할 수 있도록 뼈대를 제공해준다고 생각하면 된다. 특성 내용 모듈화 프레임워크는 캡슐화를 통해 모듈화를 강화하고 설계 및 구현의 변경에 따른 영향을 최소화함으로써 소프트웨어의 품질을 향상 재사용성 프레임워크는 재사용 가능한 모듈들을 제공함으로써 예산 절감, 생산성 향상, 품질 보증이 가능 확장..
[JAVA 웹 개발 공부] 국비지원 72일차 - async / await, 재귀호출, Cookie, 배열 인덱스 설정 async / await 1. async와 await 사용 이유 콜백함수의 단점을 보완해주는 Promise, 그리고 또 Promise의 단점을 보완해주는 async/await. async/await은 Promise와 다른 개념이 아니고 Promise를 사용하는 패턴이다. async/await를 사용하는 가장 큰 이유는 Promise도 가독성이 썩 좋지 않다는 점이다. 코드가 깔끔하고 가독성이 좋아야 눈으로 로직 파악이 가능하고 디버깅이 쉬워지기 때문이다. 그리고 또 async/await로 코드의 양도 줄일 수 있다. *Promise 문법 function p() { return new Promise((resolve, reject) => { resolve('hello'); // or reject(new Er..
[JavaScript] 이벤트 - 이벤트 객체, this 키워드 이벤트 이벤트(event)는 웹 브라우저와 사용자 사이에 상호작용이 발생하는 특정 시점을 의미한다. 자바스크립트로 이벤트 종류에 따른 제어 작업을 할 수 있다. 1. 이벤트 종류 구분 이벤트 설명 마우스 이벤트 onclick 마우스로 클릭하면 발생한다. ondblclick 마우스로 빠르게 두 번 클릭하면 발생한다. onmouseover 마우스 포인터를 올리면 발생한다. onmouseout 마우스 포인터가 빠져나가면 발생한다. onmousemove 마우스 포인터가 움직이면 발생한다. onwheel 마우스 휠(wheel)을 움직이면 발생한다. 키보드 이벤트 onkeypress 키보드 버튼을 누르고 있는 동안 발생한다. onkeydown 키보드 버튼을 누른 순간 발생한다. onkeyup 키보드 버튼을 눌렀다가..
[JavaScript] 문서 객체 모델 - DOM, Node , 폼(form) DOM 문서 객체 모델(DOM, Document Object Model)은 웹 브라우저에 표시되는 문서를 자바스크립트가 이해할 수 있도록 객체화한 모델 구조이다. DOM은 트리 구조로 생성되는데, 이를 DOM 트리라고 한다. DOM 트리는 document 객체 하위에 HTML 태그 요소, 속성, 텍스트, 주석 등이 트리 형태로 구성되는데, 이들을 각각 노드(node)라고 한다. 각 노드는 부모, 자식, 형제 관계가 형성된다. *DOM 트리를 구성하는 노드 타입 타입 설명 문서 노드(Node.DOCUMENT_NODE) 최상위 document 객체의 노드 타입 요소 노드(Node.ELEMENT_NODE) h1, p 태그와 같은 요소의 노드 타입 속성 노드(Node.ATTRIBUTE_NODE) href, sr..
[JavaScript] 객체 - 객체 특성, 표준 내장 객체, 브라우저 객체 모델 객체 객체는 키와 값으로 구성된 속성들의 집합을 의미하는 자료형이다. 객체는 {}를 이용해 생성할 수 있는데, 이런 방법을 리터럴(literal) 방식으로 객체를 생성했다고 표현한다. 그리고 속성이 한 개도 없는 객체를 빈 객체라고 한다. 객체는 데이터의 종류를 가리지 않으므로 모든 자료형의 데이터를 값으로 가진다. 예를 들어, 배열, 숫자, 논리 데이터를 한 객체의 속성으로 추가할 수 있으며, 또 다른 객체나 함수가 들어갈 수도 있다. 객체 접근 방법 객체는 대괄호 연산자나 마침표 연산자로 접근할 수 있다. 객체["키"] = 값; 객체.키 = 값; 객체 속성 추가 또는 삭제하기 객체의 속성에 접근해서 새로운 값을 할당할 때, 존재하지 않는 키라면 새로운 속성이 추가된다. 그리고 delete 키워드로 속..
[JAVA 웹 개발 공부] 국비지원 71일차 - 비동기, 싱글스레드, Ajax, Promise 객체, CORS, CSS 프레임워크, 캔버스 싱글 스레드와 멀티 스레드 1. 싱글 스레드 하나의 프로세스가 한번에 하나의 일만 처리하는 것이다. 2. 멀티스레드 하나의 응용프로그램을 여러 개의 스레드로 구성하고 각 스레드로 하여금 하나의 작업을 처리하도록 하는 것이다. 하나의 스레드에 문제가 발생하면 전체 프로세스가 영향을 받기에 주의 깊은 설계가 필요하다. 또한 스레드 간의 자원 공유로 동시성 문제가 발생할 수 있다. 동기 vs 비동기 동기는 '직렬적'으로 작동하는 방식이고 비동기는 '병렬적'으로 작동하는 방식이다. 1. 동기(synchronous : 동시에 일어나는) 요청을 하면 (바로) 응답을 받는다는 의미로 말 그대로 동시에 일어난다는 뜻이다. 요청과 그 결과가 동시에 일어난다는 약속으로, 바로 요청을 하면 시간이 얼마가 걸리던지 요청한 자..
[JAVA 웹 개발 공부] 국비지원 70일차 - 배열, Array 메소드, json 변환, 타이머 함수, setInterval, 입력 유효값 확인 배열 1. 배열 선언 let arr = []; 2. 배열 원소 초기화 (인덱스로 접근) arr[0] = 123; arr[1] = 456; arr[5] = 5555; 3. 배열 길이값 console.log(arr.length); // 6 4. 초기화되지 않은 배열 원소 console.log(arr[2]); // undefined Array 메소드 1. push() push() 메소드는 하나 이상의 요소를 배열의 가장 마지막에 추가한다. 원본 배열은 추가한 요소의 수만큼 길이(length)가 늘어나게 되며, 요소를 성공적으로 추가하면 배열의 총 길이를 반환한다. let arr = []; arr.push("마지막에"); arr.push("원소가"); arr.push("추가됩니다."); console.log(a..
[JavaScript] 함수 - 함수 정의, 스코프, 함수 호이스팅, 즉시 실행 함수 함수 정의 1. 함수 선언문 *형식 function 함수명(){} *함수 정의, 호출 // 함수 정의 function gugudan(){ for(let i = 1; i
[JAVA 웹 개발 공부] 국비지원 69일차 - 자바스크립트, DOM, Document, property, 프로토타입, `${}`, arrow, 클로저, 이벤트 처리 DOM 문서 객체 모델(DOM, Document Object Model)은 XML이나 HTML 문서에 접근하기 위한 일종의 인터페이스이다. 이 객체 모델은 문서 내의 모든 요소를 정의하고, 각각의 요소에 접근하는 방법을 제공한다. Document 객체 1. Document 객체 Document 객체는 웹 페이지 그 자체를 의미하며, 브라우저가 해당 문서에 접근을 가능할 수 있게 만든 객체이다. 웹 페이지에 존재하는 HTML 요소에 접근하고자 할 때는 반드시 Document 객체부터 시작해야 한다. 2. HTML 요소의 선택 메소드 설명 document.getElementsByTagName(태그이름) 해당 태그 이름의 요소를 모두 선택함. document.getElementById(아이디) 해당 아이디의 ..
[JavaScript] 기초 문법 - 변수와 상수, 자료형, 객체, 연산자, 조건문, 반복문 변수와 상수 자바스크립트에서 데이터를 저장할 수 있는 공간을 변수와 상수 변수라고 한다. 변수는 변할 수 있는 데이터를 저장하는 공간이고, 상수 변수는 재할당할 수 없는 데이터를 저장하는 공간이다. 1. var var num; // 변수 선언 var num = 10 + 20; // 변수 초기화 2. let let num = 10 + 20; (1) 변수명 중복이 불가능하다. (2) 호이스팅되지 않는다. +) 호이스팅(hoisting)은 var 키워드로 변수를 선언하고 할당했을 때, 변수 선언을 자바스크립트의 스코프(scope) 맨 위로 올려서 실행하는 것을 말한다. (3) 스코프의 범위가 다르다 3. const 변수를 선언할 때 사용하는 키워드로 const 도 있다. 변수명을 중복으로 선언하는 것과 호이스..
[JAVA 웹 개발 공부] 국비지원 68일차 - CSR, 자바스크립트, JS 변수, JS 기본 연산, 함수 SSR vs CSR SSR(Server Side Rendering) CSR(Client Side Rendering) 방식 서버사이드 렌더링의 약자로 서버로부터 완전하게 만들어진 html파일을 받아와 페이지 전체를 렌더링 하는 방식이다. 클라이언트 사이드 렌더링이란 사용자의 요청에 따라 필요한 부분만 응답 받아 렌더링 하는 방식이다. 장점 SEO, 검색엔진 최적화: 검색엔진이 웹을 크롤링 하면서 페이지에 컨텐츠 색인을 생성하는 과정 어플리케이션은 화면을 구성하는 각각의 페이지가 있기때문에 SEO에 유리 빠른 초기 로딩(사용자가 기다리는 시간이 적다) 빠른 속도(초기화면 랜더링시X) 필요한 부분만 요청하고 응답하기 때문에 서버 부화 감소 사용자 친화적(깜박임X) 단점 요청시마다 새로고침 → 깜박임 생김 서버..
[JAVA 웹 개발 공부] 국비지원 67일차 - Maven 외부 라이브러리 추가, JUnit 어노테이션, JUnit DB Test Maven 외부 라이브러리 추가하기 외부 라이브러리를 사용하기 위해서 pom.xml에 태그 안에 dependency를 추가한다. 는 프로젝트가 의존하는 라이브러리들의 정보를 담는 태그이다. *자주 사용하는 라이브러리 라이브러리 기능 dependency Apache Commons DBCP » 2.9.0 DataSource 구현체 org.apache.commons commons-dbcp2 2.9.0 MySQL Connector Java » 8.0.32 jdbc mysql 드라이버 mysql mysql-connector-java 8.0.32 SLF4J API Module » 2.0.6 logger 인터페이스 org.slf4j slf4j-api 2.0.6 Logback Classic Module » 1.3.5 ..
[JAVA 웹 개발 공부] 국비지원 66일차 - API 자료 읽기, HTTP 요청 보내기, OkHttp, jsonschema2pojo, Jsoup, Jackson Dataformat CSV API 자료 읽어오기 package kr.co.greenart.testjson; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; public class SimpleGet { public static void main(String[] args) { String apiURL = "https://myfakeapi.com/api/users/1"; try { URL url = new URL(apiURL); HttpURLConnec..
[JAVA 웹 개발 공부] 국비지원 65일차 - JSP 파일 업로드 및 다운로드, enctype, Content-Type, JSON, API, REST API 서블릿과 JSP JSP의 구동 방식은 JSP 파일을 서블릿으로 변환하여 서블릿을 실행하는 방식이다. JSP는 클라이언트에 보여지는 결과 페이지를 생성할 때 주로 쓰이며, 서블릿은 UI 요소가 없는 제어나 기타 처리 용도로 쓰인다. 서블릿 JSP 자바 코드 안에서 전체 HTML 페이지를 생성한다. HTML 코드 안에서 필요한 부분만 자바 코드를 스크립트 형태로 추가한다. 변수 선언 및 초기화가 반드시 선행되어야 한다. 자주 쓰이는 기능을 내장 객체로 제공하여 즉시 사용할 수 있다. 컨트롤러(Controller)를 만들 때 사용된다. 처리된 결과를 보여주는 뷰(View)를 만들 때 사용한다. JSP 파일 업로드 및 다운로드 1. 이진데이터(이미지 파일) DB(MySQL)에 올리기 *fileupload.jsp..
[JAVA 웹 개발 공부] 국비지원 64일차 - Listener, Build Tool, Maven, logger ServletContextListener 1. Listener 이벤트 발생한 특정 사건(마우스 클릭, 키보드 입력, 클라이언트로부터의 HTTP 요청, 웹어플리케이션 시작, 웹어플리케이션 종료 등) 이벤트 소스 이벤트가 발생한 대상(근원지)으로 마우스, 키보드, 웹어플리케이션(ServletContext) 등 리스너, 핸들러 이벤트가 발생되기를 기다렸다가 발생시 실행되는 메서드나 함수. 또는 메서드를 가진 객체 2. ServletContextListener Servlet/JSP는 웹 어플리케이션을 개발하기 위한 기술이므로, 웹 환경에 관련된 이벤트들이 존재한다. 따라서 웹과 관련된 이벤트를 리스닝하고 처리할 수 있는 리스너를 구현해야 한다. Servlet/JSP에서는 웹 환경과 관련된 이벤트 리스너를 구현할..
[JAVA 웹 개발 공부] 국비지원 63일차 - HttpSession, @WebServlet, Filter HttpSession HttpSession 인터페이스는 둘 이상의 page request에서 사용자를 식별하거나, 웹 사이트를 방문하고 해당 사용자에 대한 정보를 저장하는 방법을 제공한다. Servlet container는 HttpSession를 사용하여 HTTP client - HTTP server 간의 세션을 생성한다. 이 때, 세션은 한 명의 사용자에 해당한다. 서버는 Cookie, rewriting URL와 같은 방법으로 세션을 유지하면서 관리할 수 있다. 객체를 세션에 바인딩하여 사용자 정보를 유지할 수 있다. 1. getSession(), getSession(true) HttpSession이 존재하면 현재 HttpSession을 반환하고 존재하지 않으면 새로 세션을 생성한다. 2. getSes..
[JAVA 웹 개발 공부] 국비지원 62일차 - 자바빈, init(), <load-on-statup> 태그, 커넥션 풀, 오브젝트풀 패턴, 싱글턴 패턴, 태그 라이브러리 자바빈(JavaBean) JSP에서 객체를 가져오기 위한 기법으로 데이터 전달 오브젝트 파일 DTO(Data Transfer Object)라고도 한다. 자바로 작성된 컴포넌트들 즉, 클래스(Class)를 일반적으로 말한다. JSP 프로그래밍에는 DTO(Data Transfer Object)나 DAO(Data Access Object)클래스의 객체를 JSP페이지에서 사용하기 위해 사용한다. 자바빈을 이용하여 프로그래밍을 하면 클래스의 객체 선언과 비즈니스 로직 등을 스크립틀릿 영역에서 작성하지 않아서 가독성이 좋다. 자바빈의 장점은 자바 코드를 최대한 줄일 수 있으며, 재사용이 가능하여 자원 낭비를 막을 수 있다는 것이다. 1. 태그 자바빈 객체를 생성하기 위한 태그. jsp에서 JavaBean을 통해 새..
[JAVA 웹 개발 공부] 국비지원 61일차 - 서블릿, MVC 패턴, EL, 방명록 구현 서블릿 자바 서블릿(Java Servlet)은 웹페이지를 동적으로 생성하는 서버 측 프로그램 혹은 그 사양을 말하며, 흔히 "서블릿"이라 불린다. 서블릿은 웹 서버의 성능을 향상하기 위해 사용되는 자바 클래스의 일종이다. 기존에 서버는 정적인 자료(HTML, 사진, 글 등)만을 주고받았다. 하지만 웹에 다양한 기능이 요구되면서 정적인 자료뿐만 아니라 사용자 요구에 맞춘 동적인 페이지들을 만들 필요가 생겼다. 이를 위해 만들어진 것이 바로 서블릿이다. 쉽게 말해 서블릿은 클라이언트의 요청에 맞춰 동적인 결과를 만들어 주는 자바 웹 프로그래밍 기술이라고 할 수 있다. 이러한 서블릿은 WAS(Web Application Server)의 서블릿 컨테이너 안에서 동작하게 된다. MVC(Model-View-Cont..
[JAVA 웹 개발 공부] 국비지원 60일차 - Session, JSP 기본객체, web.xml, 서블릿 매핑 Session 1. 세션 웹 브라우저에 정보를 보관할 때 쿠키를 사용한다면, 세션은 웹 컨테이너에 정보를 보관할 때 사용한다. 세션은 오직 서버에만 생성된다. 웹 컨테이너는 기본적으로 한 웹 브라우저마다 한 세션을 생성한다. 웹 브라우저마다 세션이 따로 존재하기 때문에, 세션은 웹 브라우저와 관련된 정보를 저장하기에 알맞은 장소이다. 즉, 쿠키가 클라이언트 측의 데이터 보관소라면 세션은 서버측의 보관소인 것이다. 쿠키와 마찬가지로 세션도 생성을 해야만 정보를 저장할 수 있다. 2. 세션 생성하기 session 속성은 기본값이 true이므로 session 속성값을 false로 지정하지만 않으면 세션이 생성된다. 세션이 생성되면 session 기본 객체를 통해서 세션을 사용할 수 있다. 세션을 사용하는 서버..
[JAVA 웹 개발 공부] 국비지원 59일차 - JSP DB 입출력, 에러페이지, Cookie, Session JSP 연습 - DB 입출력 회원 가입 서비스 (1) index 페이지 구성(서비스 페이지 링크 포함) (2) 입력폼(이메일, 이름, 성) (3) 회원정보가 DB에 추가 *index.html 회원정보 추가하기 *userform.html *adduser.jsp +) 응답 코드 405 : 요청한 페이지는 있으나 동작하지 않는다. +) request.setCharacterEncoding("UTF-8"); 파라미터 값을 가져오기 전에 설정해주기(한글깨짐 해결) *result.jsp 인덱스로 돌아가기 *ConnectionProvider.java package dbutil; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLE..
[JAVA 웹 개발 공부] 국비지원 58일차 - Attribute, forward, DB 연동 기본 객체의 속성(Attribute) 네 개의 기본객체 pagecontext, request, session, application 는 속성을 갖고 있다. 속성은 각각의 기본 객체가 존재하는 동안에 사용될 수 있고, JSP 페이지 사이에서 정보를 주고 받거나 공유하기 위한 목적으로 사용된다. 형태를 가지고, 서로 다른 이름을 가진 속성을 여러개 포함할 수 있다. request 기본 객체는 한 번의 요청에 대해 유효하게 동작하며 , 한 번의 요청을 처리하는 데 사용되는 모든 JSP에서 공유된다. 메소드 반환타입 설명 setAttribute(String name, Object value) void 이름이 name인 속성의 값을 value로 지정한다. getAttribute(String name) Object..
[JAVA 웹 개발 공부] 국비지원 57일차 - JSP 연습, request, GET 방식, POST 방식, Stateless, Redirect JSP 연습 1. 퀴즈 페이지 만들기 *quiz.html Java Spec중 동적 페이지 구성은 어떤 걸로 가능? html jsp radio quiz *quizanswer.jsp 2. 취미생활 개수세기 *hobby.html 취미 선택 자바 리그 오브 레전드 히어로즈 오브 스톰 도타 *hobbycount.jsp 3. 랜덤퀴즈 만들기 *randomquiz.jsp *randomanswer.jsp 4. 로그인 페이지 만들기 id : admin / password : root 로그인 성공 → 메시지 출력 로그인 실패 → 실패 메시지와 로그인 페이지로 이동할 수 있는 링크 제공 *login.html 아이디 비밀번호 *loginprogress.jsp 로그인 페이지로 이동 5. 간단한 웹 계산기 *calcform.js..
[JAVA 웹 개발 공부] 국비지원 56일차 - CSS 선택자, 스타일 시트, position, HTML 시맨틱 태그, 웹서버, WAS, JSP, Postman CSS 선택자 1. 기본 선택자 종류 설명 형식 전체 선택자 HTML 에서 사용할 수 있는 모든 요소를 한번에 선택자로 지정 *{/* CSS 코드 */} 태그 선택자 HTML 태그명으로 선택자를 지정 태그명{/* CSS 코드 */} 아이디 선택자 HTML 태그에서 사용할 수 있는 id 속성값을 이용해 선택자를 지정 #id속성값{/* CSS 코드 */} 클래스 선택자 HTML 태그에서 사용할 수 있는 class 속성값을 이용해 선택자를 지정 .class속성값{/* CSS 코드 */} 기본 속성 선택자 HTML 태그에서 사용할 수 있는 속성과 값을 사용해 선택자를 지정 [속성]{/* CSS 코드 */} [속성=값]{/* CSS 코드 */} 2. 조합 선택자 종류 설명 형식 그룹 선택자 여러 선택자를 하나로 ..
[JAVA 웹 개발 공부] 국비지원 55일차 - 3-tier architecture, 인터넷, 통신망, 프로토콜, 웹 서버, 톰캣, VSCode, html, css 3-tier architecture 클라이언트와 클라이언트의 요청을 받는 부분을 분리를 시킨다. 클라이언트에선 화면을 보여주기만 하고 요청이라는 것을 만들어내서 요청을 서버라는곳에 전송을 하게 만들어준다. 서버에서 처리를 다 한 후 응답이라는것을 해준다. 요청을 보내고 응답을 받는 과정을 네트워크 요청을 통해서 할 수 있다. 서버에 중요한걸담고 클라이언트에는 넣지 않으면 되므로 보안의 문제에서 좀더 자유로워질 수 있다. 네트워크 기초 1. 인터넷(Internet) 개념 인터넷은 컴퓨터로 연결하여 TCP/IP 라는 통신 프로토콜을 이용해서 정보를 주고받는 컴퓨터 네트워크이다. 인터넷은 종단 시스템, 통신망, 프로토콜, 주소체계, 인터넷 접속 제공으로 구성되어 있다. 구성요소 설명 종단 시스템 호스트, 서버..
[JAVA 웹 개발 공부] 국비지원 54일차 - 커맨드패턴(디자인패턴), DB에서 이미지 가져오기 커맨드패턴(디자인패턴) 커맨드 패턴은 객체의 행위(메소드)를 클래스로 만들어 캡슐화 하는 패턴이다. 즉, 어떤 객체(A)에서 다른 객체(B)의 메서드를 실행하려면 그 객체(B)를 참조하고 있어야 하는 의존성이 발생한다. 그러나 커맨드 패턴을 적용하면 의존성을 제거할 수 있다. 또한 기능이 수정되거나 변경이 일어날 때 A 클래스 코드를 수정없이 기능에 대한 클래스를 정의하면 되므로 시스템이 확장성이 있으면서 유연해진다. import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.HashMap; import java.util.Map; interface 명령처리자 { public 결과 처리(); } class..