160421: 28회차
종료하기 전 티스토리 네이버 로그아웃 할 것
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가 필요하다.
---------------------------------------------------------------------------
- 파일 전송 원리
파일 -> 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
요기서도
이거 다운받는다.
이게 뭐냐면
: client가 보낸 파일을 참조할 수 있는
외부 lib가 필요하다. (다운로드)
다운받는 중임
-----------------------------
enctype="multipart/form-data"
이거 쓸 때는 파라메터 값을 받을 빈즈가 없으면 null값나옴
파일이 임시 경로에 있다가 -> 실제 폴더로 가기 때문에
임시 폴더명을 지정해줘야함
업로드 안할거면 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"); //실제 파일이 업로드될 경로
-------------------------------------------
출처: http://lanian.tistory.com/entry/Document-%EA%B0%9D%EC%B2%B4-JavaScript
출처: http://html5ref.clearboth.org/doku.php?id=html5:attribute:enctype
enctype 속성
정의
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 | |
|
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 |