1.폼에서 enctype="multipart/form-data" 설정시 MultipartRequest 로 받아와야함(reqeust 로는 안됨)

<form action="cinema_insertOK.jsp" name="movieAdd" method="post" enctype="multipart/form-data"> 


MultipartRequest multi = new MultipartRequest(request,saveDirectory,10*1024*1024,"euc-kr");
 // EX) request.getParameter("subject");  -> multi.getParameter("subject");
 //파일은 정해놓은 폴더에 자동으로 저장 되고  -> String images1 =multi.getParameter("images1"); 을 받아서 DB 꼽으면 됨.
 

2.인풋 파일 형식
<input size="37" type="file" name="image1" OnkeyPress="return false">

JDBC 연동 정리

카테고리 없음 2009. 3. 5. 00:36 Posted by Request
1.Interface Driver Implements 작업
-Class 의 forName() 메소드를 사용해서 드라이버를 로드한다.
ex)MySQL
-- Class.forName("com.mysql.jdbc.Driver");
ex)Oracle
--Class.forName("oracle.jdbc.driver.OracleDriver");

2.Connection 연결
-DriverManager 등록된 각 드라이버들을 getConnection(String url) 사용하여 식별후, 매핑한다.
-- 찾지 못하면 no suitable error 발생.
 ex)MySQL
-Connection conn=
DriverManager.getConnection("jdbc:mysql://localhost:3306/jsptest", "jspid", "jsppass");

ex)Oracle
-Connection conn=
DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl","scott","tiger");

3.(Statement/PreparedStatement/CallableStatement) 객체
-SQL 쿼리 생성, 실행, 반환된 결과를 가져오게 할 작업 영역 제공

4.Query 수행
-Statement객체가 생성되면 Statement 객체의 executeQuery()메소드나 executeUpdate() 메소드 사용해서
처리한다.

executeQuery() 메소드 = select 문
executeUpdate() 메소드 = Insert문/Update문/Delete문

5.ResultSet 처리: 데이터를 추출하는 단계


Tip)
1)Statement객체는 Statement stmt=connection.createStatement(); 선언으로 사용 가능하며
 실행할때마다 서버에서 분석하는 특징이 있다.
  - 단순 질의문 실행시 적합

2)PreparedStatement 객체의 특징
 -SQL 문장이 미리 컴파일 되고, 실행 시간 동안 인수값을 위한 공간을 확보하며, 한번의 분석으로 재사용이 용이하는 장점이 있으며 위치폴더는 물음표(?)로 표현한다.

 

Throwable CLASS 란?

카테고리 없음 2009. 3. 2. 20:56 Posted by Request

java.lang
클래스 Throwable

java.lang.Object 
  상위를 확장 java.lang.Throwable
모든 구현된 인터페이스:
Serializable
알려진 직계 서브 클래스:
Error, Exception

public class Throwable
extends Object
implements Serializable

Throwable 클래스는 Java 언어의 모든 에러와 예외의 슈퍼 클래스입니다. 이 클래스 (또는 그 서브 클래스 중의 1개)의 인스턴스인 객체만이 Java 가상 머신에 의해 발생되는 지, Java throw 구문에 의해 발생 됩니다. 똑같이, 이 클래스 또는 그 서브 클래스 중의 1개 만이 catch 절의 인수의 형태로 지정할 수 있습니다.

보통, ErrorException 2개의 서브 클래스의 인스턴스는 예외적인 상황이 발생한 것을 나타내기 위해서 사용됩니다. 이러한 인스턴스는 보통, 관련된 정보 (스택 트레이스 데이터등)를 포함하기 위해서 예외적인 상황에 따라 새롭게 작성됩니다.

Throw 가능 객체에는 작성시의 그 thread의 실행 스택의 snapshot가 포함됩니다. 이 클래스에는 에러에 대한 상세한 정보를 나타내는 메세지 캐릭터 라인도 포함됩니다. 최종적으로 이것은 「원인」 (이 Throw 가능 객체의 Throw를 일으킨 다른 Throw 가능 객체)을 포함할 수 있습니다 . 원인 기능은 릴리스 1.4 신기능입니다. 이것은 원인 자체가 원인을 보관 유지해 예외의 연쇄를 작성할 수 있기 때문에 「체인 된 예외」기능이라고도 불립니다.

