『 파일 다운로드(ResponseEntity사용)

​<소스코드>

​@Controller
public class DownloadController {
   
    // ResponseEntity를 사용하는 경우
    @RequestMapping(value="/downloadFile2", method = {RequestMethod.GET} )
    public ResponseEntity<String> downloadFile2() throws IOException {
       
        // HTTP헤더 지정
        HttpHeaders headers = new HttpHeaders();
        headers.setContentType(new MediaType("application", "octet-stream"));
        headers.set("Content-Disposition", String.format("filename=\"%s\"", "sample.txt"));
       
        String data = "HelloWorld!";
        return new ResponseEntity<String>(data, headers, HttpStatus.OK);
       
    }
}



 

 

 


 

 

 

 

 



『 파일 다운로드(HttpServletResponse사용)

<소스코드>

​@Controller
public class DownloadController {
   
    // HttpServletResponse를 사용하는 경우
    @RequestMapping(value="/downloadFile1", method = {RequestMethod.GET} )
    public void downloadFile1(HttpServletResponse response) throws IOException {
       
        // HTTP 헤더 지정
        response.setContentType("application/octet-stream");
        response.setHeader("Content-Disposition", String.format("filename=\"%s\"", "sample.txt"));
       
        PrintWriter writer = response.getWriter();
        writer.append("HelloWorld");
    }
}

 

 

 

 

 


 


Form으로부터 값을 받아,

세션에 저장하는 경우 



<소스코드>


@Controller
public class SampleController {
 
    @RequestMapping(value="/sample", method={RequestMethod.POST})
    public ModelAndView sample(WebRequest request, @ModelAttribute LoginCommand command, BindingResult bindingResult) {
        // 바인드시 에러처리
        if(bindingResult.hasErrors()) {
            ・・・생략
        }
        // 세션에 데이터 저장
        request.setAttribute("loginUser", "hogehoge", RequestAttributes.SCOPE_SESSION);
       
        ModelAndView mav = new ModelAndView("/toView");
        return mav;
    }
}



 

 

 

 

 

 

 

 


『 Form으로부터 값을 받는 경우

​<소스코드>

​@Controller
public class SampleController {
 
    @RequestMapping(value="/sample", method={RequestMethod.POST})
    public ModelAndView sample(@ModelAttribute LoginCommand command, BindingResult bindingResult) {
       
        // 바인드시 에러처리
        if(bindingResult.hasErrors()) {
           ・・・생략
        }
        ModelAndView mav = new ModelAndView("/toView");
        return mav;
    }
}


 

 

 

 

 

 

 

 


<단순 View(Jsp)로 이동하는 경우>

<소스코드>


​@Controller
public class SampleController {
 
    @RequestMapping("/sample")
    public String sample() {
       
        return "/toView";
    }
}

 

 

 

 

 

 

 



<컨트롤러 리턴값 정리>

 

 

 

 



<컨트롤러 인수정리>




 

 


오라클공부 6

Oracle 10g의 의미

 

-oracle 7.2버전->oracle8i->oracle9i->oracle10g

왜 9i에서 10g로 변했을까?

 

-oracle10g의 약자는 g는 Grid의 약자로 실제 '격자'라는 의미이다.

즉 엑셀과 같은 화면 2차원 표 형태로 나타내는 화면인데, 여기서 말하는 그리드는 이런 뜻이 아닌 'Grid Computing'이란 뜻이다.

 

-그리드 컴퓨팅이란 위치상으로 분리되어 있지만 원거리 통신망을 이용하여 여러대의 컴퓨터를 가상화 시켜 하나의 대용량 고성능 서버인 것처럼 만들어 연산을 수행하는 기술을 말한다.

 

-왜 좋을까?

하나의 대용량 서버로 나타냈지만 여러대의 물리적 서버를 하나의 논리적 서버처럼 이용할 수 있기에 성능의 과부하를 줄이고 다운타임의 최소화 및 엄청난 성능을 만들어 낸다.

 

 

+ Recent posts