PC

블로그 이미지

DAVID

160421: 28회차

Programming 2016. 4. 21. 13:00

종료하기 전 티스토리 네이버 로그아웃 할 것


1. 툴

동일

추가시: 


2. 폴더

동일

추가시:


3. 사용할 사이트

동일

추가시:


4. 공부하는 것


dynamic web project 생성함 - jsp_member

근데 이거 강제로 붙여넣기 말고 import 하는 법이 있던데

그거 써치해보기!


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

sql문에서


primary key랑 unique

1)                2)


중복은 1) 2) 둘 다 불가능

index는 1) 만 가지고 있다


그래서 primary key가 검색 속도가 빠르당.


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



파일 업로드


1. client 처리

: 파일 선택후 서버로 보낸다.


<form>

1) method가 반드시 "post" 여야 한다

2) enctype = "multipart/form-data" 를 선언 해줘야 한다.



2. server 

: client가 보낸 파일을 참조할 수 있는

외부 lib가 필요하다. (다운로드) 

//내가 요즘 쓰는 것 중에서 lib는 ㅁㅁㅁ.jar 파일을 뜻함


: <form>에서 모집한 client가 보내는 

parameter값을 받기 위한 BEANS가 필요하다.






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



[27][Member] 파일 업로드(jakarta FileUpload API), UploadSaveManager.java

[01] 전송된 File 저장(jakarta FileUpload API, 파일 업로드) 

     - 파일 전송 원리 
       파일 -> Web Browser -> 전송 -> Tomcat -> 디스크에 저장 
                                                --------------------- 
                                                cos.jar 
                                                smartupload.jar 
                                                commons-fileupload-1.3.jar(commons-io-2.4.jar, 공공 기관) 


   - http://commons.apache.org/fileupload/ -> commons-fileupload-1.3-bin.zip 
   - http://commons.apache.org/io/         -> commons-io-2.4-bin.zip 



먼저


http://archive.apache.org/dist/commons/fileupload/binaries/ 여기서

[   ] commons-fileupload-1.3-bin.zip           2013-03-27 16:54  840K 

이걸 다운받는다.


http://commons.apache.org/proper/commons-io/download_io.cgi

요기서도

commons-io-2.4-bin.zipmd5pgp

이거 다운받는다.


이게 뭐냐면 


: client가 보낸 파일을 참조할 수 있는

외부 lib가 필요하다. (다운로드) 


다운받는 중임





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


enctype="multipart/form-data"

이거 쓸 때는 파라메터 값을 받을 빈즈가 없으면 null값나옴




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

//업로드/다운로드 관련 폴더 정의 
//---------------------------------------------------------------------------------- 
//파일 업로드/다운로드 폴더 
String upDir = "/test/storage"; 
String downDir = "/test/storage"; 
 

파일이 임시 경로에 있다가 -> 실제 폴더로 가기 때문에

임시 폴더명을 지정해줘야함


업로드 안할거면 request로 써도 되는데


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

<%@ page import = "utility.*" %>

<% 

request.setCharacterEncoding("utf-8"); 

String upDir = "/test/storage"; //실제 파일이 업로드될 경로

String tempDir = "/test/temp"; //임시경로



UploadSave upload = new UploadSave(request, -1, -1, tempDir);



 

//폼의 값을 가져옵니다. 

String title = UploadSave.encode(upload.getParameter("title")); 

String content = UploadSave.encode(upload.getParameter("content")); 

String etc = UploadSave.encode(upload.getParameter("etc")); 

%> 

 

<!DOCTYPE html> 

<html> 

<head> 

<meta charset="UTF-8" /> 

<title>등록 처리</title> 

<style type="text/css"> 

*{ 

  font-family: gulim; 

  font-size: 20px; 

} 

</style> 

<link href='../css/style.css' rel='Stylesheet' type='text/css'>

</head> 

 

<body> 

<DIV CLASS='content'> 

  <% 

  out.println("title: " + title); 

  out.println("content: " + content); 

  out.println("etc: " + etc); 

%> 

 

</DIV> 

 

</body> 

</html> 

 


안 그러면 이런 거 해야함...

enctype="multipart/form-data"> 


으으 이거...!!



String upDir = application.getRealPath("/test/storage"); //실제 파일이 업로드될 경로


application.getRealPath를 해야 실제 경로를 찾아서 들어감







workspace.zip






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


출처: http://lanian.tistory.com/entry/Document-%EA%B0%9D%EC%B2%B4-JavaScript


Document 객체 JavaScript

from 분류없음
document객체는 브라우저에서 보여주는 문서에 관련된 정보에 접근할때 사용되고 자바

스크립트를 이용하여 브라우저에 출력할 때에도 사용된다.

document에는 문자열, 이미지, 폼, 링크 등 모든 페이지 상위 객체가 포함된다.

상위 객체는 window(Frame), 하위 객체에는 Applet, Area, Anchor, Link, Image, Form

등이 있다.

 

▷ 메 소 드

   ★ 공통

      * clear                : document의 내용을 삭제한다.

      * close               : open으로 시작한 document의 출력을 종료한다.

      * open               : document의 출력을 시작.

      * write               : document에 문자열을 출력한다.

      * writeln            : document에 문자열을 출력(줄바꿈 포함)한다.

 

   ★ 넷스케이브

      * getSelection    : 선택된 문자열을 반환한다.    

      * routeEvent      : 발생한 이벤트를 삭제하지 않고서 원래 상태로 되돌린다.

      * captureEvents : 특정 이벤트를 취득한다.

      * handleEvent    : 특정 이벤트 핸들러를 호출한다.

      * releaseEvents  : 특정 이벤트를 개방한다.

                                    (captureEvents로 지정한 이벤트를 개방한다.)

 

 

