늘 그렇지만 각 프로그램들의 버전이 1차 문제다.


전자정부프레임워크 3.7의 eclipse는 Neon 이다.

JDK 도 8.0 이상 설치,

Tomcat도 8이상 되는것을 설치



설치를 하지 않고 eclipse를 가동하면

기본적으로는 jre가 8이상이지만... JDK8이상으로 설치 후 경로설정을 하라는 얘기다.


그다음

Package Explorer 에서 오른쪽버튼 > New > eGovFrame Template Project 를 클릭하여

뭔가 제일 많이 들어있는 all in one 을 선택했다.


Project name 과 Group Id 를 지정하고 Finish를 누르면 프로젝트가 생성된다.

템플릿을 받았는데... 에러가 난다 왜?

JSP validation 에러라고 하네...


jsp validation은 무시해도 된다고 하니

설정에서 무시하도록 set.

Window > Preferences > Validation 에 가서

JSP Content Validator

JSP Syntax Validator  체크를 모두 해제한 다음. OK버튼 클릭.


이제 JSP 에러는 사라졌는데...

maven install 한 다음

Run AS Server 로 실행을 하면

JRE라서 안된다고 한다.


프로젝트에서 오른쪽 버튼 클릭 > Build Path > Configure Build Path


Java Build Path에서 Jre System Library 선택 후 Edit 버튼을 누르면
jre1.8로 되어있는데 이것을 jdk 로 바꿔준다.


JDK 환경설정을 해 놨기 때문에 workspace default JRE 에 jdk 로 되어있음.

특정 jdk를 선택하려면 environment 버튼에서 직접 선택하면 됨.

그런데...

마지막 에러다.. 아직 못잡음. ㅜ.ㅜ

템플릿 프로젝트이고 환경설정은 다 됐는데 서버에 올리면 가동이 안된다.


The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.)
    at org.apache.commons.dbcp.BasicDataSource.createPoolableConnectionFactory(BasicDataSource.java:1549)
    at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1388)
    at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:1044)
    at org.springframework.jdbc.datasource.DataSourceUtils.doGetConnection(DataSourceUtils.java:111)
    at org.springframework.jdbc.datasource.DataSourceUtils.getConnection(DataSourceUtils.java:77)
    ... 85 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Caused by: java.net.ConnectException: Connection refused: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at java.net.Socket.<init>(Socket.java:434)
    at java.net.Socket.<init>(Socket.java:244)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:258)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:306)


아직 mysql 설정 안했는데... 쩝.





728x90

1. 프로그램 download

http://www.egovframe.go.kr/ 접속

다운로드 > 3.x 다운로드 > 최신버전 선택


프로그램 다운로드

요즘pc는 64비트이므로

다운받은 프로그램 실행

- 실제로는 압축파일이며 압출을 풀 경로를 지정하라고 함.

현재 버전이름과 똑같이 지정함.


해당 경로로 이동

- eclipse와 workspace가 있으면 됨.

- maven과 settings는 추후

eclipse폴더로 들어가서 eclipse 실행

최초 실행시 workspace를 지정하라고 하기 때문에

C:\eGovFrameDev-3.7.0-64bit\workspace 로 지정

- 다른 폴더로 지정하고 싶으면 File > Switch workspace 에서 바꿈



728x90

전자정부프레임워크(EgovFramework)에서

프로젝트를 import 하여

run as > maven install 을 하게 되면 만나는 에러



No compiler is provided in this enviroment. Perhaps you are running on a JRE rather than a JDK?


기본으로 사용하는 java vm 이 jre인 것이다.

전자정부 프레임워크는 jdk를 써야 한다.


프로젝트에서 오른쪽 클릭

Build path > Configuration Build Path 를 클릭한 뒤

JAVA Build Path 에 jre로 되어 있으면

Edit를 클릭한 뒤에 jdk로 바꿔준다.

JDK를 깔아놨기 때문에 workspace default JRE를 선택한다.

다시 프로젝트에서 오른쪽클릭

Run As > maven install을 누르면 정상적으로 build가 된다.

728x90

application.properties 파일에 아래와 같이 기입


server.port=8090



출처: http://cpdev.tistory.com/category/Springboot-tip [하루하나]

application.properties 파일에 아래와 같이 기입


server.port=8090



출처: http://cpdev.tistory.com/category/Springboot-tip [하루하나]

스프링 부트

정상적으로 가동시 로그에 아래와 같이 찍히며

기본 포트는 8080이다


[           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)


 그런데....

다른 Tomcat 서버를 가동중거나 다른 스프링 부트 어플리케이션을 작동하면

아래와 같이 포트중복이 난다.

Verify the connector's configuration, identify and stop any process that's listening on port 8080, or configure this application to listen on another port.

그래서 이것을 회피하려면 어플리케이션 마다 각각 포트번호를 달리주면 된다.

(한번에 한개씩 돌리면 상관없다)


application.properties 파일에 사용할 포트를 추가한다.

server.port=8090

application.properties 파일에 아래와 같이 기입

출처: http://cpdev.tistory.com/category/Springboot-tip [하루하나]
application.properties 파일에 아래와 같이 기입

출처: http://cpdev.tistory.com/category/Springboot-tip [하루하나]


728x90

mysql에는 문자열을 암호화하는 함수가 있다. Password() 함수인데..


insert into member (id, pw) values ( 'abc', password('aaa'));

하고 commit을 확실히 하고


select *

from member

where pw = password('aaa')

를 했을 때 결과를 못 가져오는 경우가 발생한다.


