전체 글 215

Java | 객체(Object) ↔ XML (JAXB, Simple Framework)

자바 클래스(객체)를 XML로 표현하는 방법 1. JAXB (+spring oxm) 2. simpleFramework JAXB(Java Architecture for XML Binding) 기능 - 직렬화 (자바객체 -> XML) - 역직렬화 (XML -> 자바객체) Spring oxm(Object/XML Mapper) Object/XML 매핑이란 XML 문서를 객체로 변환하거나 객체를 XML로 변환하는 행위를 말한다. O/X 매핑분야에서는 marshaller가 객체(그래프)를 XML로 직렬화하는 책임을 진다. 유사한 방법으로 unmarshaller가 XML을 객체 그래프로 역직렬화한다. O/X 매핑이 필요한 곳에 스프링을 사용하는 이점이 몇가지 있다. 쉬운 설정 스프링의 빈 팩토리는 JAXB 컨텍스트,..

개발_웹/Java 2017.10.31

Java | split() - 문자열 나누기

1. split() C의 strtok() 함수와 유사하게 특정 문자를 기준으로 문자열을 나누는 기능을 하는 메소드 2. 사용방법 ex)나눌 문자열: T1000|AIR|JPN|일본|인천-나리타 7박8일|10 info = row.split("\\|"); product = new Product(); product.setCode(info[0]);product.setCategory(info[1]);product.setSubCategory(info[2]);product.setName(info[3]);product.setDescription(info[4]);product.setStock(Integer.parseInt(info[5])); 3. 주의할 점 split()으로 문자열을 나눌 때 기준 문자로 '/' 또는 ',..

개발_웹/Java 2017.09.04

Java | 태그가 적용되지 않고, 화면에 그대로 노출될 경우 (JSTL, escapeXml)

위 화면처럼 태그가 그대로 나올 때 해결하는 방법 Case 1 (Java) Java에서 태그 문자열를 아래와 같이 대체해본다. str = str.replaceAll("<", ""); Case 2 (JSTL) escapeXml 값에 false를 줘본다. escapeXml 의 defalut값은 true로, escapeXml을 설정하지 않거나, true로 설정할 경우, 문자열에 포함된 HTML 특수문자는 해당되는 문자 엔티티 코드로 변환되어 표시된다. true를 줬을 경우, 예를 들면 '

개발_웹/Java 2017.09.03

Java | 자바로 경고창(Alert) 띄우기

컨트롤러에서 바로 띄우지 않고, alert를 띄우는 용도의 jsp를 만들어 사용하는 방법이다. 요청 페이지 -> 컨트롤러 -> alert.jsp -> 요청 페이지 1. 요청 페이지(JSP) 장바구니에 담기 버튼 클릭 ajax로 컨트롤러 호출 function putIn(code, stock) { ... // 1. 상품을 장바구니에 담기 $.ajax({ type: 'POST', url: 'putIn.do', ... } 2. 컨트롤러 로그인 상태 검사하여, 안되어 있는 경우 alert를 띄우는 jsp로 보낸다. if (session.getAttribute("isLogin") == null) { // 로그인이 안되어있는 경우 자동 로그인 response.sendRedirect("login.jsp"); retur..

개발_웹/Java 2017.09.02

JavaScript | 자바스크립트의 유효 범위, 스코프 (Scope)

유효범위(Scope) 변수나 함수는 이름을 부여하여 의미를 갖게 됩니다. 만약 이름이 없다면, 변수나 함수는 그저 하나의 메모리 주소에 지나지 않습니다. 그래서 "이름:값"의 대응표를 만들어 사용합니다. 이 대응표의 이름을 가지고 값을 저장하고 가져와 사용합니다. 이 대응표의 충돌을 막기 위해 유효범위(Scope)라는 규칙을 만들어 사용하게 됩니다. 자바스크립트 또한 스코프 규칙을 가지고 있는데, 자바스크립트(ES6)는 함수 레벨, 블록 레벨의 렉시컬 스코프 규칙을 따릅니다. 1. 함수 레벨 스코프 (Function Level Scope) 자바스크립트에서 var 키워드로 선언된 변수나, 함수 선언식으로 만들어진 함수는 함수 레벨 스코프를 갖습니다. 즉 함수 내부 전체에서 유효한 값을 가지게 됩니다. fu..

JavaScript | 자바스크립트의 즉시 실행 함수 (immediate funtions)

즉시 실행 함수 정의와 동시에 실행되는 함수 즉시 실행 함수의 특징 한 번의 실행만 필요로 하는 초기화 부분에 주로 사용된다. 전역 변수를 만들지 않아도 되게 하기 때문에 코드 충돌 없이 구현이 가능하게 한다. 작성 예 기명 함수 형태 (function square(x) { console.log(x*x); })(2); (function square(x) { console.log(x*x); }(2)); 익명 함수 형태 (function (x) { console.log(x*x); })(2); (function (x) { console.log(x*x); }(2)); 함수 표현식 (mySquare = function (x) { console.log(x*x); })(2); // default value mySqu..

JavaScript | 자동 실행 함수 (window.onload, $(document).ready())

요약 window.onload 와 $(document).ready() 중에 어느 한 쪽이 좋다고 할 수 없다. window.onload 는 페이지의 모든 요소들이 로드된 이후에 호출되며, $(document).ready() 는 DOM 요소들만 로드되면 호출된다. window.onload 는 한 페이지에 하나의 함수만 호출되지만, $(document).ready() 는 모두 호출된다. window.onload Javascript로 페이지 로드 시 자동으로 실행되는 함수를 구현하려면 전역 콜백함수인 window.onload 함수를 사용하면 된다. 2017.07.19 - [분류 전체보기] - Javascript | 전역 콜백 함수 Javascript | 전역 콜백 함수 전역 콜백 함수 자바스크립트는 특수한 글..

Java | 추상클래스(abstract) vs 인터페이스(interface)

추상 클래스 abstract로 선언한 클래스 추상 메소드를 포함 추상 메소드 선언은 되어 있으나 코드가 구현되어 있지 않은 껍데기만 있는 메소드 abstract 키워드와 함께 타입, 이름, 매개변수만 선언 자식클래스에서 오버라이딩하여 사용 추상 클래스의 특징 객체를 생성 불가 (선언은 가능 ex DObject obj;) 추상메소드 뿐만이 아니라 일반 메소드 포함 가능 추상 클래스의 상속 추상 클래스를 상속받은 클래스도 추상 메소드를 전부 오버라이딩 하지 않으면 추상 클래스가 된다. 예시 // 추상 클래스 abstract class DObject { abstract public void draw(); } // 추상 클래스를 상속한 클래스1 class Line extends DObject { public v..

개발_웹/Java 2017.08.15