파게로그
[Spring MVC] 문서 출력 방법 본문
1. Servlet 객체를 얻어서 문자열 출력
2. @ResponseBody 설정을 통한 문자열 출력
3. ResourceViewResolver를 이용한 문서 출력
+ TileViewResolver를 이용한 문서 출력 등등등...
Spring이 제공하는 FrontController를 통해서 요청이 들어오게 되는데,
이 때 annotation을 보고 메서드가 호출되게 된다.
그리고 그 메서드를 .invoke() 하는데,
이 때 메서드를 확인할 때 파라미터가 있고 FrontController가 제공할 수 있는 것이라면,
Front Controller가 가지고 있는 객체를 전달해준다.
즉 response에다가 출력해버리면 된다.
package com.ddoongi.web.controller;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Date;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.ddoongi.web.entity.Emp;
import com.ddoongi.web.service.EmpService;
@Controller
public class EmpController {
private EmpService empService;
@RequestMapping("/emp")
public String emp() throws ClassNotFoundException {
List<Emp> list = empService.getEmpList();
String name = list.get(2).getEname();
int empno = list.get(2).getEmpno();
Date hiredate = list.get(2).getHiredate();
System.out.println(name);
return "emp";
}
@RequestMapping("/emp2")
public void emp2(HttpServletResponse resp) throws ClassNotFoundException, IOException {
List<Emp> list = empService.getEmpList();
String name = list.get(2).getEname();
int empno = list.get(2).getEmpno();
Date hiredate = list.get(2).getHiredate();
PrintWriter out = resp.getWriter();
out.println(name);
out.println(empno);
out.println(hiredate);
}
// @Override
// public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
// ModelAndView mv = new ModelAndView("/emp");
// List<Emp> list = empService.getEmpList();
// String name = list.get(2).getEname();
// int empno = list.get(2).getEmpno();
// Date hiredate = list.get(2).getHiredate();
// mv.addObject("name", name);
// mv.addObject("empno", empno);
// mv.addObject("hiredate", hiredate);
// return mv;
// }
@Autowired
public void setEmpService(EmpService empService) {
this.empService = empService;
}
}
문자열 자체를 반환하고 싶다면? 아래와 같이 한다. @ResponseBody가 없을 때에는 ViewResolver가 해석해버릴 것.
@RequestMapping("/emp3")
@ResponseBody
public String emp3() {
return "Good Afternoon!";
}
'콤퓨타 왕기초 > Spring' 카테고리의 다른 글
[Spring MVC] Jackson.. 객체를 반환할 수 있도록 하기 (0) | 2021.05.02 |
---|---|
@RestController와 한글 깨짐 (0) | 2021.05.02 |
[Spring MVC] Annotation을 활용한 서비스 객체 DI 등 (0) | 2021.05.02 |
[Spring MVC] Spring 설정 파일 분리하기 (0) | 2021.05.01 |
[Spring MVC] 서비스 객체, Connection 분리하기 (0) | 2021.05.01 |
Comments