request.getAttributeAddr 을 이용하여

ip주소를 얻어오는데 주소값을 IPv6 형태로 반환을 할 때 (0:0:0:0:0:0:0:1 ->이런식으로)

JVM에 환경변수를 한 줄 추가해주면 된다.


이클립스 servers에서 > Run > Run Configuration > Arguiments > -Djava.net.preferIPv4Stack=true

0:0:0:0:0:0:0:1 -> 127.0.0.1



'프로그래밍 > java' 카테고리의 다른 글

문자열에서 html 태그 제거 정규표현식  (0) 2011.09.22
자바 현재날짜  (0) 2011.08.11
\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
by antilla 2012. 9. 11. 15:57

에디터에서 입력한 글을 substring으로 잘라서 게시판 리스트에 뿌려주는데
에디터에서 자동으로 입력된 html 태그가 예를 들어 <br/> 같은 것들이 그대로 보여진다면..

 public static String stripTags(String tags) {
        String retVal = StringUtil.evl(tags, null);
       
        if (retVal == null) {
            return "";
        }
       
        retVal = retVal.replaceAll("<(/)?([a-zA-Z0-9]*)(
\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "");
        retVal = retVal.replaceAll("\r|\n|&nbsp;|&amp;|#9702;", "");
       
        return delHtmlTag(retVal);
    }


