JDBC를 이용한 Java와 mysql 연동하기

DB/Mysql 2012. 4. 5. 14:21 Posted by Request

0. JDBC를 이용한 Java와 mysql 연동하기 전에 수행되어야 할 것

0.1 JDK가 설치되어 있어야 함.

- http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u3-download-1501626.html


0.2. Eclipse가 설치되어 있어야 함.

- http://www.eclipse.org/downloads/


0.3. MySQL이 설치되어 있어야 함.

- http://dev.mysql.com/downloads/installer/



1. MySQL을 위한 JDBC Driver를 다운로드

- http://dev.mysql.com/downloads/connector/j






2. 받은 파일을 압축풀고, mysql-connector-java-5.1.19-bin.jar 파일을

[java]-[jdk1.7.0_02] - [jre] - [lib] - [ext] 폴더에 복사




3. Eclipse에 본인이 만든 프로젝트의 설정을 변경



4. [Java Build Path]에서 해당폴더에 복사한 jar 파일을 추가함








- jar 파일을 추가하면 다음과 같이 추가된 library를 확인할 수 있음




5. 다음 그림과 같이 [test] DB안에 있는 [student] 테이블 항목들을 JDBC를 이용해 출력하고자 함




6. 다음과 같은 코드를 이용해서 테이블에 있는 항목들을 출력하고자 함



7. 실행하면 다음과 같이 MySQL과 연동성공!!

mysql> INSERT INTO test VALUES('테스트', 100);

ERROR 1366 (HY000): Incorrect string value: '\xC5\xD7\xBD\xC6\xAE' for column 'item' at row 1

DB에 테이블 내용을 입력하는데 이러한 오류가...

테이블 내용에 한글을 넣으니 오류가 생기는 것 같은데...

1.증상

mysql 을 utf-8 로 설정하고 설치했는데도 불구하고 데이터를 insert 할 때 한글깨지는 증상이란다.

2. 해결방법

mysql> SET character set euckr;

Query OK, 0 rows affected (0.01 sec)

mysql> INSERT INTO test VALUES('테스트', 100);

Query OK, 1 rows affected (0.06 sec)

utf-8로 세팅을 하면은 기존의 값을 불러올 때는 되는데, 데이터를 입력할때는 깨어진다나 어쨌다나... 한글을 euckr 로 변환해야 안깨진다.

'SET character set euckr'이라고 입력해보자.

 /**
  * SHA-256 으로 암호화된 passwd 를 반환.
  * @param str
  * @return hashed string.
  */
 public static String makeSHApasswd(String str){
  
  int interNb = 1000;
  byte[] byteArray =byteArrFromStr("osungbnk");
  StringBuilder x = new StringBuilder();
  
  try {
   if(!"".equalsIgnoreCase(str)){ //
    byte[] retVal = getHash(interNb, str, byteArray);

    for(int i=0; i<retVal.length; i++){
     x.append(String.format("%x", retVal[i]));
    }
   }
  } catch (NoSuchAlgorithmException e) {
   e.printStackTrace();
  } catch (UnsupportedEncodingException e1) {
   e1.printStackTrace();
  }
  
  return x.toString();
 }

SHA-256 패스워드 생성

Program_Language/Java 2012. 4. 4. 14:18 Posted by Request

/**
     * 입력된 password 로 SHA-256 hashCode 생성.
     * @return byte[]
     */
    public static byte[] getHash(int iterationNb, String password, byte[] salt) throws NoSuchAlgorithmException, UnsupportedEncodingException {

        MessageDigest digest = MessageDigest.getInstance("SHA-256");

        digest.reset();
        digest.update(salt);

        byte[] input = digest.digest(password.getBytes("UTF-8"));

        for (int i = 0; i < iterationNb; i++) {
            digest.reset();
            input = digest.digest(input);
        }

        return input;
    }

[CSS] input style 정리.