가장 먼저 확인 해 볼 것은.... pw칼럼의 길이이다.

password('aaa')를 했을 때 길이보다 컬럼의 길이가 작으면


insert 할 때 값이 잘린다.

따라서 잘린 값과 password()함수의 결과값이 결코 같을 수 없다.


넉넉하게 pw칼럼을 vachar 50으로 주던가

긴 문장을 password()함수에 넣어서 길이를 보던가


조회 전 pw의 길이를 체크하던가 해야한다.


간만에 또 만졌더니... 며칠을 소비했던가 ㅠ.ㅠ

728x90

전자정부 프레임워크를 다운받고 새 프로젝트를 만들었는데

폴더만 생성되고 안에 소스도 없었다....

하루 종일 삽질 한 결과


Window와 Eclipse 그리고 Java의 bit수 문제다

64bit와 32bit를 혼합해서 쓰다보니....


eclipse.ini 에서

-vm
C:/Java/jdk1.6.0_45/bin/javaw.exe

이부분을 추가한다.


왜냐하면... 자동으로 java 1.8을 쓸 수도 있어서...


버전이 안맞으면

다음 메세지가 나올 수도 있다.

이것 역시 JVM을 맞춰주면 된다 ㅡㅡ;

Java was started but returned exit code=1

728x90

전자정부 프레임워크에서 달력구현방법.


결론 : HTML5에서 input type에 date를 넣으면 된다면서 API에서 빼버림. 쩝.


HTML5로 구현


<label for="yyyyMmDd">날짜 :</label>
<input type="date" name="yyyyMmDd" id="yyyyMmDd" value="" />


오늘날짜 기본값으로 주기

               $(document).ready(function() {
                   var date = new Date();
   
                   var day = date.getDate();
                   var month = date.getMonth() + 1;
                   var year = date.getFullYear();
   
                   if (month < 10) month = "0" + month;
                   if (day < 10) day = "0" + day;
   
                   var today = year + "-" + month + "-" + day;      
                   $("#yyyyMmDd").attr("value", today);
               });

728x90

http://blog.daum.net/janustop/169

위 블로그에 내용을 하나씩 따라 해 본다.

JSP 페이지에 캐릭터 셋

스프링에 인코딩 캐릭터 셋

Maven 설정 등

그래도 나의 경우에는 안됐다. ㅜㅜ

(대부분의 경우에는 될꺼다 )

아마 Mysql의 인코딩 설정때문일 수도 있다.

결국 

http://jmnote.com/wiki/MySQL_%EC%BA%90%EB%A6%AD%ED%84%B0%EC%85%8B_utf8_%EC%84%A4%EC%A0%95

이곳의 설정대로 mysql의 인코딩 세팅을 했더니 된다 ㅎㅎ


sudo vi /etc/my.cnf 를 수정한 다음

show variables like 'char%'

해보니 모두 utf-8로 바뀌어있다 ㅋㅋㅋ

참고로 blob 형태의 칼럼을 가져올 때

, CAST(( CONTENTS) AS CHAR(10000) CHARACTER SET UTF8) AS CONTENTS

로 해서 가져왔다.

728x90

Springframework에서 MS-SQL에 BLOB로 저장되어 있는 이미지를 불러와 파일로 저장

String sql = "select picture from users where id=?";
Object[] args = { userId };
Blob rsPhoto = (Blob)getJdbcTemplate().queryForObject(sql, args, Blob.class);


try {
            for(int i = 0; i < rsPhoto.length(); i++)
                {
                    String upDir = "c:\\imgs\\";
                    Random Number = new Random();
                    int Dice_number;
                    String strPath;
                   
                    Dice_number = Number.nextInt(999999);
                    strPath = upDir + Dice_number+".jpg";
                   
                    try {
                        logger.debug(rsPhoto == null ? "null " : "not null");
                        FileOutputStream newFile = new FileOutputStream(strPath);
                        newFile.write(rsPhoto.getBytes(1, (int)rsPhoto.length()));                       
                    } catch (IOException e) {
                        e.printStackTrace();
                    } catch (SQLException e) {
                        e.printStackTrace();
                    }
                }
        } catch (SQLException e) {
            e.printStackTrace();
        }

728x90
위와 같은 에러로 xml에 오류가 표시되고
프로젝트가 제대로 빌드가 안될때에는

다음과 같이 한다.

Eclipse의 Preference
preference >  General > Network Connections > Cache

해당  url
http://tuckey.org/res/dtds/urlrewrite3.0.dtd 을 선택후 remove한다.

그런 뒤에 에러가 있는 파일을 다시 저장하면
해당 dtd파일을 다시 받으면서 에러가 사라지게 된다. 
728x90
BLOG main image
"그게 뭐 어쨌다는 거냐?" 늘 누가 나에게 나에대한 말을할 때면 이말을 기억해라. by nobang

카테고리

nobang이야기 (1933)
Life With Gopro (7)
Life With Mini (79)
Diary (971)
너 그거 아니(do you know) (162)
난 그래 (159)
Study (290)
Cloud (26)
Go lang (30)
Front-end (27)
Device (3)
MAC (1)
Spring framework (49)
Java (13)
English (39)
SOA (0)
Idioms (7)
모르는거 (5)
WriteEnglish (10)
Android (56)
속지말자 (10)
Project (34)
Poem (15)
Song (0)
Photo (113)
낙서장 (45)
일정 (0)
C.A.P.i (2)
PodCast (0)
nobang (27)
고한친구들 (4)
recieve (0)
History (0)
android_app (2)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

Total :
Today : Yesterday :