public static String stripTags2(String tags) {
        String retVal = StringUtil.evl(tags, null);
       
        if (retVal == null) {
            return "";
        }
       
        retVal = retVal.replaceAll("<(/)?([a-zA-Z0-9]*)(
\\s[a-zA-Z0-9]*=[^>]*)?(\\s)*(/)?>", "");
        retVal = retVal.replaceAll("\r|&nbsp;|&amp;|#9702;", "");
       
        return delHtmlTag(retVal);
    }
   
    private static String delHtmlTag(String param){
        Pattern p = Pattern.compile("
\\<(\\/?)(\\w+)*([^<>]*)>");
        Matcher m = p.matcher(param);
        param = m.replaceAll("").trim();
        return param;
    }


html 태그가 포함된 문자열을 정규 표현식을 이용아혀 제거 후 반환해준다.
html 태그와 줄바꿈 스페이스 문자를 제거한 나머지 문자열 반환







'프로그래밍 > java' 카테고리의 다른 글

request.getAttributeAddr(); 0:0:0:0:0:0:0:1  (0) 2012.09.11
자바 현재날짜  (0) 2011.08.11
\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
by antilla 2011. 9. 22. 11:15

Date date = new Date();
SimpleDateFormat tdate = new SimpleDateFormat("yyyy-MM");
System.out.println(tdate.format(date));

자주 쓰지는 않더라도..
이제 이런건 좀 외워두자
할때마다 검색질이니 원..



by antilla 2011. 8. 11. 15:44


등록한 문제를 스크립트로 호출 시 textarea 안에 있는 \n 이랑 <br> 땜에 스크립트 에러

function selectItem(in_no, vc_question, vc_sentence, vc_example1, vc_example2, vc_example3, vc_example4, in_answer, vc_type, vc_img_logical, vc_img_physical) {
        $('input[name=in_no]').val(in_no);
        $('textarea[name=vc_question]').val(vc_question.replace('<br>', '\n'));
      $('textarea[name=vc_sentence]').val(vc_sentence.replace(/<br>/gi, '\n'));

        $('input[name=vc_example1]').val(vc_example1);
        $('input[name=vc_example2]').val(vc_example2);
        $('input[name=vc_example3]').val(vc_example3);
        $('input[name=vc_example4]').val(vc_example4);
       
        $('input[name=original_img_logical]').val(vc_img_logical);
        $('input[name=original_img_physical]').val(vc_img_physical);
        $('select[name=in_answer]').val(in_answer);
        $('select[name=vc_type]').val(vc_type);
        $('input[name=vc_img_logical]').val(vc_img_logical);
        $('input[name=vc_img_physical]').val(vc_img_physical);
  $('#btnWrite').hide();
  $('#btnDelete').show();
  $('#btnEdit').show();
  $('#btnCancel').show();

  if( vc_img_physical != "" && vc_img_physical != 'null'){

   var imgHtml = "";
   
   imgHtml += "<img src=\"/upload_file/vc/" + vc_img_physical + "\" width='100px' height='100px'>";
   imgHtml += "<input type='hidden' name='vc_img_logical' id='vc_img_logical' value='" + vc_img_logical + "'>";
   imgHtml += "<input type='hidden' name='vc_img_physical' id='vc_img_physical' value='" + vc_img_physical + "'>";
   imgHtml += "<input type='button' value='삭제' onclick='javascript:imgDel();'/>";
   
   document.getElementById("imgArea").innerHTML = imgHtml;
   
  } else {

   var imgHtml = "";
   
   imgHtml += "<input type='hidden' name='vc_img_logical' id='vc_img_logical'>";
   imgHtml += "<input type='hidden' name='vc_img_physical' id='vc_img_physical'>";
   imgHtml += "<input type='button' value='지문 이미지 등록' onclick='javascript:pop();'/>";
   
   document.getElementById("imgArea").innerHTML = imgHtml;
  }
 }



replace로 처리를 해주었더니 등록한 문제는 불러오나
리퀘스트로 불러오는 페이징처리부분에서 또 다시 스크립트 에러
그래서 jsp가 아닌 java에서 replace 처리


data.put("VC_QUESTION", StringUtil.setBR(StringUtil.evl( rs.getString("VC_QUESTION"), "" )) );

info.put("vc_question" , StringUtil.replace( StringUtil.replace( rs.getString("vc_question"),"\r\n", "<br>") ,"\"", "〃"));
info.put("vc_sentence" , StringUtil.replace( StringUtil.replace( rs.getString("vc_sentence"),"\r\n", "<br>") ,"\"", "〃"));

처리해주다 보니 " 쌍따옴표도 스크립트로 인식을 함
""" , "〃" 이런식으로 했으나 바꾸려는 문자열이"(쌍따옴표) 이다보니
문자열을 감싸는 " 인줄 알고 ); 가 닫히지 않아 컴파일 에러
그리하여 " 앞에 역슬래시 추가  ----> "\"", "〃"



*팁 : 정규식 \gi

g : 발생할 모든 pattern에 대한 전역 검색
i : 대/소문자 구분 안함
m : 여러줄 검색



'프로그래밍 > java' 카테고리의 다른 글

문자열에서 html 태그 제거 정규표현식  (0) 2011.09.22
자바 현재날짜  (0) 2011.08.11
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
Vector 클래스  (0) 2010.02.08
by antilla 2011. 5. 25. 10:10

먼저 jad 파일과 jadclipse 파일이 있어야 한다.

1.jad.exe 설정
jad 파일이 있는 곳에 디렉토리 환경변수 path에 등록하면 어느 곳이나 실행 가능하지만,
자바 설치시에 JAVA_HOME을 설정해 주었다면 JAVA_HOME.bin 디렉토리에 복사하는 것이 기본적이다.( 예: jdk1.5 -> bin )

2.jadclipse.jar 설정
jadclipse 파일은 압축을 풀지 않은 채로(풀어도 무방)이클립스의 plugins 디렉토리에 넣어준다.

마지막으로 이클립스에서의 설정은
window -> preferances -> General -> Editors -> File Associations 에서 *.class 를 선택한 다음
디폴트로 JadClipse Class File Viewer을 선택하면 된다.

jad 설정 후 디컴파일 한글깨짐 현상이 나타날 시에는
Java -> JadClipse -> Misc -> Convert unicode strings into ANSI strings 선택

*디컴파일이란?
먼저 컴파일은 프로그래머가 만든 프로그래밍언어를 컴퓨터가 이해하는 기계어로 바꾸어주는 과정이라면,
디컴파일은 이와 반대로 기계어를 c언어 혹은 기타 프로그래밍언로 바꾸어주는 역과정
영문으로 이루어진 API 보기가 벅차다고 느껴질땐 디컴파일 된 소스를 보면 개발자 입장에선 좀 더 이해가 빠를 수도 있다.





'프로그래밍 > java' 카테고리의 다른 글

자바 현재날짜  (0) 2011.08.11
\n 및 \r , <br>  (0) 2011.05.25
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
Vector 클래스  (0) 2010.02.08
이클립스 환경설정  (0) 2010.02.08
by antilla 2010. 6. 8. 16:54

메소드 기능이 같더라도 전달 인자의 개수가 다르다면 전달 인수의 개수가 다른 메소드를
여러 개 정의해야 한다. 하지만 JDK 5.0부터 제공되는 Varargs를 이용하면
호출은 다양하게 하더라도 메소드는 한 개만 정의해 두면 된다.

public calss ch07Ex07{
 static void prn(int ... num){         //메소드 prn을 varargs를 사용해서 정의해 두었다.
   for(int i=0; i<num.length; i++)
      System.out.print(num[i] + "\t");
  System.out.println();
}

public static void main(String[] args){
prn(10,20,30);            // 자료형만 int로 준다면 개수에 상관없이 호출 할 수 있다.
prn(40,50);
prn(60);
  }
}

-java6 프로그래밍 펌-

음..쉽게 생각하자면 매개변수의 갯수를 다르게 주는 메소드들을 "..."(varargs)를 이용해서 코드의 수,번거로움의 해결하는 듯.

'프로그래밍 > java' 카테고리의 다른 글

\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
Vector 클래스  (0) 2010.02.08
이클립스 환경설정  (0) 2010.02.08
jdbc 관련 메소드  (0) 2010.02.08
by antilla 2010. 5. 22. 16:44

 

Vector 클래스는   arrayList와  유사하지만   원소가 가득차게 되면 자동적으로 저장 영역을 늘려준다.  가변길이의 배열

메소드도 arrayList와 유사

firstElement()    - >  첫번 재 요소 반환     lastElement   ->  마지막 요소 반환

Enumeration 인터페이스

hasMoreElements 와   nextElement를  메소드를 갖고 있다.  

전자는 요소가 있으면 true를 반환하고      후자는   요소를 얻어낸다.

Enumeration 를 사용해서 list 인터페이스로 구현한 클래스안에서 저장된 객체를 쉽게 꺼낼 수 있다.

Enumeration element = vec.elements();//벡터 요소들에 대한 Enumeration 객체를 반환
     while( element.hasMoreElements())           //벡터에 요소가 있으면
System.out.println( element.nextElement() );  //요소를 얻어낸다.



'프로그래밍 > java' 카테고리의 다른 글

\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
이클립스 환경설정  (0) 2010.02.08
jdbc 관련 메소드  (0) 2010.02.08
by antilla 2010. 2. 8. 22:03
Eclipse setting
   - Eclipse 2.X setting
     . Font       : Workbench --> Fonts --> Text Font Change
     . Line Number: Java --> Editor --> Show Line Numbers Check
     . Tab        : Java --> Editor - Typing --> Insert space for tabs Check

   - Eclipse 3.X setting
     . Font       : Preference --> General --> Apperance --> Colors and Fonts -->
                    Basic --> Text Font에서 수정
     . Line Number: Preference --> General --> Editors --> Text Editors -->
                    "Insert spaces for Tabs, Show Line Number" Check
     . TAB        : Preference --> Java --> Code Style --> Formatter -->
                    New...Button click --> "cbd16" 입력 후 확인 --> Tab policy를
                    "Spaces only"선택하고 확인 버튼을 클릭합니다.

'프로그래밍 > java' 카테고리의 다른 글

\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
Vector 클래스  (0) 2010.02.08
jdbc 관련 메소드  (0) 2010.02.08
by antilla 2010. 2. 8. 16:10


Class.forName()
  : 드라이버 로딩시(자동 객체 생성되고 DriverManager에 등록됨)

ex) Class.forName("oracle.jdbc.driver.OracleDriver");

 

Connection 객체 생성 getConnection()메소드 사용

ex) Connection con = DriverManager.getConection(url, user, passwd);

 

Query 수행관련 메소드

executeQuery() : 레코드셋 반환(select 문에서 사용)

executeUpdate() : 성공한 row수 반환(insert, update, delete문에서 사용)

 

ResultSet : executeQuery메소드는 결과로 ResultSet을 반환하며, getXxx()를 이용해서 데이터를 추출함

 

PreparedStatement 객체

동일한 질의문을 특정값만 바꾸어서 여러번 실행해야 할 때, 많은 데이터 처리시 Statement 객체에 비해 속도 빠름

ex) ....

     PeparedStatement pstmt = null;

     pstmt = con.preparedStatement(sql);

     pstmt.setString(1, name);               //데이터 타입이 문자

     pstmt.setInt(2, num);                      //데이터 타입이 숫자

     .....

'프로그래밍 > java' 카테고리의 다른 글

\n 및 \r , <br>  (0) 2011.05.25
이클립스 jad 설정  (0) 2010.06.08
varargs(자바에서 가변인자 사용하기)  (0) 2010.05.22
Vector 클래스  (0) 2010.02.08
이클립스 환경설정  (0) 2010.02.08
by antilla 2010. 2. 8. 16:09
| 1 |