Web/Basic 2011. 9. 16. 10:48 Posted by Request
1)ime-mode:disabled  : 영문자만 입력 가능하도록 설정

  • auto : 기존값
  • normal   : 기본값
  • active     : 활성화, IME 기본 설정 언어(한글로 되어 있으면 한글)로 입력 됨.
  • inactive  : 비활성화, 영문이 기본으로 입력됨.
  • disabled : 한/영 전환키를 사용해도 영문으로만 입력됨.

<input type="text" style="ime-mode:disabled">


2)onfocus="this.blur()"
사용으로 키보드 이동시 포커스 불가능

org.apache.tomcat.dbcp.dbcp.SQLNestedException

1차 확인)
web.xml
<display-name>Model2-Board</display-name>
   <resource-ref>
       <description>Connection</description> 
        <res-ref-name>jdbc/OracleDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>container</res-auth>
  </resource-ref>

2차 확인)
1)WebContent > META-INF > //위치 확인
2)<context.xml> 설정값  확인
   <Context>
         <Resource
           name="jdbc/OracleDB"
           auth="Container"
           driverClassName="oracle.jdbc.driver.OracleDriver"
           type="jdbc:oracle:thin:@localhost:1521:orcl"
           username="scott"
           password="tiger"
           maxActive="100"
           maxIdle="30"
           maxWait="-1"
          />
   </Context>

3차 확인)
DAO.java
Connection con;
PreparedStatement ptmt;
ResultSet rs;

Context init = new InitialContext();
DataSource ds= (DataSource)init.lookup("java"comp/env/jdbc/OracleDB");
con = ds.getConnection();

4차 확인)
ojdbc14.jar 손상
오라클에 있던  ojdbc14.jar 손상 되었는지 바꾸고 나서 정상 작동 됨.
C:\java\jre1.6.0_03\lib\ext
C:\java\jdk1.6.0_03\jre\lib\ext
두 곳에 추가 복사 한다.
당연 이클립스 WEB-INF > lib 에도 복사

[oracle] 오라클 scott계정 Lock 해제

DB/Oracle 2011. 9. 7. 17:26 Posted by Request
오라클 scott계정 Lock 해제

User / Password를 system/manager이나 sys/sysdba로 접속후

sql>select username,account_status from dba_users username='SCOTT'

결과가 EXPIRED & LOCKED 일것이다 락을 풀어준다

sql>alter scott account unlock;

sql>alter SCOTT identified by TIGER;

sql>select username,account_status from dba_users username='SCOTT'

결과가 OPEN이 되어 있을것이다 OPEN상태에서 로그인이 가능

 

ORA-01045 error는 user를 생성하고 권한을 부여하지 않아서 그렇다.

로그인을 하기 위해서 세션을 생성해야 하는데 하지 않아서 생기는 error

따라서 다음과 같이 권한을 부여하면 된다,.

grant create session to user_name;


[javascript] confirm & alert 생성 하기.

Web/JavaScript 2011. 9. 7. 17:12 Posted by Request
1. alert

alert("문구 쓰기");

onClick="alert('보여줄 문구 쓰기');"
onClick="javascript:alert('문구 쓰기');"


2.confirm

function cancle(){
    if(confirm("보여줄 문구")){
       //확인 버튼
        window.location.href="이동 할 경로";
    }else{
       window.location.href="이동할 경로";     // 취소 시 페이지 상태를 유지 할려면 경로에 # 만 쓰면된다.
    }
}
실행창 > hdwwiz > 목록에서 직접 선택...(고급) > 네트워크 어댑터 > microsoft > microsoft Loopback adapter

web 기본 개념 정리

카테고리 없음 2011. 9. 6. 12:04 Posted by Request

tomcat
webserver(아파치)내장
-html
-javascript
-css

download -------> PC

Top, bottom 형식으로 IE5이하 버젼에서는 사용자 브라우져에서 다운로드 형식으로 view 되었지만,
IE5이상 버젼에서는 세션별로 동시 다운 로드 되어 view 된다.

 html 태그에서 자바스크립트 실행 시 유의점으로 html 태그가 끝나지 않을 경우 자바스크립트가 실행이 되지 않을 수가 있다.
그러므로 자바스크립트에서는 onload라는 이벤트로 실행하여 태그가 완료 된 후 실행 가능 되도록 할수 있다.