개발_웹/Java 49

Java | 날짜, 시간 (currentTimeMillis(), SimpleDateFormat)

currentTimeMillis() 현재 시간을 구하는 메소드. currentTimeMillis()의 리턴형은 long 값이며, 1/1000초의 값을 리턴한다. 이 메서드를 통하여, 현재 시간을 계산 할 수 있고, 프로그램의 실행 시간 또한 나타낼 수 있다. public class trunc_tweet_tag { public static void main(String[] args) { long time = System.currentTimeMillis(); SimpleDateFormat dayTime = new SimpleDateFormat("yyyy-mm-dd hh:mm:ss"); String str = dayTime.format(new Date(time)); System.out.println(str);..

개발_웹/Java 2019.05.09

Java | 객체(Object) ↔ XML (simple 프레임워크를 이용한 xml 변환)

Simple XML 직렬화처리 및 설정을 해주는 고성능 프레임워크 (http://simple.sourceforge.net/home.php) 1. porm.xml - simple framework 디펜던시 추가 org.simpleframework simple-xml 2.7.1 2. 디스패처 서블릿 (..컨트롤러, 도메인 빈 등록밖에 없음. 생략) 3. 도메인A @Root @Component public class User { @Element private int no; @Element private String id; @Element private String pw; @Element private String name; @Element private String address; (..이하 생성자, gett..

개발_웹/Java 2017.11.01

Java | 객체(Object) ↔ XML (spring oxm, jaxb를 이용한 xml 변환)

Spring oxm과 JAXB를 이용한 객체 ↔ XML 변환 1. porm.xml (Maven dependency 추가) 1) spring oxm - 'spring xml' 검색 - 'Spring Object/XML Marshalling' 선택 - 4.3.4 버전 2) jaxb - jaxb 검색 - Java Architecture For XML Binding » 2.2.12 2. dispatcherServlet - xml 파일의 Namespace 탭에서 p와 oxm 체크 (STS 플러그인 설치해야 보임) - (근데 회사 eclipse Luna 버전에서 Namespaces 탭이 안보이는 것 같은데? (STS는 설치되어있음)) - (STS 버전이 잘못된건가해서 Luna용 STS를 깔려고 했는데 안깔아짐) -..

개발_웹/Java 2017.10.31

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

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