Throw 가능 객체가 원인을 보관 유지할 수 있는 1개의 이유로서 Throw 가능 객체를 Throw 하는 클래스가 하위 레이어 추상화 위에 구축되고 있는 것이 들고 있습니다. 이 때문에 상위 레이어에 대한 조작이 실패하는 것은 하위 레이어에서의 조작이 실패하기 때문에입니다. 하위 레이어에 의해 발생되는 Throw 가능 객체를 외부에 송신하는 것은 부적절한 설계 방법입니다. 이것은 보통, 상위 레이어에 의해 제공되는 추상화 기능과는 관계가 없기 때문입니다. 게다가 이러한 조작을 실시하면, 상위 레이어의 API를 구현의 상세하게 연결시켜 버리기 때문에 하위 레이어의 예외가 체크 예외라고 보여져 버립니다. 「랩 된 예외」 (원인을 포함한 예외)을 Throw 하면, 이러한 결점에 접하지 않고 상위 레이어가 장해의 상세를 호출해 측에 통신할 수 있게 됩니다. 이 때문에 상위 레이어의 구현 (특히 메서드에 의해 발생되는 예외세트)을 API를 변경하지 않고 유연하게 변경할 수 있습니다.

Throw 가능 객체가 원인을 보관 유지하는 2번째의 이유는 Throw 가능 객체를 Throw 하는 메서드가 원인을 직접 Throw 하는 것을 메서드에 허가하지 않는 범용 인터페이스에 준거할 필요가 있는 것입니다. 예를 들어 지속 컬렉션이 Collection 인터페이스에 준거해, 그 지속성이 java.io 상위에 구현되는 경우를 생각합시다. put 메서드의 내부는 IOException를 Throw 가능하다라고 합니다. 이 경우 적절한 체크되지 않는 예외의 IOException을 감싸는 것으로써, 구현은 Collection 인터페이스에 준거하면서, IOException 상세를 호출해 측에 통지할 수 있습니다. 지속 컬렉션의 사양에 이런 종류의 예외를 Throw 가능하다라고 하는 것이 나타나고 있을 필요가 있습니다.


JDBC DB 접속 기본 설정 방식

카테고리 없음 2009. 2. 12. 20:21 Posted by Request
JBDC 하실 DB 접속 설정(오라클)
 String jdbcUrl="jdbc:oracle:thin:@localhost:1521:orcl";
  String dbId="scott";
  String dbPass="tiger";
  
  Class.forName("oracle.jdbc.driver.OracleDriver");
  con=DriverManager.getConnection(jdbcUrl,dbId,dbPass);
---------------------------------------------------------------------
3.JBDC시 DB 접속 설정(mySQL)  
 String jdbcUrl="jdbc:mysql://localhost:3306/jsptest";
  String dbId="scott";
  String dbPass="tiger";
  
  Class.forName("com.mysql.jdbc.Driver");
  con=DriverManager.getConnection(jdbcUrl,dbId,dbPass);

xdoclet 다운 받기

Program_Language/Etc. 2009. 2. 11. 02:31 Posted by Request

콘솔 다이렉트 sql 접속방법

카테고리 없음 2009. 2. 11. 02:01 Posted by Request

1. 시작 -> 실행 -> cmd
2. cmd>sqlplus / as sysdba
3. 사용자 lock풀기 및 비번 결정하기.
    SQL> alter user scott identified by tiger
           2  account unlock;

        사용자가 변경되었습니다.

    SQL> alter user hr identified by hr
           2  account unlock;

        사용자가 변경되었습니다.
4. 접속해 보기.
     SQL> conn scott/tiger

5. 접속 확인해 보기.
     SQL> show user

6. 단축 아이콘 만들기
     바탕화면->마우스 오른쪽 버튼 -> 새로만들기 -> 바로가기 ->
      cmd /k sqlplus "/ as sysdba" -> sys_10g  -> 확인

7. 6과 같은 방법으로 hr과 scott계정의 단축아이콘도 만든다.
      cmd /k sqlplus scott/tiger       -> scott_10g  -> 확인
      cmd /k sqlplus hr/hr                  -> hr_10g  -> 확인

Session 내장 객체 이해-JSP05

