웹 & 프레임워크 168

spring을 이용한 파일 업로드

파일업로드를 하기 위해서는 http://commons.apache.org 에 올려져있는 FileUpload, IO두개의 라이브러리를 받으면 된다. (기본으로 들어있지 않기 때문에..) 다른 버전도 있으므로 확인해서 받는게 좋다 밑에건 압축을 푼 버전이다. 이 라이브러리를 WEB-INF/lib 안에 고이 넣어준다. 주의할점은, hibernate-validator-5.0.0.CR2.jar / validation-api-1.0.0.GA.jar 는 오류가 날수 있으니 빼준다. 폼의 형식은 다음과같이 멀티파트로 하고, input요소는 file로 한다. 이렇게 하고, 스프링 - 컨트롤러에 가서는 매개변수를 MultipartFile image 이런식으로, 매개변수형식과 이름을 맞춰준다. 그리고 자바에서 다음과 같이 ..

imagecreatefrom 메서드 관련 오류, gd extenstion

imagecreatefromjpeg등의 함수는, php-extension에서 지원한다.이는 대부분 php/ext 에 dll형태로 들어있는데 확인된 최신버전인 php 5.5에서는 이 그림파일에 대한 메서드는php_gd2.dll이라는 이름으로 저장되어있다. 기본 php폴더에 php.ini라는 이름으로 configuration이 저장되어있는데, 이것이 종종 (none)으로 설정되어있는경우가 있다.이는 php.ini파일이 존재하지 않고, php-ini-production 과 development밖에 존재하지 않아서 php.ini를 만들어줘야하는 경우가 있다.둘중 아무거나 뒤에 접미사를 풀어주고 다시한번 cmd에 php --ini를 쳐서 경로를 확인해준다. 깔끔하게 php.ini를 바꾸면, 웹서버를 리붓시키거나,..

ResultSetExtractor 사용예제

하나의 테이블에 대한 SELECT가아닌, JOIN을 통한 SELECT문이거나, 레코드가 여러개 나오거나한다면 RowMapper나 BeanPropertyRowMapper보다 ResultSetExtrator가 나을수있다. 또한 queryForObject는 결과가 무조건 하나가 나와야하고 나오지않으면 예외를 던지기 때문에 또한 대안이 될수있다. (사실 예외처리는 성능저하를 불러오는 이유중 하나이기도 하다) 익명 inner클래스는 이름이 없기때문에 선언하는 자리에 new와 같이온다. new 상위클래스 또는 인터페이스 이름(){ 메서드구현 } public List getAllEmployees(){ return template.query("select * from employee",new ResultSetExtra..

PHP-mysql quotation (작은따옴표) 유의

mysql, php연동시에는 보통의 프로그램처럼 신택스 에러나, 여러 문법오류들이 바로바로 코딩하는 상황에서 체크할수가 없다. 오류가 있는 구문이라면 어차피 실행을 안시켜버리는 구조이기 때문이다. 자바를 개발할때 뜨는 각종예외부터 해서 시도때도없이 뜨는빨간줄은 정말 친절한것이다. php를 개발하면 쉼표 하나하나에도 장인의 혼을 불어넣어 세세하게 개발해야하는데 mysql_query("insert into A(a,b) values ('$a','$b');"); 어디에는 저 인용구가 붙어있고 안붙어있고, 어떠한 곳에는 따옴표나 인용표나 그냥 잘들어가는 곳이 있는가 한편 저 values다음 구문의 인용표(?) ' 는 잘 구분해서 넣어줘야지 아니면 디비가 작동을 하지 않는다 [출처] mysql 과 php연동시 주의..