----test.jsp 파일----

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 <FORM METHOD=POST ACTION="ServletTest">
  1번 이름 : <INPUT TYPE="text" NAME="name1"/><p>


  <INPUT TYPE="submit" value="전송">
 </FORM>
</body>
</html>


-----ServletTest.java-----파일

import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


/**
 * Servlet implementation class for Servlet: testServlet
 *
 */
 public class ServletTest extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet {
    /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#HttpServlet()
  */
 public ServletTest() {
  super();
 }    
 
 /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
  doPost(request,response);

 }   
 
 /* (non-Java-doc)
  * @see javax.servlet.http.HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
  */
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  // TODO Auto-generated method stub
 
  PrintWriter out=response.getWriter();
  request.setCharacterEncoding("euc-kr");
 
  String name1=request.getParameter("name1");
 
  out.print(name1);

 }

     
}

 

//========================================================================================================================

 

String name=request.getParameter("name");

               //name값 "name"에 해당하는 값을 String name 에 저장

request.setCharacterEncoding("euc-kr");

               //한글을 표현해주기위해사용


Dynamic Web Project 프로젝트 생성 후

test.jsp 파일은 WebContent 에서 생성

Java Resource : src 에서 servlet [ ServletTest.java ]파일 생성

서블릿 파일에서 doGet 메소드 안에 doPost(request,response); 정의

doPost 메소드 안에 출력 내용 정의


//----------doPost 안의 내용↓↓↓↓↓↓↓↓↓↓↓↓↓

PrintWriter out=response.getWriter();
request.setCharacterEncoding("euc-kr");  
String name1=request.getParameter("name1");
 
  out.print(name1);

//----------doPost 안의 내용↑↑↑↑↑↑↑↑↑↑↑↑↑

 

출력 클래스

import java.io.PrintWriter;

PrintWriter out=response.getWriter();

2010/01/11 13:07 2010/01/11 13:07

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/15

댓글을 달아 주세요

사용 프로그램
이클립스 3.2
tomcat 5.5
jdk1.5.0_16
 
 
소스작성

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 <%
  String strVar="백문이 불여일타";
   
 %>

 고수가 되기 위한 첫걸음 : <%=strVar %>
</body>
</html>

//-----------------------------------------------------------------------------

<%       %> -> 서버에서 동작한다는 의미

<%=변수  %> -> out.print(변수); 로 변환

<% %> 를 넣는순간 아래 소스와 같이 자동 변환된다.

<% %> 를 사용하는 순간 자바클래스 파일로 만들어 진다.

//-----------------------------------------------------------------------------


소스

package org.apache.jsp;

import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.jsp.*;

