// 파일명 지정하고 할때

$("#btnExcel").on("click", function () {
        var a = document.createElement('a');
        var data_type = 'data:application/vnd.ms-excel';
        var table_html = encodeURIComponent($("#tableName").html());
        a.href = data_type + ', ' + table_html;
        a.download = '파일명.xls';
        
        a.click();
        e.preventDefault();
});



출처 : http://toyuq.tistory.com/37

'JAVA/JSP' 카테고리의 다른 글

[jQuery] table 내용 엑셀다운로드  (0) 2018.04.17
DB 별 JDBC Driver  (0) 2014.04.04
DBManager.java  (0) 2011.11.10
javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31

 출처 : http://tibang.tistory.com/entry/DB%EB%B3%84-JDBC-%EB%93%9C%EB%9D%BC%EC%9D%B4%EB%B2%84


1. Oracle

   Ddriver [oracle.jdbc.driver.OracleDriver]

   URL     [jdbc:oracle:thin:@localhost:1521:DBNAME]

 

2. Sybase

   Ddriver [com.sybase.jdbc2.jdbc.SybDriver]

   URL     [jdbc:sybase:Tds:localhost:5001/DBNAME]

   * JDBC드라이버 : jTDS2.jar

 

3. MS-SQL

   Driver [com.microsoft.sqlserver.jdbc.SQLServerDriver]

   URL   [jdbc:sqlserver://localhost:1433;DatabaseName=DBNAME]

   * JDBC드라이버 : sqljdbc.jar 혹은 sqljdbc4.jar (MS-SQL 2008까지 지원)

 

   Driver [com.microsoft.jdbc.sqlserver.SQLServerDriver]

   URL   [jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=DBNAME]

   * JDBC드라이버 : msbase.jar, mssqlserver.jar, msutil.jar

 

   Driver [core.log.jdbc.driver.Mssql2005Driver]

   URL   [jdbc:sqlserver://localhost:1433;database=DBNAME]

   * JDBC드라이버 : log4sql.jar

 

   Driver [net.sourceforge.jtds.jdbc.Driver]

   Driver [net.sourceforge.jtds.jdbcx.JtdsDataSource]

   URL   [jdbc:jtds:sqlserver://localhost:1433/DBNAME;tds=8.0;lastupdatecount=true]

   * JDBC드라이버 : jtds-1.2.jar

 

4. DB2

   Driver [COM.ibm.db2.jdbc.net.DB2Driver]  // Type 3 (v9.x 이상부터 지원안함)

   Driver [com.ibm.db2.jcc.DB2Driver]  // Type 4

   URL   [jdbc:db2://localhost:50000/DBNAME]

   * JDBC드라이버 : db2jcc.jar, db2jcc_javax.jar, db2jcc_license_cu.jar

 

5. UniSQL

   Driver [unisql.jdbc.driver.UniSQLDriver]

   URL   [jdbc:unisql:localhost:43300:DBNAME:::]

 

6. MySQL

   Driver [com.mysql.jdbc.Driver]

   Driver [org.gjt.mm.mysql.Driver]

   URL   [jdbc:mysql://localhost:3306/DBNAME]

   * JDBC드라이버 : mysql-connector-java-5.1.6-bin.jar 

6-1. MariaDB

Driver [org.mariadb.jdbc.Driver]

URL [jdbc:mariadb://localhost:3306/DBNAME]

* JDBC드라이버 : mariadb-java-client-1.1.3.jar

* MariaDB와 MySQL은 같은 핏줄이기 때문에 6번을 사용해도 무관

 

7. Altibase

   Driver [Altibase.jdbc.driver.AltibaseDriver]

   URL   [jdbc:Altibase://localhost:20300/DBNAME]

   * JDBC 드라이버 : Altibase.jar

 

8. hsqldb

   Driver [org.hsqldb.jdbcDriver]

   URL   [jdbc:hsqldb:hsql://localhost:9001/DBNAME]

'JAVA/JSP' 카테고리의 다른 글

[jQuery] table 내용 엑셀다운로드  (0) 2018.04.17
DB 별 JDBC Driver  (0) 2014.04.04
DBManager.java  (0) 2011.11.10
javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
출처: http://www.itroad.org/?mid=p_java&document_srl=22455

DBManager.java
 

더보기


db.properties

더보기

 

출처: http://www.itroad.org/?mid=p_java&document_srl=22455

 

'JAVA/JSP' 카테고리의 다른 글

[jQuery] table 내용 엑셀다운로드  (0) 2018.04.17
DB 별 JDBC Driver  (0) 2014.04.04
DBManager.java  (0) 2011.11.10
javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
일단 필요한 것.
javamail.jar   (javamail)
activation.jar (JAF - java activation Framework)

그리고 테스트 해볼수 있는 smtp 서버.

요런것도 괜찮음.


        // SMTP IP
        String smtphost = "xxx.xxx.xxx.xxx";
       
        // 보내는 사람
        String mailFrom = "test@daum.net";
       
        // 받는 사람
        String mailTo = "test@naver.com";
       
       
        // 메일제목
        String subject = "메일테스트입니다.";
       
        // 메일본문
        String contents =     "<div>" +
                            "<h2>테스트 메일</h2>" +
                            "<br><br>" +
                            "</div>";
       
        Properties properties = System.getProperties();
        properties.put("mail.smtp.host", smtphost);
       
        // 인증이 필요한 경우
       
//        String user = "";
//        String password = "";
//        properties.put("mail.smtp.auth", "true");
//        Authenticator authenticator = new MyAuthenticator(user, password);
//        Session session = Session.getDefaultInstance(properties, authenticator);
       
        Session session = Session.getDefaultInstance(properties, null);

        MimeMessage message = new MimeMessage(session);
        InternetAddress fromAddress = new InternetAddress(mailFrom, "sender", "UTF-8");
        InternetAddress toAddress = new InternetAddress(mailTo, "receiver", "UTF-8");

        message.setFrom(fromAddress);
        message.addRecipient(MimeMessage.RecipientType.TO, toAddress);
        message.setSubject(subject, "UTF-8");
        message.setContent(contents, "text/html; charset=UTF-8");
       
        Transport.send(message);



할때마다 찾아쓰기 귀찮아;;

'JAVA/JSP' 카테고리의 다른 글

DB 별 JDBC Driver  (0) 2014.04.04
DBManager.java  (0) 2011.11.10
javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
개발 초기에 charset 맞추기.  (0) 2010.11.25

javap -verbose class이름.



....


 SourceFile: "AddTermAction.java"
minor version: 0
major version: 50
Constant pool:


....





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

major minor Java platform version
45 3 1.0
45 3 1.1
46 0 1.2
47 0 1.3
48 0 1.4
49 0 1.5
50 0 1.6

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

'JAVA/JSP' 카테고리의 다른 글

DBManager.java  (0) 2011.11.10
javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
개발 초기에 charset 맞추기.  (0) 2010.11.25
StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
  1. Favicon of http://dasida.tistory.com BlogIcon dsdstudio 2011.04.12 19:35 신고

    누구나 한번쯤은 겪는 컴파일러 버전문제 =_=
    1.4이하 버전은 vm자체를 버전별로 가지고있고 그 컴파일러로 컴파일해야 해당버전 바이너리가 되더라..
    1.6 컴파일러 에서 아무리 옵션으로 아래버전으로 낮춰도 옵션이 안먹더라구~

    • 아~ 젠장 어쩐지..
      그럼 상위버전 컴파일러로 하위버전으로 컴파일 할 수 있는 건 아직 1.6에서 1.5로 컴파일 하는 것 뿐인건가?

      오랜만에 와서 정보도 주고.. ^^; 땡큐!

  2. Favicon of http://dasida.tistory.com BlogIcon dsdstudio 2011.05.03 19:32 신고

    // 별말씀을 ㅎㅎ
    오래된 vm쓰는 고객사를 위해 1.4, 1.5, 1.6 모두 구비해놓는 센스가 필요 =_=/

if(rs !=null) {

}

요딴거 안 먹힐 것이다.

rs.next() 의 결과값인 true 아니면 false 를 이용하여,




if(rs.next()){

do{
결과 있을 때 내용...

}while(rs.next());


}else{

결과 없을 때 내용..

}

'JAVA/JSP' 카테고리의 다른 글

javamail을 이용한 메일보내기.  (0) 2011.07.22
class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
개발 초기에 charset 맞추기.  (0) 2010.11.25
StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
ResultSet -> LIST  (0) 2010.11.03

출처 : http://blog.naver.com/seogi1004?Redirect=Log&logNo=110045319589

정리를 한번 한다 한다 하면서 필요할 때마다 찾아다니다가,
어떤분이 잘 정리를 해주셔서.. 살짝 가져왔습니다. (닉: 문학이?)
출처 표기하고 내용은 변경하지 않았습니다만, 그냥 약간 편집만 했습니다.

1. DB charset 설정

2. Server charset 설정

   예) Tomcat 의 경우 server.xml 파일에 (링크)
        <connector .....   부분에
        useBodyEncodingForURI="true"  
        나
        URIEncoding="UTF-8"
        를 추가한다.

        확인하진 않았지만 위는 문서 인코딩 형태에 따라 URI 형식을 바꾸는 것 같고,
        아래는 URI 인코딩 형식을 무조건 정해주는 것 같다.

    이러면 POST 방식에서의 charset 해결


3.  GET 방식을 위해 jsp 의 경우

    한글 URL이 문제가 될 경우 
     java.net.URLEncoder.encode( "한글파일.html" ,  "UTF-8" );


4. 개발 툴에서 문서 자체의 인코딩 방식 변경.

    editplus : 기본설정 - 파일 >> 기본인코딩 UTF-8
    eclipse : window - preferences - general - workspace - textfile Encoding


5. 작업문서에서의 설정

① 페이지 설정

UTF-8을 쓰고자 하는 경우 *.html, *.htm, *.jsp 파일은 UTF-8 형식으로 저장한다.

EUC-KR, MS949는 ANSI, MS949등의 기본 형식으로 저장하면 된다.

 

모든 HTML, JSP에는 아래와 같은 META태그를 넣을 것을 권장한다.

<META HTTP-EQUIV="contentType" CONTENT="text/html;charset=UTF-8">

<!--EUC-KR인 경우 UTF-8을 EUC-KR로 바꾼다-->

JSP에서는 페이지 상단에 page 지시자를 다음과 같이 넣는다.

<%@ page contentType="text/html;charset=UTF-8" %>

<!--EUC-KR인 경우 UTF-8을 EUC-KR로 바꾼다-->

② POST 방식의 데이터 전송

POST방식으로 전송된 데이터는 UTF-8이든, EUC-KR이든 다음과 같은 라인을 추가하면 해결 된다.

request.setCharacterEncoding("UTF-8");

//EUC-KR인 경우 UTF-8을 EUC-KR로 바꾼다.

③ GET 방식의 데이터 전송

GET 방식으로 전송된 데이터는 URL을 통해 전송되기 때문에 위의 방식으론 쓸 수 없다. URL에서의 데이터를 Latin-1(8859_1)인코딩으로 서버에서 처리하기 때문이다. 이를 톰캣의 버그라고 단정짓는 일부 서적의 말은 잘못된것이다.

 

불러온 데이터를 아래와 같이 처리해 주어야 한다.

request.setCharacterEncoding("UTF-8");

String data = new String(request.getParameter("data").getBytes("8859_1"),"UTF-8");

//Latin-1(8859_1)로 읽어들인 데이터를 다시 UTF-8로 재해석하는 코드

//EUC-KR인 경우  UTF-8을 EUC-KR로 바꾼다.

④ 한글 파일 전송

Latin-1(8859_1)로 세팅된 톰캣 서버에서는 URL을 무조건 영어로 처리하므로 한글 파일은 절대로 읽어들일 수 없다. 파일을 영어로 바꾸어 저장하거나, 한글 파일을 영어로 바꾸는 처리를 해주어야 한다.

⑤ DB URL의 인코딩

jdbc:mysql://localhost:3306/DB명?useUnicode=true&characterEncoding=utf8              [ Java 또는 JSP ]

jdbc:mysql://localhost:3306/DB명?useUnicode=true&amp;characterEncoding=utf8       [ XML ]

 

XML 문서에서는 기호 ('&')를 표시할 때 &amp;를 사용하기 때문에 일반 코드와 다르다.




출처 : http://blog.naver.com/seogi1004?Redirect=Log&logNo=110045319589

출처의 닉:  문학이 님 감사^^

'JAVA/JSP' 카테고리의 다른 글

class 파일의 컴파일 버전 확인하기.  (3) 2011.04.08
ResultSet 의 Null 체크.  (0) 2011.03.31
개발 초기에 charset 맞추기.  (0) 2010.11.25
StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
ResultSet -> LIST  (0) 2010.11.03
java charset 관련 변환 유틸.  (0) 2010.10.21


StringBuffer변수.setLength(0);

[출처] [초기화] StringBuffer 객체의 초기화 방법|작성자 담덕


strBuffer.delete(0, strBuffer.capacity());

[출처] StringBuffer 초기화 setLength(0)|작성자 황금쌀




아님 그냥 new 해버리던가...;;

'JAVA/JSP' 카테고리의 다른 글

ResultSet 의 Null 체크.  (0) 2011.03.31
개발 초기에 charset 맞추기.  (0) 2010.11.25
StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
ResultSet -> LIST  (0) 2010.11.03
java charset 관련 변환 유틸.  (0) 2010.10.21
파일 업로드 multipart/form-data  (0) 2010.10.21
    /**

    * ResultSet을 List로 반환

    * @param    rs        ResultSet

    * @return    List

    */

    public List getRsToList(ResultSet rs){

        List lst = null;



        try{

            int rows = rs.getRow();

            if(rows > -1){

                ResultSetMetaData mrs = rs.getMetaData();

               

                int Col_TYPE = 0;

                String Col_NAME = "";

                String inputVar = null;



                HashMap rowHash = new HashMap();

                lst = new ArrayList();



                // 컬럼수

                int colcnt = mrs.getColumnCount();



                while(rs.next()){

                    rowHash = new HashMap();

                    for(int i=1; i<=colcnt; i++){

                        Col_NAME = mrs.getColumnName(i).toUpperCase();

                        inputVar = rs.getString(i);



                        rowHash.put(Col_NAME, inputVar);

                    }



                    lst.add(rowHash);

                }

            }

        } catch(SQLException sqle){

            sqle.printStackTrace();

        } catch(Exception e){

            e.printStackTrace();

        }



        return lst;

    }

'JAVA/JSP' 카테고리의 다른 글

개발 초기에 charset 맞추기.  (0) 2010.11.25
StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
ResultSet -> LIST  (0) 2010.11.03
java charset 관련 변환 유틸.  (0) 2010.10.21
파일 업로드 multipart/form-data  (0) 2010.10.21
JAVA 가변인수  (0) 2010.10.15
    /**

     * Method a2k. 8859_1 에서 MS949 로 문자세트변환

     * @param str 바꾸려는 문자열

     * @return String

     */

    public static String a2k(String str) {

        try {

            return new String(str.getBytes("8859_1"),"MS949");

        } catch (Exception e) {

            return "";

        }

    }

   

    /**

     * Method a2k. 8859_1 에서 MS949 로 문자세트변환

     * @param str 바꾸려는 문자열

     * @return String

     */

    public static String a2u(String str) {

        try {

            return new String(str.getBytes("iso-8859-1"),"KSC5601");

        } catch (Exception e) {

            e.printStackTrace(System.out);

            return "";

        }

    }

   

    /**

     * Method a2k. 8859_1 에서 MS949 로 문자세트변환

     * @param str 바꾸려는 문자열

     * @return String

     */

    public static String u2a(String str) {

        try {

            return new String(str.getBytes("KSC5601"),"iso-8859-1");

        } catch (Exception e) {

            e.printStackTrace(System.out);

            return "";

        }

    }



    /**

     * Method k2a. MS949 에서 8859_1 로 문자세트변환

     * @param str 바꾸려는 문자열

     * @return String

     */

    public static String k2a(String str) {

        try {

            return new String(str.getBytes("MS949"),"8859_1");

        } catch (Exception e) {

            return "";

        }

    }

'JAVA/JSP' 카테고리의 다른 글

StringBuffer 초기화하여 재사용하기.  (0) 2010.11.22
ResultSet -> LIST  (0) 2010.11.03
java charset 관련 변환 유틸.  (0) 2010.10.21
파일 업로드 multipart/form-data  (0) 2010.10.21
JAVA 가변인수  (0) 2010.10.15
ERROR 리스트  (0) 2010.04.06
출처 : http://blog.naver.com/callzone?Redirect=Log&logNo=140055259392

파일 업로드를 위한 기본적인 폼 형태

 

웹 브라우저를 통해서 파일은 전송하기 위해서 폼 구성에 대해서 알아보자. form  태그의 속성돌중 input 태그들이 있는데

이들중 <input type="file"> 태그는 파일을 선택할 수 있는 창을 만든다.

또한 이렇게 선택된 파일을 전송하기 위해서 form 태그의 속성들 중 method외 enctype을 다음과 같이 지정한다.

 

<form name="formName" method="post" enctype="multipart/form-data">

 

<input type="file" name="selectfile">

 

Warn

 

<form method="post" enctype="multipart/form-data">으로 지정한 폼 요소에서 파일 업로드를 위한

파일 요소를 지정해야한다.

<input type="file" name="filetype"> input 태그의 속성으로 type은 file로 지정하고,

 이 태그에 대한 이름을 명시 해야한다.

 

<form method="post">의 형태로 전송한 폼에 담겨진 파라미터들은 request 객체를 통해서 이름에 해당되는 값을 얻어낼 수 있다.

하지만 이렇게 <form name="formName" method="post" enctype="multipart/form-data">에서 enctype="multipart/form-data"로

지정한 폼을 전송했을때, request 객체로 파라미터의 값을 얻어 낼수 없다.

 

그래서 enctype="multipart/form-data" 로 전송한 폼에 담겨진 파라미터들에 대한 이름과 값을 얻어내기 위해,그리고

<input type="file">로 지정된 파일을 서버상의 한 폴더에 업로드하기 위해서 특별한 컴포넌트가 필요하다.

http://servlets.com 에서 제공하는 cos.jar 파일에는 필요한 컴포넌트가 있다.

이 컴포넌트를 설치하자.

 

Tip

파일업로드 및, 폼 데이터를 파싱하는 컴포넌트로 cos.jar 이에외도 많은 컴포넌트가 있다.

 

cos.jar를 myapp/WEB-INF/lib폴더에 복사하는 이유

 

JSP에서 cos.jar의 패키지를 이용하게 되는데 , cos.jar는 톰켓에 기본적으로 내장되어 있지 않은 외부의 패키지이다.

외부의 패캐니는 WEB-INF/lib 폴더에 위치해야 하는데, 이때 WEB-INF는 각각의 웹 어플리케이션에 이 폴더가

존재한다. 본이이 작성하는 모든 예제는 myapp로 이름 지어진 웹 어플리케이션에 위치하는데, 이 어플리케이션이 실행될

때 사용되는 패키지가 해당 어플리케이션 /WEB-INF/lib 폴더에 있는 패키지 이다.

 

Constructor Summary

 

MultipartRequest(javax.servlet.http.HttpServletReqeust request,

                         java.lang.String.saveDirectory,

                         int maxPostSize,

                         java.lang.String encoding,

                         FileRenamePolicy policy)

 

Method Summary

 

java.lang.String                              getContentType(java.lang.String name)

                                                    업로드된 파일의 컨텐트 타입을 반환, 업로드된 파일이 없으면 null을 반환

 

java.io.File                                    getFile(java.lang.String name)

                                                    서버 상에 업로드된 파일의 파일 객체를 반환, 업로드된 파일이 없다면 null을 반환

 

java.util.Enumeration                      getFileNames()

                                                   폼 요소 중 input 태그 속성이 file로 된 파라미터의 이름들을 반환, upload 된

                                                   파일이 없으면 비어있는 Enumeration을 반환

 

java.lang.String                             getFilesystemName(java.lang.String name)

                                                   사용자가 지정해서 서버 상에 실제로 업로드된 파일명을 반환

 

java.lang.String                             getOrignalFileName(java.lang.String name)

                                                   사용자가 지정해서 서버상에 업로드된 파일명을 반환, 이때의 파일명은 파일 중복을

                                                   고려한 파일명 변경 전의 이름을 말한다.

 

java.lang.String                             getParameter(java.lang.String name)

                                                   스트링으로 주어진 이름에 대한 값을 반환. 값 없이 파라미터가 전송되었거나 해당되는

                                                   이름의 파라미터가 전송이 안 되었을 경우 null 를 반환

 

java.util.Enumeration                      getParameterNames()

                                                   모든 파라미터 이름을 Enumeration 으로 반환 한다.

 

java.lang.String[]                          getParameterValues(java.lang.String name)

                                                   주어진 이름에 대한 값을 스트링 배열로 반환, 파라미터가 전송되지 않았을 때는 null 반환

 

 첫 번째로 해야 할 부분은 폼 enctype 속성을 multipart/form-data로 지정한 폼에 담겨진 파라미터를 읽어오기 위해서

MultipartRequest 의 객체를 생성해야 한다. 이 객체를 통해서 파일 업로드를 구현 할 수 있다.

MultipartRequest 객체를 생성한후 객체를 통해서 MultiPartRequest 클래스에서 제공하는 메소드들을 사용하면 쉽게 파일 업로드와 파라미터를 읽어 올 수 있다.

MultipartRequest 객체를 생성한 뒤, 메소드 사용의 예를 들어 파일 업로드와 파라미터에 대한 처리를 위한 절차를 설명 하겠다.

 

MultipartRequest의 생성자

 

MultipartRequest의 생성자를 종류가 많다.

cos.jar 에 있는 MultipartRequest 클래스의 생성자 중 다음의 생성자는 한글 인코딩,업로드되는 파일이 기존에 파일과 중복될때

의 단점을 해결한 생성자이다.

 

그래서 이 생성자를 사용하여 MultipartRequest 의 객체를 생성한다.

 

MultipartRequest multi = new MultiPartRequest(request,

                                                                   folderDirectory,

                                                                   1024*10,

                                                                   "euc-kr",

                                                                   new DefaultFileRenamePolicy());

 

첫 번째 인자는 Request 객체이고,

두 번재 인자는 업로드된 파일이 저장될 파일폴더 경로 이다.

세 번째 인자를 업로드할 파일의 최대 크기이다.( 1024=1024Bytes, 즉 1KB, 1024*10 = 10KB )

네 번째는 인코딩 타입

다섯 번째 인자는 업로드 될 파일명이 기존에 업로드된 파일명과 같은 경우 덮어쓰기를 방지하기 위해 설정하는 부분이다.

 

이 객체가 생성되면서 폼에서 지정한 파일이 서버상의 폴더에 저장된다.

 

Warn!!!

 

파일 업로드를 위한 파일 선택을 위해서 <input type="file">을 사용합니다.

그리고 이 <input type="file">라는 폼 요소를 포함하는 폼은 파일 전송을 위해서

<form method="post" enctype="multipart/form-data"> 로 속성을 지정해야 한다.

 

 

 

getParameterNames() 메소드

 

Enumeration params = multi.getParameterNames();

 

multi 라는 이름을 가지는 객체를 통해서 MultipartRequest  클래스에 있는 메소드를 사용 할수 있는데,

getParameterNames() 메소드는 폼에서 전송한 파라미터들의 이름을 Enumeration 타입으로 반환한다.

폼에 있는 input 태그중 file 속성이 아닌 모든 파라미터들의 이름을 반환하는 메소드 이다.

 

 

getParameter() 메소드

 

String paramValue = multi.getParameter(java.lang.String name);

 

getParameter 메소드는 request 객체에서 사용되는 getParameter 메소드처럼 파라미터의 이름을 인자로 받아서 그 파라미터

의 값을 반환하는 메소드이다.

이 메소드에 전달될 인자는 getParameterNames() 메소드를 통해서 얻어온 파라미터 이름을 인자로 주면 그 파라미터에 담긴 값을반환한다.

 

getFileNames() 메소드

 

Enumeration files = multi.getFileNames();

 

getFileNmaes() 메소드는 폼 요소 중 file 속성으로 지정된 input 태그의 이름, 즉 file 속성을 가진 파라미터의 이름을 Enumeration 타입

으로 반환한다.

예를 들면 <input type="file" name="uploadfile"> 태그가 폼 요소에 있었다면 getFileNmaes() 메소드는 uploadfile

이란 파라미터의 이름을 담긴 Enumeration을 반환한다.

 

 

getFilesystemName() 메소드

 

String filename = multi.getFilesystemNmae(name);

 

file 속성으로 지정된 input 태그에 의해 서버 상에 실제로 업로드된 파일 이름을 스트링 타입으로 반환한다.

이 메소드가 반환하는 파일명의 file 속성을 가진 input 태그에서 사용자가 지정한 파일 이름이 아니고

사용자가 선택한 파일이 실제 서버 상의 폴더에 저장 되었을 때의 파일명을 반환한다.

아래의 getOriginalFileNmae() 메소드에서 비교 설명 하겠다.

 

getOriginalFileName() 메소드

 

String original = multi.getOriginalFileName(name);

 

getOriginalFileName() 메소드는 사용자가 직접 지정한 파일명을 반환한다.

MultipartRequest 의 생성자 중 중복된 파일을 덮어쓰는 것을 방지하기 위해 사용되는 FileRenamePolicy 인터페이스를

구현한 DefaultFileRenamePolicy 에 의해서 파일명이 변경되기 전의 파일명을 반환한다.

 

getFileSystemName() 메소드는 기존에 업로드된 파일명들 중에 새로 업로드할 파일명이 중복될 경우 파일명 뒤에

filename1.***, filename2.*** 식으로 변경된 이름을 반환한다.

중복되는 경우가 없다면 원래의 파일명을 반환한다.

 

getOriginalFileName() 은 사용자가 지정해서 업로드되는 파일명을 반환하고,

getFileSystemName()  메소드는 파일명이 중복되는 경우 변경된 파일명을 반환한다.

 

 

getContentType() 메소드

 

String type = multi.getContentType(name);

 

getContentType() 메소드는 업로드된 파일의 컨텐트 타입을 반환한다.

 

 

getFile() 메소드

 

File f = multi.getFile(name);

 

getFile() 메소드는 서버 상에 업로드된 파일에 대한 파일 객체를 반환한다.

 

Tip

File 클래스는 java.io 패키지에 있다.

File 클래스를 사용하기 위해 java.io 패키지를 임포트해야 한다.

 


'JAVA/JSP' 카테고리의 다른 글

ResultSet -> LIST  (0) 2010.11.03
java charset 관련 변환 유틸.  (0) 2010.10.21
파일 업로드 multipart/form-data  (0) 2010.10.21
JAVA 가변인수  (0) 2010.10.15
ERROR 리스트  (0) 2010.04.06
StringTokenizer 와 split 의 차이.  (1) 2009.11.12
예제 :

public static void foo(int ... nums)
{
    for(int num : nums)
    {
        System.out.print(num);
    }
    System.out.println();
    System.out.printf("The last number of list is %d\n", nums[nums.length - 1]);
}


메소드가 받을 인수를 쓸 때

변수타입과 변수이름 사이에 ... (점3개) 넣으면 된다;

그리고 그 변수는 배열형식으로 취급해서 사용하면 된다.

오우.
굿




'JAVA/JSP' 카테고리의 다른 글

java charset 관련 변환 유틸.  (0) 2010.10.21
파일 업로드 multipart/form-data  (0) 2010.10.21
JAVA 가변인수  (0) 2010.10.15
ERROR 리스트  (0) 2010.04.06
StringTokenizer 와 split 의 차이.  (1) 2009.11.12
한글 깨짐 현상  (0) 2009.09.09
100 : Continue
101 : Switching protocols
200 : OK, 에러없이 전송 성공
201 : Created, POST 명령 실행 및 성공
202 : Accepted, 서버가 클라이언트 명령을 받음
203 : Non-authoritative information, 서버가 클라이언트 요구 중 일부 만 전송
204 : No content, 클라언트 요구을 처리했으나 전송할 데이터가 없음
205 : Reset content
206 : Partial content
300 : Multiple choices, 최근에 옮겨진 데이터를 요청
301 : Moved permanently, 요구한 데이터를 변경된 임시 URL에서 찾았음
302 : Moved temporarily, 요구한 데이터가 변경된 URL에 있음을 명시
303 : See other, 요구한 데이터를 변경하지 않았기 때문에 문제가 있음
304 : Not modified
305 : Use proxy
400 : Bad request, 클라이언트의 잘못된 요청으로 처리할 수 없음
401 : Unauthorized, 클라이언트의 인증 실패
402 : Payment required, 예약됨
403 : Forbidden, 접근이 거부된 문서를 요청함
404 : Not found, 문서를 찾을 수 없음
405 : Method not allowed, 리소스를 허용안함
406 : Not acceptable, 허용할 수 없음
407 : Proxy authentication required, 프록시 인증 필요
408 : Request timeout, 요청시간이 지남
409 : Conflict
410 : Gone, 영구적으로 사용할 수 없음
411 : Length required
412 : Precondition failed, 전체조건 실패
413 : Request entity too large,
414 : Request-URI too long, URL이 너무 김
415 : Unsupported media type
500 : Internal server error, 내부서버 오류(잘못된 스크립트 실행시)
501 : Not implemented, 클라이언트에서 서버가 수행할 수 없는 행동을 요구함
502 : Bad gateway, 서버의 과부하 상태
503 : Service unavailable, 외부 서비스가 죽었거나 현재 멈춤 상태
504 : Gateway timeout
505 : HTTP version not supported

'JAVA/JSP' 카테고리의 다른 글

파일 업로드 multipart/form-data  (0) 2010.10.21
JAVA 가변인수  (0) 2010.10.15
ERROR 리스트  (0) 2010.04.06
StringTokenizer 와 split 의 차이.  (1) 2009.11.12
한글 깨짐 현상  (0) 2009.09.09
JSP 의 테이블 - > 엑셀로 만들기.  (0) 2008.06.24
StringTokenizer tokens = new StringTokenizer(str , "/");

str.split("/")


예를 들어 " / " 문자를 기준으로 잘라내어 사용할 때 이 두가지를 쓴다.

차이점이 있다. 몰라서 고생 좀 했는데..

str = "데이터1/데이터2//데이터4" ;

위의 스트링의 "/" 기준으로 잘라내어 사용할 때.

StringTokenizer 는.

데이터1
데이터2
데이터4

이런 결과를 가져오고,

split 은
데이터1
데이터2
NULL
데이터3

이런 결과를 가져온다.


중간에 빈칸이 올 수 있는 경우를 조심하자.

'JAVA/JSP' 카테고리의 다른 글

JAVA 가변인수  (0) 2010.10.15
ERROR 리스트  (0) 2010.04.06
StringTokenizer 와 split 의 차이.  (1) 2009.11.12
한글 깨짐 현상  (0) 2009.09.09
JSP 의 테이블 - > 엑셀로 만들기.  (0) 2008.06.24
DBPooling Connection 예제 Class  (0) 2008.05.20
  1. Favicon of http://secondround.textcube.com/ BlogIcon 갈휘 2010.03.17 10:59 신고

    이런 차이가 있었군요,
    한번 써 봐야겠네요 ~
    좋은 정보를 감사합니다 :)


출처 : http://cafe.naver.com/requirements.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=95



'JAVA/JSP' 카테고리의 다른 글

ERROR 리스트  (0) 2010.04.06
StringTokenizer 와 split 의 차이.  (1) 2009.11.12
한글 깨짐 현상  (0) 2009.09.09
JSP 의 테이블 - > 엑셀로 만들기.  (0) 2008.06.24
DBPooling Connection 예제 Class  (0) 2008.05.20
[Java] Singleton 방식에서 객체가 null값이 될때  (0) 2008.04.02
//    response.setHeader("Content-Disposition", "attachment; filename=appl_list.xls");
//     response.setHeader("Content-Description", "JSP Generated Data");
//    out.clearBuffer();

추가요.

package db;

import java.sql.Connection;
import java.sql.SQLException;
import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;

import java.sql.PreparedStatement;
import java.sql.Statement;
import java.sql.ResultSet;
 
 
public class Conn {

 private static Conn instance = new Conn();
 
 public static Conn getInstance() {
 
  return instance;
 }
 
 private Conn() {
 
 }
 
 public Connection getConnection() throws SQLException {
 
  Context initContext = null;
 
  try {
   initContext = new InitialContext();
   
   // Context envContext = (Context) initContext.lookup("java:comp/env");
   // DataSource ds = (DataSource) envContext.lookup("jdbc/oracleDS");
   
   DataSource ds = (javax.sql.DataSource) initContext.lookup ("oracleDS");
   return ds.getConnection();
   
  } catch(NamingException e) {
   System.out.println("DataSource Err :" + e.toString());
  }
  return null;
 }
 
 public void freeConnection(Connection c, PreparedStatement p, ResultSet r) throws SQLException {
 
  try{
   
   if(r!=null) r.close();
   if(p!=null) p.close();
   if(c!=null) c.close();  
   
  } catch(SQLException e){
   e.printStackTrace();
   
   
  }
 
 }
 
 public void freeConnection(Connection c, Statement s, ResultSet r) throws SQLException {
 
  try{
   
   if(r!=null) r.close();
   if(s!=null) s.close();
   if(c!=null) c.close();  
   
  } catch(SQLException e){
   e.printStackTrace();
   
   
  }
 
 }
 
 public void freeConnection(Connection c, PreparedStatement p) throws SQLException {
 
  try{
   if(p!=null) p.close();
   if(c!=null) c.close();  
   
  } catch(SQLException e){
   e.printStackTrace();
   
   
  }
 
 }
 
 public void freeConnection(Connection c, Statement s) throws SQLException {
 
  try{
   if(s!=null) s.close();
   if(c!=null) c.close();
   
  } catch(SQLException e){
   e.printStackTrace();
   
  }
 
 }
}



public class Book {

 private Book() {
 
 }

 private static Book instance = null;   // (new Book(); 이 아닌 Null을 일 경우 TEST)
 
 public static Book getInstance(){

  if(instance==null){
   instance = new Book();
  }
  // Null일 경우 Book() 객체를 생성해서 Instance 에 대입하고 리턴해준다.
 

  return instance;
 
    }
 
 String[] no = {"0001","0002"};
 String[] name = {"Java","JSP"};
 Boolean[] state = {true,true};
 
}

원문? :http://blog.naver.com/yongirani?Redirect=Log&logNo=10028678712

▩ 빈즈(강낭콩)의 이해
   - jsp페이지상에 나열되는 자바 처리로직은 디자인 코드와 함께 매우 복잡한 코드를 구성합니다.
     이로인해 디자인 변경시 자바코드가 영향을 받아 오류가 자주 발생되며, 코드 수정시 코드를 알아볼 수 없어
     유지보수가 매우 힘이 듭니다.
     이러한 반복되는 자바 코드들을 JAVA파일안에 저장하여 사용하는 형태를 빈즈라고 합니다.

   - 확장자는 *.java 입니다. 컴파일하여 .class형태로 배포합니다.

   - 메모리에 생성된 빈즈(DTO)는 다른 자바 클래스(DAO(Data Access Object), Business Logic)에 의해서 사용됩니다.

   - 빈즈는 dll과 같은 원리를 가지고 있습니다.

   - 빈즈는 sun에서 제시한 작성 규칙이 존재합니다.




▩ DTO(Data Transfer Object: 데이터 전송 객체, Value Object) 빈즈

   - 폼에서 입력된 데이터들은 하나의 DTO 객체로 변환 될 수 있습니다.

   - 하나의 데이터베이스 레코드를 저장하며 레코드와 같은 구조를 가지고 있습니다.

   - 하나의 레코드는 빈즈 클래스 객체 하나로 매핑됩니다.

   - 데이터베이스 컬럼은 멤버 변수로 매핑됩니다.
  

1. 필드선언(멤버 변수, 인스턴스 변수)
   . 하나의 컬럼값을 저장
   . 보안성 및 캡슐화, 데이터 은닉의 목적으로 private으로 선언합니다.
   . private String name;
    
   
    

2. setter
   - 필드에 값을 저장하는 기능을 합니다.
   - HTML 폼의 INPUT태그의 값을 빈에 저장하는 역활을 합니다.
   - 메소드명은 set + input태그의 이름중 첫자를 반드시 대문자로 사용하는 규칙을 적용해 태그명을 지정합니다.
     따라서 HTML에서 input 태그의 이름은 영문 소문자를 사용하며 태그의 이름에 신중을 기해야 합니다.

     예 1)
     <input type="text" name="id" size="15" value='user1'>
     <input type="text" name="addr" size="15" value='user1'>

     public void setId(String id) {
         this.id = id;
     }

     public void setAddr(String addr) {
         this.addr = addr;
     }



3. getter
   - 인스턴스 변수의 값을 가져오는 기능을 합니다.
    
     public String getName(){
         return name;
     }




▩ DAO(Data Access Object) 빈즈
   - DTO 객체를 만들어 편집 및 조작을 합니다.
   - DTO를 데이터베이스 서버에 저장하기도 하고 데이터베이스 서버로 부터 레코드를 SELECT해
     DTO 객체로 변경해 가져오기도 합니다.
   - Insert, delete, update, select등 데이터 처리를 주 목적으로 합니다.



  

▩ Manager Class(관리 클래스)
    - DTO와 DAO사이에서 연결 및 처리 역활을 합니다.

      DreamWeaver          Eclipse             DbEdit
      (*.html, *.jsp)      (*.java)           (*.sql)              
      ----------- ------------------------  -------------     
      JSP <-----> Manager Class <-----> DAO <-----> Oracle
       ↑                                ↑
       │                                │
       └--------------------------------┘   
                       DTO 
             계층간 데이터 전송 객체




▩ 빈즈의 사용 Scope(범위)
   - Page :
     . 기본값, page를 벗어나면 자동으로 소멸합니다.(중요)

   - Request : forward, include에서 사용가능, 약간 사용됨

   - Session :
     . 사용자가 로그인해 있는 동안 계속적으로 살아 있음
     . 메모리 소모가 심함으로 필요한 곳에 적절히 사용해야 함
     . 쇼핑카드 구현등 객체를 계속적으로 유지해야하는 경우에 사용됩니다.
     . 사용자가 브러우저를 닫으면 관련 JSP Session 빈은 소멸함(중요)

   - Application
     . 웹 사이트 전체, 모든 사용자에게 영향을 미치는 빈
     . 메모리 소모가 심함으로 많이 사용하지 않음, 서버가 운영되는 동안 객체가 살아 있음
     . 모든 사용자가 변수와 객체를 공유하게 됨
     . 서버를 재시작해야 변수들이 재설정됨

HashMap<Integer,Order> hcart = new HashMap<Integer,Order>();
  hcart=cartmgr.readCart();
  Iterator<Integer> iter = hcart.keySet().iterator();

while(iter.hasNext()){
    
     int no = iter.next();
     Order order = hcart.get(no);




}
java.net.URLEncoder.encode(str, enc)

was 의 한글 설정 상태도 항상 확인할 것.

- 숫자

char_ASCII >= 48 && char_ASCII <= 57


- 영어

char_ASCII>=65 && char_ASCII<=90
char_ASCII>=97 && char_ASCII<=122

- 한글

char_ASCII >= 12592) || (char_ASCII <= 12687

- 특수기호

char_ASCII>=33 && char_ASCII<=47
char_ASCII>=58 && char_ASCII<=64
char_ASCII>=91 && char_ASCII<=96
char_ASCII>=123 && char_ASCII<=126


아이디나 뭐 그런거 체크할 때 쓸만할 듯;;


출처 : http://blog.naver.com/kismo75/40016813752 

'JAVA/JSP' 카테고리의 다른 글

HashMap 예제  (0) 2008.01.06
한글파라미터 값 넘길때 한글처리  (0) 2008.01.01
한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
ID Check 과정
ⓐ member.jsp, 회원 가입 페이지, 중복 아이디 버튼 클릭
   <input type="button" value="ID중복확인"
                              onClick="idCheck(this.form.mem_id.value)">


ⓑ function idCheck(id) 함수를 이용해 클릭 이벤트를 처리를 합니다.
    url="idCheck.jsp?mem_id=" + id;
    window.open(url,"아이디검색","width=300,height=150");


ⓒ idCheck.jsp, 중복 아이디 검사 checkId(mem_id)메소드 호출
   <jsp:useBean id="memMgr" class="member.MemberMgr" />
   boolean check = memMgr.checkId(mem_id);


ⓓ public boolean checkId(String id)
   SELECT id FROM member WHERE id = ?
   checkCon = rs.next();


ⓔ idCheck.jsp, 중복 아이디 여부를 검사해 메시지를 출력합니다.
   if(check){ //true라면
       out.println("는 이미 존재하는 ID입니다.<p>");
   }else{ //false라면  
       out.println("는 사용 가능 합니다.<p>");
   }

   window.close();
   중복아이디관련 메시지창을 닫습니다.

출처 : http://blog.naver.com/jackyhs/80033253040 (더 자세한 내용)

'JAVA/JSP' 카테고리의 다른 글

한글파라미터 값 넘길때 한글처리  (0) 2008.01.01
한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
Beans 설계 규약  (0) 2007.05.07

.equals()

까먹지 좀 마!

'JAVA/JSP' 카테고리의 다른 글

한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
Beans 설계 규약  (0) 2007.05.07
자바 강의 페이지.  (1) 2007.01.14
java.text.SimpleDateFormat formatter
             = new java.text.SimpleDateFormat("yyyyMMdd");

String today = formatter.format(new java.util.Date());

'JAVA/JSP' 카테고리의 다른 글

한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
Beans 설계 규약  (0) 2007.05.07
자바 강의 페이지.  (1) 2007.01.14
Beans 설계 규약

. 자바 빈즈 컴포넌트 속성들은 읽기(get), 쓰기(set) 중 적어도 하나 이상 기능을 수행해야 한다.

. get 메소드는 파라미터가 없는 형태여야 하며,
  set 모세드는 파라미터를 하나만 받는 구조여야 한다.

. 생성자는 파라미터를 받지 않는 구조여야 한다.



'JAVA/JSP' 카테고리의 다른 글

한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
Beans 설계 규약  (0) 2007.05.07
자바 강의 페이지.  (1) 2007.01.14
http://www.sungkyul.ac.kr/~choiym/class/webpro_2006_1/index.html

'JAVA/JSP' 카테고리의 다른 글

한글, 영문, 특수기호, 숫자 아스키코드 범위 구분  (0) 2007.09.30
ID 중복 검사  (0) 2007.09.30
String 값. 비교 .equal  (0) 2007.08.27
날짜구하기.  (0) 2007.08.17
Beans 설계 규약  (0) 2007.05.07
자바 강의 페이지.  (1) 2007.01.14
  1. Favicon of http://bhstudio.egloos.com BlogIcon DSDSTUDIO 2007.03.24 18:31 신고

    호오..
    이 학교도 머리 들이밀기 시리즈를 교재로 사용하는구나..

    헤드 퍼스트 시리즈는 jsp & servlet 이 젤 번역도 잘되고..
    이해하기 쉽게 나온것 같아.

    나머지것은 그냥 뜬구름을 잡는듯한 느낌이라.. =_=

+ Recent posts