▷ 속  성

      * alinkColor        : 불러오는 중인 링크의 문자색을 설정.

      * bgColor           : 배경색을 설정.

      * cookie             : 쿠키 데이터.

      * domain            : 현재 문서가 포함된 도메인 이름으로 표시.

      * fgColor            : 글자색을 설정.

      * forms               : 문서에 있는 모든 입력양식 정보를 배열로 놓아놓은 변수.

      * LastModified    : 최종수정일.

      * linkColor          : 링크의 글자색을 참조 설정.

      * links                : 문서에 있는 모든 링크 객체들을 모아 놓은 배열.

      * location           : document의 URL을 설정 또는 참조한다.

      * referrer           : 이동하려는 페이지의 URL을 참조한다.

      * title                 : 페이지 제목.

      * URL                 : document의 페이지의 URL.

      * vlinkColor        : 방문한 적이 있는 링크의 글자색을 설정.

      * applets            : document에 있는 모든 애플릿 객체들을 모아놓은 배열

      * embeds           : document에 있는 모든 플러그인 객체들을 모아놓은 배열

      * images            : document에 있는 모든 이미지 객체들을 모아놓은 배열

 

 

▷ 이벤트 핸들러

      * onClick                : 버튼이나 링크, 도큐먼트, 윈도우를 클릭될때 발생.

      * ondblclick           : 버튼이나 링크, 도큐먼트, 윈도우를 더블클릭될 때 발생.

      * onkeydown        : 키를 눌렸을 때 발생.

      * onkeypress        : 키를 눌렀을 때 발생.

      * onkeyup             : 키를 눌렀다가 놓았을 때 발생.

      * onmousedown   : 마우스 버튼이 눌러질 때 발생.

      * onmouseseup   : 마우스 포인터가 벗어날 때 발생.


출처: http://html5ref.clearboth.org/doku.php?id=html5:attribute:enctype

enctype 속성

  • formenctype 속성
  • form 요소

정의

enctype 속성은 폼을 전송할때 사용할 인코딩 방법을 지정합니다.

속성 값

키워드설명
application/x-www-form-urlencoded(기본값) 모든 문자를 인코딩 합니다.
multipart/form-data어떠한 문자 인코딩도 하지 않습니다. 주로 파일 업로드 컨트롤을 제공하는 경우 사용합니다.
text/plain공백이 + 문자로 변환되며 특수 문자를 인코딩 하지 않습니다.

예제

<form enctype="키워드">
...
</form>



출처: http://runtoyourdream.tistory.com/211


 [자바스크립트]부모의 부모창을 컨트롤 하기 위해서... 
컴퓨터 자료실 | 2006/04/27 11:35 guriguriForever|icorea77

메인창에서 팝업화면을 호출 후 팝업창에서 또 다시 새로운 팝업창을 호출하였다. 
예시) 메인화면 --> 팝업1 --> 팝업2 

이때 팝업2 에서 메인화면을 컨트롤 하고자 하는 경우 parent 또는 opener..... 를 사용하게 되는데 
이렇게 될경우 팝업2 에서는 팝업1 을 인식하고 있으므로 script 오류가 발생하게 된다. 
parent는 iframe 또는 frame 구조를 사용시에 이용되고 opener. 은 팝업화면에서 부모창에 대한컨트롤시 사용된다. 
때문에 부모의 부모창을 컨트롤 하기 위해서는 

opener.opener. 이렇게 두번 사용하게되면 메인화면 에 대한 컨트롤이 가능하다. 

예를들어 

예시 :: 메인화면 --> 팝업1 --> 팝업2 

function goList(seq, name, date) { 
  opener.form1.elements["seq"].value = seq; 
  opener.form1.elements["name"].value = name; 
  opener.form1.elements["date"].value = date; 
  window.close(); 
} 

이렇게 사용할 경우 팝업2는 팝업1 에 대해 컨트롤을 하는것으로 인식하므로 스크립트 에러가 발생한다. 

팝업2 에서 메인화면으로 데이터전송 또는 컨트롤을 위해서는 

function goList(seq, name, date) { 
  opener.opener.form1.elements["seq"].value = seq; 
  opener.opener.form1.elements["name"].value = name; 
  opener.opener.form1.elements["date"].value = date; 
  window.close();            //현재화면(팝업2) 닫음 
  opener.window.close(); //팝업1 닫음 
} 

위와같이 스크립트를 사용할 경우 팝업2 에서는 메인화면에 대한 화면컨트롤이 가능하며 팝업1 과 팝업2는 스크립트가 실행되면서 자동으로 닫히게 된다. 만약 팝업화면을 닫고 싶지 않을 경우에는 window.close(); 이 부분을 주석처리하면된다. 

할수록 어려운게 자바스크립트네 쩝~~




5. 수업

진도: 

hw: 


6. 할것


왜인지 4만 쓰는 느낌이니까 템플릿 좀 수정할까

그리고 목요일! 금요일!


내일 점검한다거 마루타1 2 3이 다 우리조입니다


넘슬프다



'Programming' 카테고리의 다른 글

160425: 30회차  (0) 2016.04.25
160422: 29회차  (0) 2016.04.22
160420: 27회차  (0) 2016.04.20
160419: 26회차  (2) 2016.04.19
160418: 25회차  (0) 2016.04.18
Posted by DAVID
블로그 이미지

by DAVID

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

글 보관함

«   2025/07   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

링크

카테고리

PC (112)
Programming (109)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
DAVID's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

PC

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • PC (112)
    • Programming (109)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바