public final class startPage_jsp extends org.apache.jasper.runtime.HttpJspBase  //보라색부분 HttpServlet 으로 써도 된다.
    implements org.apache.jasper.runtime.JspSourceDependent {

  private static java.util.Vector _jspx_dependants;

  public java.util.List getDependants() {
    return _jspx_dependants;
  }

  public void _jspService(HttpServletRequest request, HttpServletResponse response)
        throws java.io.IOException, ServletException {

    JspFactory _jspxFactory = null;
    PageContext pageContext = null;
    HttpSession session = null;
    ServletContext application = null;
    ServletConfig config = null;
    JspWriter out = null;
    Object page = this;
    JspWriter _jspx_out = null;
    PageContext _jspx_page_context = null;


    try {
      _jspxFactory = JspFactory.getDefaultFactory();
      response.setContentType("text/html; charset=EUC-KR");
      pageContext = _jspxFactory.getPageContext(this, request, response,
         null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write("\n");
      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"
http://www.w3.org/TR/html4/loose.dtd\">\n");
      out.write("<html>\n");
      out.write("<head>\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-KR\">\n");
      out.write("<title>Insert title here</title>\n");
      out.write("</head>\n");
      out.write("<body>\r\n");
      out.write("\t");
 //스크립트릿
  String strVar="백문이 불여일타";
   
 
      out.write("\r\n");
      out.write("\t고수가 되기 위한 첫걸음 : ");
      out.print(strVar  //표현식 );
      out.write("\n");
      out.write("</body>\n");
      out.write("</html>");
    } catch (Throwable t) {
      if (!(t instanceof SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          out.clearBuffer();
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
      }
    } finally {
      if (_jspxFactory != null) _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}


 

jsp파일이 java파일로 변환된 생성위치

D:\Source1\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\startPage\org\apache\jsp

jsp파일 위치

D:\Source\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\webapps\프로젝트명\ 

 

JSP 동작구조

 

사용자 삽입 이미지

1. 웹 브라우저에서 http://서버주소/a.jsp과 같은 형태로 해당 페이지를 요청 한다.

2. 웹 서버는 요청한 해당 페이지를 처리하기 위해서 JSP 컨테이너에 처리를 넘긴다.

3. JSP파일을 서블릿으로 변환한다.

4. 서블릿파일은 실행 가능한 상태인 클래스 파일로 컴파일된다.

5. 클래스 파일은 메모리에 적재되어 실행 된다.

6. 이 실행 결과는 다시 웹 서버에서 넘겨진다.

7. 웹서버는 웹 브라우저가 인식할 수 있는 HTML 형태로 결과를 웹 브라우저에게 응답한다.

   웹 서버로부터 응답 받은 결과물인 HTML 페이지를 웹 브라우저에서 실행시켜서 해당 웹 페이지가 웹 브라우저에 표시된다.

2010/01/11 10:03 2010/01/11 10:03

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/14

댓글을 달아 주세요

- Eclipse 자주 쓰는 단축키 -

----- 실행 -----

Ctrl + F11 : 바로 전에 실행했던 클래스 실행


-----
소스 네비게이션 -----

Ctrl + 마우스커서(혹은 F3) : 클래스나 메소드 혹은 멤버를 상세하게 검색하고자 할때

Alt + Left, Alt + Right : 이후, 이전

Ctrl + O : 해당 소스의 메소드 리스트를 확인하려 할때

F4 : 클래스명을 선택하고 누르면 해당 클래스의 Hierarchy 를 볼 수 있다.


-----
문자열 찾기 -----

Ctrl + K : 찾고자 하는 문자열을 블럭으로 설정한 후 키를 누른다.

Ctrl + Shift + K : 역으로 찾고자 하는 문자열을 찾아감.

Ctrl + J : 입력하면서 찾을 수 있음.

Ctrl + Shift + J : 입력하면서 거꾸로 찾아갈 수 있음.

Ctrl + F : 기본적으로 찾기


-----
소스 편집 -----

Ctrl + Space : 입력 보조장치(Content Assistance) 강제 호출 => 입력하는 도중엔 언제라도 강제 호출 가능하다.

F2 : 컴파일 에러의 빨간줄에 커서를 갖져다가 이 키를 누르면 에러의 원인에 대한 힌트를 제공한다.

Ctrl + L : 원하는 소스 라인으로 이동

   로컬 히스토리 기능을 이용하면 이전에 편집했던 내용으로 변환이 가능하다.

Ctrl + Shift + Space : 메소드의 가로안에 커서를 놓고 이 키를 누르면 파라미터 타입 힌트를 볼 수 있다.

Ctrl + D : 한줄 삭제

Ctrl + W : 파일 닫기

Ctrl + I : 들여쓰기 자동 수정

Ctrl + Shift + / : 블록 주석(/* */)

Ctrl + Shift + \ : 블록 주석 제거

Ctrl + / : 여러줄이 한꺼번에 주석처리됨. 주석 해제하려면 반대로 하면 된다.

Alt + Up(Down) : 위(아래)줄과 바꾸기

Alt + Shift + 방향키 : 블록 선택하기

Ctrl + Shift + Space : 메소드의 파라메터 목록 보기

Ctrl + Shift + O : 자동으로 import 하기

Ctrl + Shift + F4 : 열린 파일 모두 닫기

Ctrl + M : 전체화면 토글

Ctrl + Alt + Up(Down) : 한줄(블럭) 복사

Ctrl + , or . : 다음 annotation(에러, 워닝, 북마크 가능)으로 점프

Ctrl + 1 : 퀵 픽스

F3 : 선언된 변수로 이동, 메소드 정의부로 이동

Ctrl + T : 하이어라키 �b업 창 띄우기(인터페이스 구현 클래스간 이동시 편리)

Ctrl + O : 메소드나 필드 이동하기

Ctrl + F6 : 창간 전환, UltraEdit  Editplus Ctrl + Tab 과 같은 기능


-----
템플릿 사용 -----

sysout 입력한 후 Ctrl + Space 하면 System.out.println(); 으로 바뀐다.

try 입력한 후 Ctrl + Space 하면 try-catch 문이 완성된다.

for 입력한 후 Ctrl + Space 하면 여러가지 for 문을 완성할 수 있다.

템플릿을 수정하거나 추가하려면 환경설정/자바/편집기/템플릿 에서 할 수 있다.


-----
메소드 쉽게 생성하기 -----

클래스의 멤버를 일단 먼저 생성한다.

override 메소드를 구현하려면, 소스->메소드대체/구현 에서 해당 메소드를 체크한다.

기타 클래스의 멤버가 클래스의 오브젝트라면, 소스->위임메소드 생성에서 메소드를 선택한다.


----- organize import -----

자바파일을 여러개 선택한 후 소스->가져오기 체계화 해주면 모두 적용된다.


-----
소스 코드 형식 및 공통 주석 설정 -----

환경설정 -> 자바 -> 코드 스타일 -> 코드 포멧터 -> 가져오기 -> 프로파일.xml 을 불러다가 쓰면 된다.

또한 다수의 자바파일에 프로파일을 적용하려면 패키지 탐색기에서 패키지를 선택한 후 소스 -> 형식화를 선택하면 된다.

환경설정 -> 자바 -> 코드 스타일 -> 코드 템플리트 -> 가져오기 -> 템플리트.xml 을 불러다가 쓰면 된다.

 
----- 에디터 변환 -----

에디터가 여러 파일을 열어서 작업중일때 Ctrl + F6 키를 누르면 여러파일명이 나오고 F6키를 계속 누르면 아래로

Ctrl + Shift + F6 키를 누르면 위로 커서가 움직인다.

Ctrl + F7 : 뷰간 전환

Ctrl + F8 : 퍼스펙티브간 전환

F12 : 에디터로 포커스 위치

 

- 이클립스 자주쓰는 단축키 -

Ctrl + / : 주석 처리 - 한 라인/블록에 대해 주석 처리 (추가 및 제거)

Ctrl + L : 특정 라인으로 이동

Ctrl + F6 : Editor 창간의 이동

Ctrl + F7 : View 이동 메뉴

Ctrl + F8 : Prespectives 이동 메뉴

Ctrl + D : 한라인 삭제 - 커서가 위치한 라인 전체를 삭제 한다.

Ctrl + J : Incremental find 이클립스 하단 상태 표시줄에 Incremental find 라고 표시되어 한 글자자씩 누를 때 마다 코드내의 일치하는 문자열로 이동 , 다시 Ctrl + J 를 누르면 그 문자열과 일치 하는 부분을 위/아래 방향키로 탐색이 가능하다.

Ctrl + N : 새로운 파일 / 프로젝트 생성

Ctrl + 1 (빠른교정) - 문 맥에 맞게 소스 교정을 도와 준다. 변수를 선언하지 않고 썼을경우 빨간색 에러 표시되는데 이 단축키를 적용하면 변수에 맞는 선언이 추가 되도록 메뉴가 나타난다.

Ctrl + 0 : 클래스 구조를 트리로 보기

Ctrl + Space :  Cotent Assist - 소스 구문에서 사용 가능한 메소드, 멤버들의 리스트 메뉴를 보여준다.

Ctrl + PageUp , Ctrl + PageDown : Edit 창 좌우 이동 - Edit 창이 여러개 띄워져 있을경우 Edit 창간의 이동 한다.

Ctrl + Shift + Down : 클래스 내에서 다음 멤버로 이동

Ctrl + Shift + M : 해당 객체의 Import 문을 자동 생성 - import 추가 할 객체에 커서를 위치 시키고 단축키를 누르면 자동적으로 import 문이 생성

Ctrl + Shift + O : import 문을 자동 생성 - 전체 소스 구문에서 import 안된 클래스의 import 문을 생성해 준다.

Ctrl + Shift + G : 해당 메서드 / 필드를 쓰이는 곳을 표시 - View 영역에 Search 탭에 해당 메서드 / 필드를 사용하는 클래스를 표시 해준다.

Alt + Shift + R : Refactoring (이름변경) - Refactoing 으로 전체 소스에서 이름변경에 의한 참조 정보를 변경해 준다.

F3 : 선언 위치로 이동

F11 : 디버깅 시작

F8 : 디버깅 계속

F6 : 디버깅 한줄씩 실행(step over)

F5 : 디버깅 한줄씩 실행 함수 내부로 들어감 (step into)

F12 : Editor 창으로 이동 (Debugging 등 자동적으로 포커스가 이동 됐을경우 편리)

Alt + Up , Alt + Down : 줄 바꿈 - 해당 라인을 위 / 아래로 이동 시킨다.

Alt + Shift + S : Source Menu - 소스메뉴 (Import 추가 , Comment 추가 , 각종 Generator 메뉴) 가 나타난다.

Alt + Shift + Up : 블록설정 - 소스 코드를 블록 단위로 설정해 준다.

Alt + Shift + Down : 블록해제 - 소스 코드를 블록 단위로 해제한다.

Alt + Shift + J : 주석 생성 - 해당 메서드/클래스에 대한 주석을 템플릿을 생성해 준다.

sysout + (Ctrl + Space) : System.out.println() 문장 삽입 - 코드 템플릿을 이용해서 소스 구문을 추가

(Windows -> Preferences -> JAVA -> Editor -> Templates 에서 자주 쓰는 소스 구문을 추가시키면 <템플릿 이름> + (Ctrl + Space) 로 소스 문장을 완성 시킬 수 있다.)

Alt + Shift + Z : Surround With 메뉴 - try / catch 문이나 for , do , while 등을 해당 블록에 감싸주는 메뉴가 나타난다.

Ctrl + Shift + F : 코드 포맷팅 - 코드 내용을 문법 템플릿에 맞게 포맷팅(들여쓰기) 해준다.

Ctrl + Alt + Down : 한줄 복사후 아래에 복사 넣기 - Copy&Paste 대체하는 단축키. 커서가 위치한 라인을 복사해 밑줄에 생성해 준다.

Ctrl + Shift +X : 대문자로 변환

Ctrl + Shift + Y : 소문자로 변환

Ctrl + Shift + L : 모든 단축키의 내용을 표시해준다.

Ctrl + Shift + B : 현재 커서 라인에 Break point 설정

Ctrl + Shift + T : 클래스 찾기

2010/01/11 09:28 2010/01/11 09:28

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/13

댓글을 달아 주세요

j a v a s c r i p t : o n c l i c k = v o i d  w i n d o w . o p e n (' h t t p : / / w w w . n a v e r . c o m ' ) ;

2009/03/23 17:08 2009/03/23 17:08

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/12

댓글을 달아 주세요

※ 세가지 스크립트로 출력하기 위한 기본 문장

오늘은 2004 년 9 월 14 일 화 요일 입니다.
현재시각은 오후 12 시 11 분 15 초 입니다.

 

1. ASP -  굳이 날짜를 출력하기 위해 변수를 선언할 필요가 없다.

<%

     select case weekday(now)

     case 1

     weekstr = "일"

     (..중략..)

     case 7

     weekstr = "토"


     if hour(now) < 12 then
         ampm = "오전"
     else
         ampm = "오후"
     end if

%>


오늘은 <%=year(now)%> 년 <%=month(now)%> 월 <%=day(now)%> 일 <%=weekstr%> 요일 입니다. <br>

현재시각은 <%=ampm%> <%=hour(now)%> 시 <%=minute(now)%> 분 <%=second(now)%> 초 입니다. <br>

 

날짜시간 (2004-09-14 오후 12:11:05) <%=now()%>

날짜 (2004-09-14) <%=date()%>

시간 (오후 12:11:05)<%=time()%>




2. JSP

<%@page contentType = "text/html;charset=EUC-KR"%>

<%@page import = "java.util.*"%>

<%

     Calendar today = Calendar.getInstance();   // today 변수 선언 - 오늘 날짜를 받음.

     int year = today.get(Calendar.YEAR);

     int month = today.get(Calendar.MONTH)+1;

     int date = today.get(Calendar.DATE);

     int dayInt = today.get(Calendar.DAY_OF_WEEK);


     int hour = today.get(Calendar.HOUR);

     int minute = today.get(Calendar.MINUTE);

     int second = today.get(Calendar.SECOND);

     int ampmInt = today.get(Calendar.AM_PM);


     String day = "";

     String ampm = "";


     switch(dayInt)

     {

     case 1 : day = "일";

                         break;

     (..중략..)

     case 7 : day = "토";

                         break;

     }


     switch(ampmInt)

     {

     case 0 : ampm = "오전";

                              break;

     case 1 : ampm = "오후";

                              break;

     }

%>


오늘은 <%=year%> 년 <%=month%> 월 <%=date%> 일 <%=day%> 요일 입니다. <br>

현재시각은 <%=ampm%> <%=hour%> 시 <%=minute%> 분 <%=second%> 초 입니다.


날짜시간(Tue Sep 14 12:11:05 GMT+09:00 2004) <%=new java.util.Date()%>




3. PHP

<?

$today = getdate(); // today 변수 선언 - 오늘 날짜를 받음.

$year = $today['year'];
$month= $today[mon];
$date= $today['mday'];

$day = $today['wday'];

 

$hours = $today['hours'];

$minutes = $today['minutes'];

$seconds = $today['seconds'];

$ampm = date("A");

 

switch ($day) {
    case 0
:
        $weekstr = "일";

        break;

    (..중략..)
    case 6
:
        $weekstr = "토";

        break;

}

 

if($ampm =="am"){

 $ampm = "오전";

}else{

 $ampm = "오후";

}

 

$datetime = date("Y-m-d A h:i:s");  // m : '0'이 붙는 월 / n : '0'이 붙지 않는 월

$dates = date("Y-m-d"); // d : '0'이 붙는 일 / j : '0'이 붙지 않는 일

$times = date("h:i:s l"); // H : 24시간 단위 / h : 12시간 단위

?>


오늘은 <?=$year?> 년 <?=$month?> 월 <?=$date?> 일 <?=$weekstr?> 요일 입니다. <br>

현재시각은 <?=$ampm?> <?=$hours?> 시 <?=$minutes?> 분 <?=$seconds?> 초 입니다.<br>

 


날짜시간(2004-09-14 PM 12:11:05) <?=$datetime?>

날짜 (2004-09-14) <?=$dates?>

시간 (12:11:05 Tuesday)<?=$times?>

2009/01/16 10:37 2009/01/16 10:37

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/11

댓글을 달아 주세요

1. 주석달기

    <!-- -->

    <%-- --%>


2. 선언태그

    <%! %>


3. 표현식

    <%= %>


4. 지시어

    <%@ include file=“파일의 위치(URL)" %>

    page 지시어

    <%@ page [language="java"]

            [extends="pagckage.class"]                   (java.util.Data)

            [import="{package.class | package.*},..."]     (java.util.*)

            [session="true | false"]

            [buffer = "none|8kb|sizekb"]

            [autoFlush="true|fase]

            [isThreadSafe="true|false]

            [info="text"]

            [errorPage="relativeURL"]

            [contentType="mimeType[;charset=characterset]"|

                                   "text/html;charset=euc-kr"]

            [isErrorPage="true|false"]

    %>


5.Taglib 지시어

    <%@ taglib uri="URIToTagLibary" prefix="tagPrefix" %>


6. Request 객체의 메소드

    javax.servlet.http.HttpServletRequest

getAttribute(String name)

속성값 반환

getAttributeNames()

request 객체에 있는 모든 속성값의 배열을 반환

getCharacterEncoding()

post 형식으로 전송된 자료의 문자인코딩방식을 반환

getContentType()

request의 mime타임의 밧을 문자열로 반환

getInputStream()

Post형식으로 전송된 자료의 inputStream으로 반환

getLocale()

request의 우선적 지역정보를 반환

getLocales()

접속할수 있는 모든 클라이너트 지역정보를 배열로반환

getParameter(String name)

html문서의 폼으로 넘어온 정보의 값을 반환

public String getParameter(String name)

getParameterNames()

html문서의 폼으로 넘어온 정보로부터 폼들의 이름을 배열로 반환

public Enumeration getParameterNames()

getContentLength()

전송된 자료의 길이를 반환

getParameterValues(String name)

html문서의 폼으로 넘어온 모든 정보의 값을 반환

public String[] getParamterValues(String name)

getProtocol()

사용되는 프로토콜의 종류를 문자열로 반환

getReader()

post 형식으로 전송된 자료를 읽을 Reader를 반환

getRemoteAdd()

접속한 클라이언트의 ip 어드레스값을 문자열로 반환

getRemoteHost()

접속한 클라이언트의 도메인이름을 문자열로 반환

getServerName()

request를 처리하는 서버의 이름을 문자열로 반환

getServerPort()

request를 처리하는 소버의 포트번호를 정수형으로 반환

isSecure()

보안모드가 적용되는 클라이언트와 접속되어있는지 여부를 논리값반환

getAuthType()

인증형에 대한 값을 문자열로 반환

getContextPath()

어플리케이션 디렉토리의 url을 문자열로 반환

getCookies()

클라이언트부터 전송된 쿠키에 대한 정보를 반환

getMethod()

get,post인지를 문자열로 반환

public String getMethod()

getQueryString()

request의 QueryString값을 문자열로 반환

public String getQueryString()

getRequestedSession()

세션아이디의 값을 문자열로 반환

getProtocol()

사용되는 프로토콜의 종류를 문자열로 반환

getSession()

현재 세션 객체를 반환

public HttpSession getSession()



7. Response 객체의 메소드

javax.servlet.http.HttpServletResponse

flushBuffer()

버퍼에 저장되는 있는 내용을 클라이언트에 전송

getBufferSize()

출력 버퍼의 크기를 정수 자료형으로 반환

getCharacterEncoding()

Response시 사용하는 문자 인코딩 방법으로 문자열 자료형으로 반환

getLocale()

지역정보를 java.util.Local 클래스의 객체형으로 반환

getOutputStream()

클라이언트에 자료를 전송하는 출력 스트립의 객체를 반환

isCommitted()

클라이언트에 어떤 내용으로 버퍼로부터 전송했으면 true로 반환

setBufferSize(int size)

출력 버퍼의 크기를 설정

setContentType(String type)

응답시 사용할 Content Type을 설정

setLocale(Locale locale)

지역정보를 임의로 설정함

addCookie(Cookie cookie)

쿨라이언트에게 새로운 쿠키정보를 전송함

sendError(int sc)

상태 코드에 따른 Http 에러 페이지를 클라이언트에게 전송함

sendRedirect(String location)

현재 페이지에서 문서를 다른 페이지로 이동시킴


8. Session 객체의 메소드


javax.servlet.http.HttpSession

getAttribute(String name)

Session에 저장된있는 속성값중 name에 해당값을

Object의 객체형으로 반환

getAttributeName()

Session객체에 값을 저장하고 있는 각각의 속성의 이름 모두를

Enumeration객체형으로 반환

getCreatonTime()

클라이언트가 접속하여 생성된 Session의 생성 시간을 long형으로 반환

public long getCreationTime()

getId()

클라이언트에 할당된 Session의 ID값을 문자열 형으로 반환

public String getId()

getLastAccessedTime()

현재의 세션이 jsp 페이지에 접근한 최근 접속시간을 long형으로 반환

public long getLastAccessedTime()

getMaxInactiveInterval()

사용자가 세션을 부여받은후 아무것도 하지 않을 경우 자동적으로 세션을

종료하도록 설정된 시간의 값을 정수형으로 반환

public int getMaxInactiveInterval()

invalidate()

현재 실행중인 세션을 무효화(종료)

public void invalidate()

isNew()

현재 실행중인 세션이 새로운것인지를 대한 여부를 논리값을 반환

public boolean isNew()

removeAttribute(String name)

현재 세션이 저장되어있는 속성값들중 지정한 속성의 값을 지움

setAttribute(String name,Object value)

현재 세션이 새로운 이름의 속성을 만들고 그 속성에 값을 할당함

setMaxInactiveInterval(int seconds)

세션을 할당받고 아무런 액션이 없을 경우 세션이 자동으로 종료하는

시간을 설정함

public void setMaxInactiveInterval(int seconds)

9. Out 객체


javax.servlet.jsp.JspWriter


10.  Application객체

javax.servlet.ServletContext

getAttribute(String name)

Application 속성값중에 name에 해당하는 값을 Object의 객체형으로 반환

getAttributeNames()

Application 저장되어 있는 속성명들을 열거 자료형으로 반환

getInitParameter(String name)

Application이 초기화될때 설정된 파라미터 값을 가져옴

getInitParameterNames()

Application이 초기화될때 설정된 파라미터의 이름을 열거 자료형으로 반환

getMimeType(String url)

지정한 위치에있는 파일의 MimeType을  문자열형으로 반환함

getServerInfo()

서버의 정보를 문자열형으로 반환

public String getServerInfo()

removeAttribute()

Application의 속성을 제거함

setAttribute(String name,Object value)

Application의 속성을 설정함



11. PageContext 객체

javax.servlet.jsp.PageContext

findAttribute()

모든 Scope내에서 속성을 찾아옴

getException()

예외처리 객체를 가져옴

public abstract Exception getException()

getOut()

Out객체를 가져옴

public abstract JspWriter getOut()

getPage()

Page 객체를 가져옴

public abstract Object getPage()

getRequest()

Request 객체를 가져옴

public abstract ServletRequest getRequest()

getResponse()

Response 객체를 가져옴

public abstract ServletResponse getResponse()

getServletConfig()

Config 객체를 가져옴

public abstract ServletConfig getServletConfig()

getServletContext()

Application 객체를 가져옴

public abstract ServletContext getServletContext()

getSession()

Session 개게를 가져옴

public abstract HttpSession getSession()


12. 예외처리


1)페이지 예외처리

   

<%@ page errorPage="error.jsp" %>

<%@ page isErrorPage="true" %>

<%=exception.toString() %>

try {}catch(Exception e){}finally{}


13. 기타


FileReader클래스 

<%@ page import="java.io.*" errorPage="error.jsp" contentType="text/html;charset=euc-kr" %>

read()

문자열을 하나씩 읽어옴/끝에 도달 -1반환

read(char[] cbuf,int off, int len)

문자를 지정한 위치에서 지정한 길이만큼 읽어옴

read(char[] cbuf)

문자를 한꺼번에 지정한 버펀의 크기만큼 읽어옴


FileWriter클래스 

write(int c)

Ascii코드형식으로 되어있는 문자하나를 파일에 써 넣음

write(char[] cbuf,int off,int len)

버퍼에 저장되어 있는 문자 자료를 지정한 위치에 지정한 길이 만큼씀

write(char[] cbuf)

버퍼에 저장되어있는 자료를 한꺼번에 파일에 씀

write(String str)

String의 객체에 저장되어있는 자료를 파일에 씀

write(String str,int off,int len)

String의 객체에 저장되어있는 자료를 지정한 위치에 지정한 길이만큼 씀

FileWriter testWrite = new FileWriter();

testWriter.close() //닫아 주어야 함


▶문자열->숫자형

int num;

num = Integer.parseInt("12345",진수);

▶숫자형->문자열

String num;

num = Integer.toString(12345);


14. Driver정보

getDriver

시스템에 설치된 드라이브정보를 열거형으로 반환



15. Driver로딩

Class.forName("드라이브 이름“)

ODBC -Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

MSsql -Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");

Mysql - Class.forName("org.gjt.mm.mysql.Driver")

Oracle - Class.forName("oracle.jdbc.driver.OracleDriver");

16. 데이터베이스 연결명령어 작성

ODBC - "jdbc:odbc:database_name"

MSsql - "jdbc:microsoft:sqlserver://ip_address:1433;DataBaseName=pubs";

Mysql - "jdbc:mysql://ip_address:3306/database_name"

Oracle - "jdbc:oracle:thin:@ip_address:1521:ORCL"


getConnection(String url,String user,String password)

데이터베이스 연결하고 그 연결객체를 반환

getConnection(String url)

데이터베이스를 연결하고 그 연결객체를 반환


17. Jsp의 Action 태그

▶<jsp:useBean>

<jsp:userBean id="beanInstanceName" scope="page | requst | session | application"

{

   class="package.class" |

   type="package.class" |

   class="package.class" type="package.class" |

   beanName="{package.class | <%=expression %>}"

   type="package.class"

}

   { /> | >other elements </jsp:useBean>}

▶<jsp:setProperty>

<jsp:setProperty name="beanInstanceName"

   {

     property="*" |

     property="propertyName"[param="parameterName"]|

     property="propertyName" value="{string | <%=expression %>}"

   }

  />

▶<jsp:getProperty>

<jsp:getProperty name="beanInstanceName" property="propertyName" />


▶<jsp:include>

<jsp:include page="{relativeURL | <%=expression%>}" flush="true" />

or

<jsp:include page="{relativeURL | <%=expression%>}" flush="true">

  <jsp:param name="parameterName" value="{parameterValue | <%=expression%>}" />

</jsp:include>

▶<jsp:forward>

<jsp:forward page={"relativeURL" | "<%=expression %>"} />

or

<jsp:forward page={"relativeURL" | "<%=expression %>"}>

<jsp:param name="parameterName" value="{parameterValue | <%=expression %>}" />

</jsp:forward>

response.sendRedirect("/test/test.jsp?usrname=jssdd");

▶<jsp:plugin>

<jsp:plugin

     type="bean | applet"

      code="classFileName"

      codebase="classFileDirectoryName"

      [name="instanceName"]

      [archive="URIToArchive,..."]

      [align="bottom | top | middle | left | right "]

      [height="displayPixels"]

      [width="displayPixels"]

      [hspace="leftRightPixels"]

      [vspace="topBottomPixels"]

      [jreversion="JREVersionNumber | 1.1"]

      [nspluginurl="URLToPlugin"]

      [iepluginurl="URLToPlugin"]

      [<jsp:params>

         [<jsp:param name="parameterName" value="{parameterValue | <%=expression %>}" /> ]+

      </jsp:params> ]

      [<jsp:fallback>text message for user </jsp:fallback>]

</jsp:plugin>



18. Cookie의 클래스에서 사용할수 있는 메소드


Cookie(String name,String value)

Cookie 클래스의 생성자 매개변수 name,value를 이용해 해당하는

이름과 값을 가진 쿠키를 생성

getDomain()

쿠키의 도메인을 반환

public String getDomain()

setDomain(String _domain)

쿠키의 도메인을 설정

public void setDomain(String domain)

getMaxAge()

쿠키의 수명을 반환

public int getMaxAge()

setMaxAge(int _expir)

쿠키의 수명을 설정

public void setMaxAge(int seconds)

getName

쿠키의 이름을 반환

public String getName()

getPath()

쿠키의 유효한 URL의 일부를 반환

public String getPath()

setPath(String _path)

쿠키의 경로를 설정함

public void setPath(String path)

getSecure()

쿠키의 보안 채널을 통해 전달되는지의 여부를 반환

public boolean getSecure()

setSecure(boolean _flag)

쿠키를 보안 채널을 통해 전달할 것인지의 여부를 반환

public void setSecure(boolean b)

getValue()

쿠키의 값을 반환

public String getValue()

setValue(String value)

쿠키의 값을 설정함

public void setValue(String value)

getVersion()

쿠키의 버전을 반환, 기본값 0

public int getVersion()

setVersion(int ver)

쿠키의 버전을 설정, 0 이나 1 설정

public void setVersion(int version)

Cookie myCookie = new Cookie("userName", "박선영“);
myCookie.setMaxAge(60*60*24); //하루


19. Exception 객체

getMessage()

에러 메시지 리턴

public String getMessage()

printStackTrace()

에러 출력 스트림으로 스택 틀레이스 정보 출력

public void printStackTrace()

printStackTrace(PrintWriter out)

스택 트레이스 정보를 파라미터로 지정 객체 out으로 출력

public void printStackTrace(PrintWriter out)

printStackTrace(PrintStream out)

스택 트레이스 정보를 파라미터로 지정 객체 out으로 출력

public void printStackTrace(PrintStream out)


2009/01/16 10:34 2009/01/16 10:34

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/10

댓글을 달아 주세요

POST 방식 업로드

이 기능은 사람들이 텍스트와 바이너리 파일을 올릴 수 있게 합니다. PHP의 인증과 파일 조작 함수로, 누군가에게 업로드를 허용하거나, 업로드한 파일에 대한 모든 조작을 할 수 있습니다.

PHP는 RFC-1867 호환 브라우저(넷스케이프 네비게이터 3 이상, 마이크로소프트 인터넷 익스플로러 3+패치나 패치 없이 그 이상 버전을 포함)라면 파일 업로드를 받을 수 있는 능력을 가지고 있습니다.

Note: 관련 환경설정
php.inifile_uploads, upload_max_filesize, upload_tmp_dir, post_max_size, max_input_time 지시어를 참고하십시오.

PHP는 넷스케이프 컴포저와 W3C의 Amaya 클라이언트가 사용하는 PUT 방식 파일 업로드도 지원합니다. 자세한 내용은 PUT 방식 지원을 참고하십시오.

Example #1 파일 업로드 폼

파일 업로드 화면은 다음과 같은 특별한 폼으로 만들어집니다:

<!-- 데이터 인코딩형 enctype은 꼭 아래처럼 설정해야 합니다 -->
<form enctype="multipart/form-data" action="_URL_" method="POST">
    <!-- MAX_FILE_SIZE는 file 입력 필드보다 먼저 나와야 합니다 -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- input의 name은 $_FILES 배열의 name을 결정합니다 -->
    이 파일을 전송합니다: <input name="userfile" type="file" />
    <input type="submit" value="파일 전송" />
</form>

위 예제에서 사용한 __URL__은 PHP 파일을 지정하도록 교체해야 합니다.

숨겨진 MAX_FILE_SIZE(바이트로 측정) 필드는 file 입력 필드보다 먼저 나와야하며, PHP가 받아들이는 최대 파일 크기값을 가집니다. 브라우저에서 이 값을 속이는건 매우 간단하므로, 이 기능으로 이보다 큰 파일이 막힐거라고 생각하지 마십시오. 대신, 최대 크기에 대한 PHP 설정은 속일 수 없습니다. 이 폼 요소는 사용자가 큰 파일이 전송되는걸 기다린 후에서야 파일이 너무 커서 전송에 실패한다는걸 알게 되는걸 방지하기 위해서 사용해야 합니다.

Note: 파일 업로드 폼이 enctype="multipart/form-data"를 가졌는지 확인하십시오. 그렇지 않으면 파일 업로드는 작동하지 않습니다.

전역 $_FILES가 PHP 4.1.0부터 존재합니다. (이전 버전에서는 $HTTP_POST_FILES를 사용하십시오) 이 배열은 업로드된 파일 정보를 가지고 있습니다.

예제 폼에서 $_FILES의 내용은 다음과 같습니다. 위 예제 스크립트에서 사용한 파일 업로드 이름 userfile로 표현함에 주의하십시오. 어떠한 이름이라도 가질 수 있습니다.

$_FILES['userfile']['name']

클라이언트 머신에 존재하는 파일의 원래 이름.

$_FILES['userfile']['type']

브라우저가 이 정보를 제공할 경우에, 파일의 mime 형식. 예를 들면 "image/gif". 그러나 이 mime 형은 PHP 측에서 확인하지 않으므로 이 값을 신용하지 마십시오.

$_FILES['userfile']['size']

업로드된 파일의 바이트로 표현한 크기.

$_FILES['userfile']['tmp_name']

서버에 저장된 업로드된 파일의 임시 파일 이름.

$_FILES['userfile']['error']

파일 업로드에 관련한 에러 코드. PHP 4.2.0에서 추가되었습니다.

php.ini에서 upload_tmp_dir을 이용하여 다른 위치를 지정하지 않는 한, 파일은 서버의 기본 임시 디렉토리에 저장됩니다. 서버의 기본 디렉토리는 PHP를 실행하는 환경의 환경 변수 TMPDIR을 통해서 변경할 수 있습니다. PHP 스크립트 내부에서 putenv()를 통해서 설정하는 것은 작동하지 않습니다. 물론, 이 환경 변수는 업로드된 파일에 다른 작업을 할 때 사용할 수 있습니다.

Example #2 파일 업로드 확인하기

추가 정보는 is_uploaded_file()move_uploaded_file()에 대한 함수 정보를 참고하십시오. 다음 예제는 폼에서 전송된 파일 업로드를 처리합니다.

<?php
// 4.1.0 이전의 PHP에서는, $_FILES 대신에 $HTTP_POST_FILES를
// 사용해야 합니다.

$uploaddir = '/var/www/uploads/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo
'<pre>';
if (
move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    echo
"파일이 유효하고, 성공적으로 업로드 되었습니다.\n";
} else {
    print
"파일 업로드 공격의 가능성이 있습니다!\n";
}

echo
'자세한 디버깅 정보입니다:';
print_r($_FILES);

print
"</pre>";

?>

업로드된 파일을 받는 PHP 스크립트는 업로드된 파일로 무엇을 할 지 결정하는 로직을 포함하고 있어야 합니다. 예를 들면, $_FILES['userfile']['size'] 변수는 너무 작거나 큰 파일을 처리하는데 이용할 수 있습니다. $_FILES['userfile']['type'] 변수는 형식 기준에 맞지 않는 파일을 처리하는데 이용할 수 있습니다. 그러나 이것은 확인 작업 중 하나가 되어야 합니다. 이 값은 완전히 클라이언트에서 만들어지며, PHP 측에서 확인하지 않습니다. PHP 4.2.0부터, $_FILES['userfile']['error']를 이용하여 에러 코드에 따라서 처리하게 할 수 있습니다. 어떠한 로직이건 간에, 임시 디렉토리로부터 파일을 지우거나 다른 곳으로 이동해야 합니다.

폼에서 어떠한 파일도 선택하지 않으면, PHP는 $_FILES['userfile']['size']를 0으로, $_FILES['userfile']['tmp_name']은 없습니다.

요청이 끝날 때, 이동하거나 이름을 변경하지 않은 임시 디렉토리의 파일은 삭제됩니다.

Example #3 파일 배열 업로드하기

PHP는 파일에서도 HTML 배열 기능을 지원합니다.

<form action="" method="post" enctype="multipart/form-data">
<p>그림들:
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="file" name="pictures[]" />
<input type="submit" name="전송" />
</p>
</form>
<?php
foreach ($_FILES["pictures"]["error"] as $key => $error) {
    if (
$error = UPLOAD_ERR_OK) {
       
$tmp_name = $_FILES["pictures"]["tmp_name"][$key];
       
$name = $_FILES["pictures"]["name"][$key];
       
move_uploaded_file($tmp_name, "data/$name");
    }
}
?>

http://php.mirror.camelnetwork.com/

2008/12/28 17:01 2008/12/28 17:01

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/9

댓글을 달아 주세요

 $totalNumOfPage) $endPage = $totalNumOfPage;
 
 //NEXT,PREV 존재 여부
 $isNext = false;
 $isPrev = false;
 
 if($currentBlock < $totalNumOfBlock) $isNext = true;
 if($currentBlock > 1)      $isPrev = true;
 
 if($totalNumOfBlock == 1){
  $isNext = false;
  $isPrev = false;
 }   
 
 if($isPrev){
  $goPrevPage = $startPage-$pagePerBlock; // 11page
  echo "[PREV]";  
 } 
 for($i=$startPage;$i<=$endPage;$i++){
  echo "[".$i."]";
 }
 if($isNext){
  $goNextPage = $startPage+$pagePerBlock; // 11page
  echo "[NEXT]";
 }  
}

handlePage($totalRecord,$recordPerPage,$pagePerBlock,$currentPage);

?> 
2008/12/26 15:59 2008/12/26 15:59

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/8

댓글을 달아 주세요

public class Crypto{
    /**
     * 파일암호화에 쓰이는 버퍼 크기 지정
     */
    public static final int kBufferSize = 8192;
 public static java.security.Key key = null;
 public static final String defaultkeyfileurl = "defaultkey.key";
 /**
     * 비밀키 생성메소드
     * @return  void
     * @exception java.io.IOException,java.security.NoSuchAlgorithmException
     */
 public static java.io.File makekey() throws java.io.IOException,java.security.NoSuchAlgorithmException{
  return makekey(defaultkeyfileurl);
 }
 public static java.io.File makekey(String filename) throws java.io.IOException,java.security.NoSuchAlgorithmException{
  java.io.File tempfile = new java.io.File(".",filename);
  javax.crypto.KeyGenerator generator = javax.crypto.KeyGenerator.getInstance("DES");
  generator.init(new java.security.SecureRandom());
  java.security.Key key = generator.generateKey();
  java.io.ObjectOutputStream out = new java.io.ObjectOutputStream(new java.io.FileOutputStream(tempfile));
  out.writeObject(key);
  out.close();
  return tempfile;
 }

    /**
     * 지정된 비밀키를 가지고 오는 메서드
     * @return  Key 비밀키 클래스
     * @exception Exception
     */
    private static java.security.Key getKey()
    throws Exception{
        if(key != null){
   return key;
  }else{
   return getKey(defaultkeyfileurl);
  }
    }
 private static java.security.Key getKey(String fileurl)
    throws Exception{
  if(key == null){
   java.io.File file = new java.io.File(fileurl);
   if(!file.exists()){
    file = makekey();
   }
   if(file.exists()){
    java.io.ObjectInputStream in = new java.io.ObjectInputStream(new java.io.FileInputStream(fileurl));
    key = (java.security.Key)in.readObject();
    in.close();
   }else{
    throw new Exception("암호키객체를 생성할 수 없습니다.");
   }
  }
        return key;
    }
 
    /**
     * 문자열 대칭 암호화
     * @param   ID  비밀키 암호화를 희망하는 문자열
     * @return  String  암호화된 ID
     * @exception Exception
     */
 public static String encrypt(String ID)
  throws Exception{
   if ( ID == null || ID.length() == 0 ) return "";
   javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DES/ECB/PKCS5Padding");
   cipher.init(javax.crypto.Cipher.ENCRYPT_MODE,getKey());
   String amalgam = ID;
 
   byte[] inputBytes1 = amalgam.getBytes("UTF8");
   byte[] outputBytes1 = cipher.doFinal(inputBytes1);
   sun.misc.BASE64Encoder encoder = new sun.misc.BASE64Encoder();       
   String outputStr1 = encoder.encode(outputBytes1);
   return outputStr1;
 }
 
    /**
     * 문자열 대칭 복호화
     * @param   codedID  비밀키 복호화를 희망하는 문자열
     * @return  String  복호화된 ID
     * @exception Exception
     */
 public static String decrypt(String codedID)
  throws Exception{
   if ( codedID == null || codedID.length() == 0 ) return "";
   javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DES/ECB/PKCS5Padding");
   cipher.init(javax.crypto.Cipher.DECRYPT_MODE, getKey());
   sun.misc.BASE64Decoder decoder = new sun.misc.BASE64Decoder();
 
   byte[] inputBytes1  = decoder.decodeBuffer(codedID);
   byte[] outputBytes2 = cipher.doFinal(inputBytes1);
 
   String strResult = new String(outputBytes2,"UTF8");
   return strResult;
 }
 
    /**
     * 파일 대칭 암호화
     * @param   infile 암호화을 희망하는 파일명
     * @param   outfile 암호화된 파일명
     * @exception Exception
     */
    public static void encryptFile(String infile, String outfile)
    throws Exception{
            javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DES/ECB/PKCS5Padding");
            cipher.init(javax.crypto.Cipher.ENCRYPT_MODE,getKey());
 
            java.io.FileInputStream in = new java.io.FileInputStream(infile);
            java.io.FileOutputStream fileOut = new java.io.FileOutputStream(outfile);
 
            javax.crypto.CipherOutputStream out = new javax.crypto.CipherOutputStream(fileOut, cipher);
            byte[] buffer = new byte[kBufferSize];
            int length;
            while((length = in.read(buffer)) != -1)
                    out.write(buffer,0,length);
            in.close();
            out.close();
    }
    /**
     * 파일 대칭 복호화
     * @param   infile 복호화을 희망하는 파일명
     * @param   outfile 복호화된 파일명
     * @exception Exception
     */
    public static void decryptFile(String infile, String outfile)
    throws Exception{
            javax.crypto.Cipher cipher = javax.crypto.Cipher.getInstance("DES/ECB/PKCS5Padding");
            cipher.init(javax.crypto.Cipher.DECRYPT_MODE,getKey());
 
            java.io.FileInputStream in = new java.io.FileInputStream(infile);
            java.io.FileOutputStream fileOut = new java.io.FileOutputStream(outfile);
 
            javax.crypto.CipherOutputStream out = new javax.crypto.CipherOutputStream(fileOut, cipher);
            byte[] buffer = new byte[kBufferSize];
            int length;
            while((length = in.read(buffer)) != -1)
                    out.write(buffer,0,length);
            in.close();
            out.close();
    }
   
    public static void main(String[] ars)
    throws Exception {
        if(ars.length < 2) {
            System.out.println("USE : java com.crypto.Crypto [-d | -e | -fd | -fe] [text | inputfilename outputfilename]");
            System.exit(0);
        }
        if(ars[0].equals("-d"))
            System.out.println(Crypto.decrypt(ars[1]));
 
        if(ars[0].equals("-e"))
            System.out.println(Crypto.encrypt(ars[1]));
 
        if(ars[0].equals("-fd"))
            Crypto.decryptFile(ars[1], ars[2]);
 
        if(ars[0].equals("-fe"))
            Crypto.encryptFile(ars[1], ars[2]);
 
    }
}

2008/06/23 11:23 2008/06/23 11:23

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/7

댓글을 달아 주세요

<%@ page contentType="text/html;charset=euc-kr" %>
<%@ page import="java.util.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="java.sql.DriverManager" %>
<%@ page import="java.sql.Statement" %>
<%@ page import="java.sql.PreparedStatement" %>

<%
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
String url = "jdbc:oracle:thin:@111.111.222.111:1521:tydev64";
String id = "adss";
String pass = "dsdsd";

Connection conn = DriverManager.getConnection(url, id, pass);

   Statement stmt=conn.createStatement();

 StringBuffer sql = new StringBuffer();
 sql.append("SELECT COMMENTS FROM USER_COL_COMMENTS \n");
 sql.append("WHERE TABLE_NAME LIKE 'GVE%' \n");
 sql.append("AND   COLUMN_NAME = 'ADD_USER_ID' \n");
 sql.append("AND   COMMENTS IS NOT NULL \n");
 sql.append("AND   ROWNUM = 1 \n");

   ResultSet rs=stmt.executeQuery(sql.toString());
   String comments = "";
   while(rs.next()){
     comments = rs.getString("COMMENTS");
   }

out.print("데이터베이스연결성공" + comments);
conn.close();

} catch(SQLException e) {
out.println("데이버베이스연결실패");
}
%>

2008/06/23 11:21 2008/06/23 11:21

트랙백 주소 :: http://thinkit.or.kr/programming/trackback/6

댓글을 달아 주세요