본문 바로가기

Programming/Spring

[Spring] 게시판 파일 업로드, 다운로드 게시판 파일 업로드, 다운로드 먼저 jsp 단에서 form은 enctype="multipart/form-data" 형식으로 파일을 보낸다. Controller 파일 업로드DB에 파일명과 경로를 가지는 필드가 필요하다.private String image_path;private String image_name;private String attach_path;private String attach_name;@RequestMapping(value="/admin/notice/edit", method = RequestMethod.POST)public String edit(HttpServletRequest request, HttpServletResponse response, @RequestParam HashMap .. 더보기
[Spring] Interceptor 설정 Interceptor 설정 Spring MVC를 사용하다가 보면 Interceptor와 마주치게된다.Controller에서 공통적이나 특정 패키지들에 대해 선,후 처리가 필요하기 때문이다.이러한 부분에 대해 AOP로 구현하는 것이 문제가 되는 것은 아니나Controller 부분이라면 Interceptor로 구현하는 것을 권장한다고 한다. 우선 Interceptor는 처리에 따라 3가지로 구분되어져 있다.preHandle() : Controller가 수행되기 전 호출 (이후 Controller를 수행할지 여부를 boolean으로 return 함) postHandle() : Controller가 수행된 후 View를 호출하기 전 호출afterCompletion() : View 작업까지 완료한 후 호출(res.. 더보기
[Spring] SpringMVC 간단한 파일 업로드 SpringMVC 간단한 파일 업로드 1. JSP / HTML Tag 설정 2. Context 환경설정102400000 3. Controller@RequestMapping(value = "/insert", method = RequestMethod.POST)public String insert(MultipartHttpServletRequest request, ModelMap model){Map files = request.getFileMap();CommonsMultipartFile cmf = (CommonsMultipartFile) files.get("uploadFile");// 경로String path ="c:/uploadTest/"+cmf.getOriginalFilename(); File file = .. 더보기
[Spring] Spring Ajax를 이용한 file upload spring Ajax를 이용한 file upload 기본적으로 Spring MVC를 이용하는 경우, multipart encrypt를 이용해서 form submit으로 file을 upload하는 것이 일반적입니다. 한번 javascript만을 이용한 file upload를 해보도록 하겠습니다.먼저, MultipartResolver를 사용하기 위해서 apache common fileupload를 추가해야지 됩니다. compile 'commons-fileupload:commons-fileupload:1.3.1' Spring Configuration에 MultipartResolver를 추가합니다. @Bean(name = "multipartResolver") public MultipartResolver mult.. 더보기
[Spring] REST API 구성시 Spring Security 구현 REST API 구성시 spring security 구현 예전 spring security 예제를 만들어 보던중 정말 어려웠었는데.. 내가 제대로 해본적은 없지만여러 프로젝트를 하면서 spring security는 접해보았기 때문에 나중에 도움이 될 것 같기에 퍼오게 되었다.. Spring Security를 이용한 REST API를 만들때, 일반적인 Spring Security를 이용하는 경우에는 다Login 성공 또는 실패시에 모두 302번 Redirect가 발생하게 됩니다. 또한 인증되지 않은 사용자가 API에 접근한 경우에도 마찬가지로 302번 Redirect로 Login Page로 이동하게 되는데, 이는 REST API 개발시에는 원하지 않는 결과입니다.먼저, 개발할 API 서버는 Form 인증을.. 더보기
[Spring] 시대착오적인 설정 파일 *.properties를 버리자 시대착오적인 설정 파일 *.properties를 버리자 Eclipse의 파일 Lock 문제를 찾으면서 처음에는 Properties Editor Plugin을 원망했다. 게다가 대체품으로 선택한 Eclipse-RBE는 다소 불편한 인터페이스에 자꾸 NullPointerException을 떨궈서 사람 짜증나게 만들기 까지. 하지만 그러다가 곧 생각이 바뀌어 버렸다. 진짜 문제는 우리가 설정 파일로 시대착오적인 *.properties를 사용하고 있다는 그 사실이다. 자바의 *.proerties 파일은 텍스트 파일을 가장한 바이너리 파일이라고 보면 된다. 특수한 편집기나 변환기가 없으면 비영문권 사용자에게는 결코 텍스트 파일로써 다뤄질 수 없는 설정 파일 형식이다. 이런 것을 사용하면서 이를 편집하게 도와주는 .. 더보기
[Spring] util:properties, properties.xml 사용하기 util:properties, properties.xml 사용하기 1. xml에 정보 설정common_code 200400 2. dispatcher-servlet.xml 에 다음과 같은 내용을 추가. util:properties를 사용하기 위해서 선언해주고, util:properties로 properties.xml을 등록한다. 프로퍼티 파일의 설정값을 가져오기 위해 기존에 있던 xml 네임스페이스와 스키마에서 util을 추가. 3. SpEL을 이용해서 Java에서 사용하는 방법@Value("#{code['code.response.error']}") private String CODE_RESPONSE_ERROR; 4. applicationContext.xml과 같은 *.xml에서 사용하는 방법 5. JSP.. 더보기
[Spring] spring기반 web.xml 설정 web.xml web.xml은 Deployment Descriptor(배포 서술자) 라고도 하며 tomcat의 DD는 web.xml로 환경설정 부분을 담당한다. Deployment Descriptor?배포 서술자(DD, Deployment Descriptor) 는 Java EE 스펙으로 웹 애플리케이션의 기본적인 설정을 위해 작성하는 파일로, 보통은 WEB-INF/web.xml 파일을 말한다.배포 서술자는 web.xml 이외에도 EJB를 위한 ejb-jar.xml, 웹서비스를 위한 webservices.xml 등이 있으며, JSP와 서블릿만으로 구성된 경우에는 web.xml 파일만 사용하면 된다고 한다. web.xml(DD)의 이점?1. 작성한 소스코드를 수정하지 않고도 웹 어플리케이션을 '커스터마이징'.. 더보기
[Spring] spring AOP Pointcut 표현식 Pointcut 표현식 execution(①수식어패턴? ②리턴타입패턴 ③패키지패턴?이름패턴(④파라미터패턴) ① 수식어패턴 부분은 생략 가능한 부분으로서 public, protected 등이 온다.②리턴타입패턴 부분은 리턴 타입을 명시한다.③클래스이름패턴 과 이름패턴 부분은 매칭될 파라미터에 대해서 명시한다.④파라미터패턴 부분은 매칭될 파라미터에 대해서 명시한다. 각 패턴은 '*' 을 이용하여 모든 값을 표현할 수 있다. 또한 '..'을 이용하여 0개 이상이라는 의미를 표현할 수 있다. ex ) public * com.project.abcd.service.mgr..*.*(..)리턴 타입이 모든 것이고, com.project.abcd.service.mgr 패키지 및 하위 패키지에 있는파라미터가 0개 이상인 .. 더보기