[Spring, JAVA] 파일 복사(FileChannel 이용)
·
FrameWork/Spring
방식은 이러합니다. SQL 쿼리문에서 파일정보를 가져옵니다. saveNm과 fileNm 매칭하여 리스트들을 불러와 FileChannel객체를 이용하여 파일을 카피합니다. 이 방법이 local파일 카피속도는 제일 빠르다.(제 생각..) filecopy 메소드에서 경로를 잘지정하고 DB에서 saveNm과 fileNm만 잘 가지고 오면된다. Controller.java @RequestMapping(value = "/fileDownloadY.do", method = RequestMethod.GET) public void filedownloadY(HttpServletRequest request, HttpServletResponse response , @RequestParam(value="approval", req..
[SPRING] ch04. 로그인
·
SKILL/Security
PwController.java package secure.ch04.ex01.controller; import java.util.regex.Matcher; import java.util.regex.Pattern; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; @Controller @RequestMapping("/ch04/ex01/pw"..
[SPRING] ch03. OS 명령어
·
SKILL/Security
package secure.ch03.ex01.controller; import java.io.IOException; import java.io.InputStream; import java.util.Scanner; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springfr..
[SPRING] ch02. SQL Injection - 방어
·
SKILL/Security
* 에러 페이지를 준비해서, DB 관련 오류 메세지가 브라우저에 노출되지 않도록 한다.a /WEB-INF/web.xml (수정) 500 /error MainController.java package secure.ch02.ex01.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; @Controller("ch02.ex01.mainController") public class MainController { @RequestMapping("/error") public String error(){ return "ch02/ex01/error"; ..
[SPRING] ch01.SQL Injection - 공격
·
SKILL/Security
* oracle DB 에 secure/secure 계정 생성. * 테이블 및 데이터 생성 create table users( user_id varchar2(10) primary key, user_pw varchar2(10), reg_date date); insert into users values('admin','admin',sysdate); insert into users values('user','user',sysdate); commit; * eclipse에 eGovFrame project 생성. * app 개발 pom.xml ... oracle Oracle JDBC repository http://maven.jahia.org/maven2 ... com.oracle ojdbc6 12.1.0.1 .....
DBMS별 데이터 랜덤 셀렉트
·
DB
MySQL: SELECT column FROM table ORDER BY RAND() LIMIT 1 PostgreSQL: SELECT column FROM table ORDER BY RANDOM() LIMIT 1 Microsoft SQL Server: SELECT TOP 1 column FROM table ORDER BY NEWID() IBM DB2: SELECT column FROM table ORDER BY RAND() FETCH FIRST 1 ROWS ONLY Oracle: SELECT column FROM ( SELECT column FROM table ORDER BY dbms_random.value ) WHERE rownum = 1 OR select hotel_number from( select..
[SPRING] FTP서버의 이미지 프리뷰
·
FrameWork/Spring
MAPPER에서 DB 받아서 [CONTROLLER] @RequestMapping(value="/imgPreview") public void preview(HttpServletResponse response, long id) throws Exception { Map map= new HashMap(); map.put("id", id); Map commonFile= commonService.selectFile(map); if (commonFile == null) return; MediaType mediaType = null; String imagePath = ""; switch ((String)commonFile.get("EXTENSION")) { case "JPEG": case "JPG": mediaType..
[JQuery] [ajax] 05. ajax
·
JS/JQuery
05_ajax.html
[JQuery] [ajax] 04. ajaxMethod
·
JS/JavaScript
04_ajaxMethod.html
[JQuery] 03. getJson
·
JS/JQuery
03_getJson.html 각 영역에 맞는 값을 추가시켜 주세요. 과일이름 가격 유통기한 원산지 사과 딸기 귤 파인애플 03_getJson.js $.get('data/data.json', function(data){ var fruits = data.fruits; var table = $('#fruits_data'); for(var i in fruits){ var fruit = fruits[i]; var cnt = 0; for(var prop in fruit){ var text = fruit[prop]; var tr = table.find('tr').eq(parseInt(i)+1); var td = tr.find('> td').eq(cnt++); td.text(text); } } }, 'json');
[JQuery] 02. getXml
·
JS/JQuery
02_getXml.html 각 영역에 맞는 값을 추가시켜 주세요. 과일이름 가격 유통기한 원산지 사과 딸기 귤 파인애플 02_getXml.js $.get('data/data.xml', function(data){ var fruits = $(data).find('data>fruits'); var table = $('#fruits_data'); fruits.each(function(i){ var fruit = $(this); fruit.children().each(function(j){ var text = $(this).text(); var tr = table.find('tr').eq(i+1); var td = tr.find('> td').eq(j+1); td.text(text); }); }); },'xml..
[JQuery] 01. load
·
JS/JQuery
AJAX 강의를 시작하기 이전에 위와 같이 패키지 구성을 해주세요. 파일은 아래 4개의 파일입니다. 01_load.html 이 곳에 data/sub.html 파일의 HTML콘텐츠를 삽입해 주세요. 01_load.js $(function(){ var container = $('#container'); container.load('data/sub.html #wrapper'); });