
Struts를 사용하여 파일 업로드, 다운로드 및 삭제하는 방법을 알아볼 것이다. 클래스 파일부터 xml파일까지 다양하다보니 확장자 명을 체크하어 차례대로 코딩에 대해 알아보자. write.jsp 파일을 업로드할 수 있는 입력창을 먼저 만들어 보겠다. enctype : 파일을 업로드하기 위해 "multipart/form-data"로 입력해줘야 한다. 파일의 input은 타입을 file로 해줘야 한다. '파일 업로드' 버튼을 누를 경우 submit이 되면서 hidden의 값인 method도 포함되어 넘어간다. FileTestForm.java 사용할 변수들을 선언해준다. public class FileTestForm extends ActionForm{ private int num; private String..

Mybatis를 들어가기에 앞서 iBatis에 대해 알아보려고 한다. 지난 struts 세팅에 이어 iBatis 세팅을 해볼 것이다. 총 4개의 파일로 이루어 진다. sqlMapConfig.xml cacheModelsEnabled : 캐시 사용 여부 useStatementNamespaces : namespace 사용 여부 transactionManager에서는 오토커밋을 안하며 type은 SIMPLE로 단일 데이터 베이스를 사용하겠다는 의미이다. 그 외에 각자 JDBC 계정에 맞게 입력해주면 된다. resource에는 사용할 맵 xml을 입력한다. 이제 입력한 text를 object로, 즉 위의 xml을 객체화 시키는 작업이 필요하다. 따라서 아래의 코딩을 입력해준다. SqlMapConfig.java p..

오늘은 Struts에 대해 설명하겠다. Struts1을 배우고 이후에 Struts2까지 배울 예정이다. Struts 셋팅 다운로드 먼저 하단의 사이트에서 struts-1.3.10-all 파일을 다운받아준다. https://struts.apache.org/download.cgi#struts2529 Download a Release struts.apache.org 다이나믹웹프로젝트에서 파일명을 Struts로 하여 만들어주고 WebContent 속에 WEB-INF를 만들은 후 알집의 내용을 폴더 내 lib(라이브러리)로 넣어준다. XML 파일 WEB-INF 파일에는 이렇게 총 3개의 파일을 만들 예정이다. struts-config.xml 공용적인 파일 세팅이다. 전체 파일에 대한 것이며 각각의 프로젝트에 대한..

DB를 연결하는 방법은 크게 3단계가 있다. 1. DriverManager가 Connection을 생성한다. 2. Connection이 Statement를 생성한다. 3. Statement가 query를 실행한다. 순서에 따라 실행 과정을 살펴보자. Connection 연결 private static Connection dbConn; public static Connection getConnection() { if(dbConn==null) { try { String url = "jdbc:oracle:thin:@localhost:1521"; String user = "aa"; String pwd = "a123"; Class.forName("oracle.jdbc.driver.OracleDriver"); db..

EXCEPTION * 중복데이터 오류 컬럼에 중복데이터가 있을 때 EXCEPTION WHEN DUP_VAL_ON_INDEX THEN DBMS_OUTPUT.PUT_LINE('데이터 중복'); DUP_VAL_ON_INDEX 를 통해 처리한다. DUP_VAL은 DUPLICATE VALUE를 의미한다. (중복값) * 사용자 정의 에러 사용자가 에러를 설정할 수 있다. IF문에 따라 조건에 벗어날 경우 에러를 주는 상황이다. IS NOT_ENOUGH_PAY EXCEPTION; 먼저 EXCEPTION 선언은 테이블을 만들고 난 후 IS 문에 입력한다. ELSIF SW_REC.급여

PL/SQL은 주로 CMD창에서 다루었다. 프로시저 만들기 Declare로 시작한다면 이름없는 프로시저이며 CREATE OR REPLACE PROCEDURE는 데이터베이스에 저장되는 방법이다. 입력 시 오타 등의 수정사항이 발생한다면 'ED'를 검색하여 다시 수정할 수 있다. SERVEROUTPUT을 입력해야 결과가 잘 출력이 된다. 이름없는 프로시저 DECLARE --이름없는 PROCEDURE TYPE FIRSTTYPE IS RECORD --(A VARCHAR2, B VARCHAR2, C NUMBER); (A 사원.사원명%TYPE, B 사원.직급%TYPE, C 사원.급여%TYPE); CUS FIRSTTYPE; BEGIN SELECT 사원명,직급,급여 INTO CUS FROM 사원 WHERE 사원번호=2..

ROWNUM ROWNUM : 일련번호 중간에 데이터가 삭제되어도 자동으로 일련번호를 매긴다. --가장 최근에 입사한 7명의 사원의 이름과 입사날짜를 출력하시오 SELECT ROWNUM,PNAME,STARTDATE FROM (SELECT PNAME,STARTDATE FROM PERSONNEL ORDER BY STARTDATE DESC) WHERE ROWNUM

GRANT, REVOKE GRANT CREATE USER TO kim; REVOKE CREATE USER FROM kim; GRANT : USER 또는 OBJECT에 권한을 부여 REVOKE : USER 또는 OBJECT 권한을 회수 ex) 테이블을 만들기 위해서는 테이블을 만들 수 있는 권한을 가진 계정이어야 한다. 권한은 CMD창에서도 줄 수 있다. SYSTEM 권한 : DATABASE의 OBJECT들을 생성(CREATE),수정(ALTER),삭제(DROP)할 수 있는 권한 OBJECT 권한 : OBJECT 내용을 추가(INSERT),변경(UPDATE),삭제(DELETE),검색(SELECT)할 수 있는 권한 - OBJECT : TABLE,SEQUENCE,VIEW ROLE : 권한을 담고 있음 DICTI..

ddl(data difinition language) - create, alter, drop, rename - 테이블 복사 A테이블의 데이터를 새로운 B테이블에 '복사'할 수 있다. CREATE TABLE ANALYST (NUM,NAME,JOB,DNUM) AS SELECT PNO,PNAME,JOB,DNO FROM PERSONNEL WHERE JOB='ANALYST'; 기존의 PERSONNEL 테이블에서 WHERE조건을 통해 해당되는 값만 복사하여 ANALYST라는 테이블을 만들었다. CREATE TABLE을 통해 새로운 테이블을 만들며 AS 역시 'INSERT INTO'의 경우 기존에 있는 테이블에 넣기에 입력하지 않지만 지금은 새롭게 만드므로 입력한다. 컬럼명도 괄호 내에서 새롭게 임의로 입력할 수 있..