Spring Boot는 thymeleaf라는 View Template Engine을 사용한다.


thymeleaf가 XHTML을 기반으로 만들어져서 스크립트에 특수문자 사용시 "<" 같은 문자를 쓰면 애러가 난다.


// !<CDATA[[


//]]>


를 활용해서 안에 특수문자를 써줘야한다.


Posted by moyaiori
,

#목표

intellij에서 스프링 부트(Spring Boot)를 기반으로한 예제 프로젝트를 만들어보기 -> 페이지 띄우기


1. 프로젝트 생성

intellij에서 

File -> Project -> Spring Initializr -> Selected Dependencies

필요한 모듈을 선택한다.


Selected Dependencies


모듈선택후 프로젝트 생성 완료



2. 컨트롤러 생성

java폴더밑에 Controller 생성 (@Controller 추가)


3. 페이지생성

resources -> templates에 뷰 파일을 생성한다. 

(위 사진에서 확인가능) 

이때 "<meta charset="utf-8"/>" 을 셋팅하지않으면 애러가 난다.



4. 어플리케이션 실행

해당 어플리케이션을 실행한다. 


5. 화면띄우기

주소는 "localhost:8080" 이며 톰캣이없어도 스프링부트 내장 톰캣으로 실행된다. 


Posted by moyaiori
,

http://d2.naver.com/helloworld/1113548


http://imcho.tistory.com/38


1. Runtime 클래스

Runtime.exec(); 를 통해서 외부 프로세스를 실행한다.


exec() 메소드를 호출하기 전에 명령어와 해당 독립변수, 환경 변수 설정, 작업 디렉터리 등을 지정한다. 모든 버전의 메소드는 생성된 프로세스를 관리하기 위한 java.lang.Process 오브젝트를 반환하는데, 이는 서브프로세스 및 종료 상태의 인풋 또는 아웃풋 스트림을 얻어낼 수 있도록 해준다.


exec()의 매게변수안에 명령어를 작성하여 실행시키면 명령어대로 실행된다.이에 따른 아웃풋을 읽어드려 출력하면 커맨드창에 출력된다.


하지만 exec()에서는 서브프로세스의 환경변수에 대한 입력이 용이하지않다. 그걸 개선하기위해 ProcessBuilder클래스를 사용한다.



2. ProcessBuilder 클래스

위에서 언급했듯이 환경변수를 조작하는데 더욱 용이하다.

환경변수를 입력하기위해 environment()메소드를 통해 Map을 얻어낸다음 map을 처리한다.


다음과같이 map에 환경변수를 설정하여준다.

--------------

ProcessBuilder processBuilder = new ProcessBuilder( command, arg1, arg2); 

Map<String, String> env = processBuilder.environment(); 

env.put("var1", "value"); 

env.remove("var3");

--------------


환경 변수와 디렉터리가 설정된후 start()를 호출한다.


또한 환경변수를 초기화하기위해 clear()하고 다시 설정할수도있다.



Posted by moyaiori
,

Java Jsch를 이용하여 SFTP를 구현


- java에서 sftp 연결하기

http://haneulnoon.tistory.com/55


init : sftp 채널생성

upload : 업로드

download : 다운로드



- java watch service (디렉토리 감시, 1.7부터 가능)

http://wooriworld2006.tistory.com/311



리눅스 서버에 open sftp로 파일 전송


계속 같은 파일명이 올라올경우 modify에서 돌기때문에 업로드이후 해당파일의 확장자를 변경한다.


"Files.move(originaFilePath, renameFilepath);" 를 이용해서 파일명 변경


- java, 파일 rename, move 하는법

http://pandorica.tistory.com/38

Posted by moyaiori
,

16-04-28, 16-05-12

http://www.egovframe.go.kr/wiki/doku.php?id=egovframework:dev2:overview


전자정부 프레임워크에서 제공하는 4가지 도구


1. Implementation Tool

프로그램 개발, 테스트, 디버그 등 개발자 개별 개발환경을 제공


2. Test Tool

개발 프로그램에 대한 단위 테스트용 프로그램 작성 지원


3. Configuration & Change Management Tool

개발 프로그램에 대한 형상 식별, 버전관리, 이슈관리 및 모니터링 도구 제공


4. Deployment Tool

CI(Continuous Integration)와 서버 이관 관련 도구 제공


- 개발자 개발 환경

Implementation Tool(Editor, Debug, IDE, Common Component, Mobile IDE)

Test Tool(Test Reporting, Unit Test)


- 서버 개발 환경

Deployment Tool(Build, Deploy)

Conf. & Change Mgt. Tool(Configuration Management, Change Management)



Posted by moyaiori
,

eGovFrame 에서 사용하는


크로스사이트스크립팅이라는 사이트 해킹기법은 사융자의 뷰에서 스크립트 코드를 전송시켜 시스템을 해킹하는 방법이다.


이런 해킹방법을 막기위해 정규식처리를 보다 쉽고 편하게 하기위해 HTMLTagFilter 클래스를 구현하여 지원한다.


필터에서 다음과같이 선언한다

Posted by moyaiori
,

전자정부 프레임워크 기반(Spring) 프로젝트 시작!


 - 게시판

검색, 리스트


- 가계부

금일 사용한 금액 계산해주기



 - 하루 단위 일정

한일 정리하기(어제, 오늘, 내일)

달력


알람


- 반찬가게 홈페이지



jQuery UI만 활용

DB연동



Posted by moyaiori
,

자바 클래스 패스쪽 문제일때 봐야할것들

1. Java Build Path : JRE System Libray -> workspace jdk로 변경

2. Java Compiler : 1.5 -> 1.6 변경

3. Deployment Assembly : add -> Java Build Path Entries ->maven Dependencies 추가

Posted by moyaiori
,

1일차 내용


기본적인 위젯 공부 (이미지 뷰까지)


2일차 시작!!


다양한 레이아웃 구성방법


자바코드만을 이용한 레이아웃 구성


렐러티브 레이아웃 만들어보기


그리드 레이아웃 - 테이블 레이아웃보다 유연하게 구성할 수 있다. 4.0부터 지원한다.


고급 위젯


슬라이딩도어, 뷰 플리퍼, 탭호스트

Posted by moyaiori
,

안드로이드 어플리케이션 개발


안드로이드는 리눅스 커널을 기반으로한 OS이며 개발언어는 자바이다.


자바는 애플리케이션 클래스가 시작점이라고하면 안드로이드는 어떤것이든 될수 있다.


대표적으로 많이 애플리케이션 클래스가 많이되는것은 액티비티(Activity)이다.


구성요소

1. 액티비티 (Activity) - 유저 인터페이스 및 이벤트를 제공

2. 서비스 (Service) - 백그라운드에서 실행되는 컴포넌트

3. 컨텐트 프로바이더(Conternt Provider) - 

4. 브로드캐스트 리시버 - 모바일 디바이스 내부적으로 이벤트를 캐치하기 위한 컴포넌트

Posted by moyaiori
,