Web/JSP 2009. 2. 10. 19:07 Posted by Request

1.내장 객체 영역이란?
- 객체끼리 공유 할수 있는 범위(4가지)

영역          객체
page        pageContext
request     request
session    session
appliction application


setAttribute(속성명, 속성값)
getAttribute(속성명, 속성값)


웹어프리케이션 접근 종류
A.page <=== > B.page            A ->B 전송 요청시 request영역에서 생성됨
-page는 정적 범위

------------------------------------------------------------------- session 영역


application 영역 객체(환경 설정 데이터 공유 주로 쓰임)

내장객체 공통 메소드
setAttribute(String Key, Object value)   << 리턴값 void
                    (    속성, 값 )                
getAttribute(String형)  << 리턴값 Object
getAttributeNames() << java.util.Enumeration
removeAttribute(String)  << void

 

환경변수 Path 설정 하기

Program_Language/Java 2009. 2. 9. 02:47 Posted by Request
1.환경 설정
변수 이름 : path
변수 값 : C:\Program Files\Java\jdk1.5.0_17\bin;
--------------------------------------------------------------------------------------------
변수 이름 : classpath
변수 값 : .;
============================================================================================
2.톰캣 서블릿 사용하기설정
web.xml - invoker 찾기 -- 주석 삭제
server.xml - URIEncoding="euc-kr"  -98라인 입력
-- OJBC14.jar 파일 C:..\apache-tomcat-5.5.25\common\lib에 저장
=============================================================================================

시작 > 최근 문서 지우기

카테고리 없음 2009. 2. 9. 01:48 Posted by Request

실행에 regedit 입력하고

 HKEY_CURRENT_USER/software/Microsoft/Windows/CurrentVersion/Policies/Explorer
오른쪽 마우스 등록 클릭!

DWORD값에서 NoRecentDocsMenu입력하고 값을 1로 입력

 


CVS - 금일 수업 내용

카테고리 없음 2009. 2. 6. 18:05 Posted by Request

=========================================================================
오류:java.sql.SQLException: 부적합한 열 이름
===>> 역시 오타 ㅜㅜ prameter values 확인
=========================================================================
CVS(Concurrent Versioning System) 소스 (변경관리)

 1.Repository configuration > add > type : Standard >
     location:C:/JAVA_DATA/CVSREP
     Description:/CVSREP          <=== '/' 필수 기재
     Default Repository 체크

 2.Server Settiongs
    Run as: 사용자계정
    Default domain : 컴퓨터 이름
    Temporary : C:\JAVA_DATA\CVSREP\TEMP

 3.Compatibillty Options
    CVSNT Clints
     Respond as... 체크
     Emulate ... 체크
    Non-CVSNT
     Respond as.. 체크
     Emulate ... 체크 확인

------------------------------------------------------------------------
4.도스창(콘솔창모드)

 SET CVSROOT=:pserver:@127.0.0.1:/cvsrep  //환경변수 path설정지정
 
set cvsroot // 설정 확인

cvs login << 로그인

5.CVS Password:  <<--- 오류발생.. 402오류

제어판 > 사용자계정 > 암호만들기 >
-------------------------------------------------------------------------
6.CVS passwd -r ca -a kkh1  << 계정 및 암호 새로 만들기

___________________________________________________________________________
이클립스 CVS 설정
 
 open perspective > CVS Repositories > new > Repository Location >

Host : ip주소(개인주소설정)
Repository path: /cvsrep

User : kkh1
password : kkh1   > 확인
========================================================================
CVS 이론
IMPORT Client -->Server (프로젝트 생성후 프로젝트 초기파일(설정,java,jsp)
을 CVS서버에 올리는 처음 한번만 시행 하는 작업)

team > share Project >
=======================================================================
CHECKOUT Server -->Client
new > Projects from CVS >
=======================================================================
import > team > share project > ..pathclass, add to.cvsignore

========================================================================
kkh3
check  out
new > checkout from cvs > create ... >  211.183.3.221 /CVSREP kkh3 >
========================================================================
open perspective 창 클릭 > Team Synchronize > Synchronize(cvs) 아이콘 클릭


병합작업
1.commit
2.update
3.Merged -Make as Merged ( Synchronize 모드창에서만 변경 가능)

==========================================================================