@Controller
public class
@GetMapping("")
public String controllerParams(HttpServletRequest request,
HttpServletResponse response
, HttpSession session) {
}
HttpServletRequest: HTTP 요청 정보를 다루는 객체로, 클라이언트로부터 받은 요청에 대한 정보를 읽고 조작할 수 있습니다.
HttpServletResponse: HTTP 응답 정보를 다루는 객체로, 서버에서 클라이언트로 응답을 보낼 때 사용됩니다.
HttpSession: 클라이언트와 서버 간의 세션 관리를 위한 객체로, 세션 데이터를 저장하고 검색하는 데 사용됩니다
@GetMapping("")
public String controllerParams(WebRequest webRequest
, Locale locale
, InputStream is
, Reader reader
, OutputStream os
, Writer writer) {
locale.getCountry();
locale.getLanguage();
is.read();
}
WebRequest: Spring에서 제공하는 인터페이스로, HTTP 요청 및 응답을 다루는 데 사용됩니다.
Locale: 지역 및 언어 정보를 관리하는 객체로, 다국어 지원 기능에서 사용됩니다.
Reader, InputStream, OutputStream, Writer: 데이터의 입출력을 위한 스트림을 다루는 객체로, 파일 업로드 및 다른 I/O 작업에 사용됩니다.
@RequestMapping("")
public String controllerParams(@PathVariable("name") String name
, @RequestParam("name") String name1
, @RequestParam(value="name", required=false, defaultValue="디폴트") String name2
, @RequestParam String name3 // 메서드 파라미터의 이름과 요청파라미터가 같다면 ("name") 생략가능
, String name4 // 메서드 파라미터의 이름과 요청파라미터가 같고 String, int등 단순한 타입의 경우 @RequestParam 생략가능
, @RequestParam Map<String, String> params) {
}
@PathVariable("name"): URL 경로 변수를 추출하기 위한 어노테이션으로, 경로에서 변수 값을 추출합니다.
(RequestMapping과 함께 사용됩니다.)
@RequestParam("name"): HTTP 요청 파라미터를 추출하기 위한 어노테이션으로, 요청 파라미터의 값을 추출합니다.
(name 파라메터가 없으면 400 오류 발생)
@RequestParam: 메서드 파라메터의 이름과 요청파라메터의 이름이 같다면 ("name")은 생략가능하다
(메서드 파라메터의 이름과 요청파라메터가 같고 String, int 등 단순한 타입의 경우 @RequestParam 생략 가능
@RequestParam(value="name", required=false, defaultValue="디폴트"): 요청 파라미터의 값을 추출하며, 필수 여부와 기본값을 설정할 수 있습니다.
@RequestParam Map<String, String>: 모든 요청 파라미터를 Map으로 수집합니다.
@GetMapping("")
public String controllerParams(@CookieValue("cookieName") String cookieName
, @CookieValue(value="cookieName", required=false, defaultValue="test") String cookieName1
, @RequestHeader("Host") String host // 값없으면 404 오류 발생
, @RequestHeader("Keep-Alive") long keepAlive) {
}
@CookieValue("cookieName"): 쿠키 값을 추출하기 위한 어노테이션으로, 쿠키의 값을 추출합니다.
(속성값이 없으면 404 오류 발생)
@CookieValue(value="cookieName", required=false, defaultValue="test"): 쿠키 값을 추출하며, 필수 여부와 기본값을 설정할 수 있습니다.
@RequestHeader(): HTTP 요청 헤더 값을 추출하기 위한 어노테이션으로, 헤더의 값을 추출합니다.
@GetMapping("")
public String controllerParams(ModelMap model
, Model model2
, Map map ) {
}
ModelMap, Model, Map: 뷰에 데이터를 전달하기 위한 모델 객체로, 뷰에서 사용할 데이터를 저장합니다.
@GetMapping("")
public String controllerParams(@ModelAttribute User userModel
, @ModelAttribute("xxUser") User userModel2
, @ModelAttribute User userModel3, BindingResult bindingResult
, @ModelAttribute User userModel4, Errors errors) {
}
@ModelAttribute: 모델에 데이터를 바인딩하고 뷰에 전달하기 위한 어노테이션으로, 커맨드 객체를 생성하고 데이터를 바인딩합니다.
Errors, BindingResult: 데이터 바인딩 및 유효성 검사 결과를 저장하는 객체로, 데이터 바인딩 중 발생한 오류 정보를 관리합니다.
@GetMapping("")
public String controllerParams(SessionStatus sessionStatus) {
sessionStatus.setComplete();
sessionStatus.isComplete();
}
SessionStatus: 세션 상태를 관리하는 객체로, 세션을 완료하거나 초기화하는 데 사용됩니다.
@GetMapping("")
public String controllerParams(@RequestBody String body) {
}
@RequestBody: HTTP 요청 본문의 내용을 추출하기 위한 어노테이션으로, JSON 또는 XML과 같은 데이터를 읽어옵니다.
@GetMapping("")
public String controllerParams(@Value("#{commonprop['os.name']}") String osName ) {
}
@Value("#{commonprop['os.name']}") String osName: SpEL (Spring Expression Language)을 사용하여 프로퍼티 값을 주입하는 어노테이션으로, 외부 설정 파일에서 값을 가져올 때 사용됩니다.
'Java > Spring Boot' 카테고리의 다른 글
JSTL coreTag (0) | 2023.09.13 |
---|---|
Spring CustomTag SPEL(Spring Expression Language) (0) | 2023.09.13 |
Spring Boot DataSource 설정 (0) | 2023.09.13 |
Java WebAppInitConfig (0) | 2023.09.13 |
Spring Boot Request Controller (0) | 2023.09.13 |