TIL 23.11.22

ν™©μ€ν•˜Β·2023λ…„ 11μ›” 22일
0

TIL

λͺ©λ‘ 보기
119/146

πŸ“ŒToday I Learned

Spring

DispatcherServlet

μŠ€ν”„λ§μ˜ beanλ“€ μ—°κ²°
web.xml

μ£Όμ†Œμ™€ λ˜‘κ°™μ΄ 생긴 bean νƒœκ·Έλ₯Ό μ°ΎλŠ”λ‹€.


파일 μΆ”κ°€

  • com.test.spring.controller > "Ex03Controller.java"
  • views > "ex03.jsp"

Controller에 μ–΄λ…Έν…Œμ΄μ…˜μ„ μ‚¬μš©ν•œλ‹€λ©΄ μš”μ²­ λ©”μ†Œλ“œλ₯Ό λ‚΄ λ§ˆμŒλŒ€λ‘œ μž‘μ„±ν•  수 μžˆλ‹€.
ν•˜μ§€λ§Œ 응닡할 λ©”μ†Œλ“œμž„μ„ μ•Œλ¦¬κΈ° μœ„ν•΄ @RequestMapping μ–΄λ…Έν…Œμ΄μ…˜μ„ λΆ™μ—¬μ€€λ‹€.


파일 μΆ”κ°€

  • com.test.spring.controller > "Ex04Controller.java"
  • views > "ex04.jsp"
  • views > "ex04_1.jsp"

package com.test.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping(value="/ex04.do")
public class Ex04Controller {
	
	@RequestMapping
	public String ex04() {
		
		return "ex04";
	}
}

컨트둀러 ν•˜λ‚˜μ— μ—¬λŸ¬ μ£Όμ†Œ μž‘μ„±ν•˜κΈ°λ₯Ό ꢌμž₯함.
@RequestMapping μ—¬λŸ¬κ°œ μ“°λ©΄ κ°€λŠ₯ν•˜λ‹€.

μ˜ˆμ‹œ)

package com.test.spring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class Ex04Controller {

	@RequestMapping(value="/ex04.do") //ꢌμž₯
	public String ex04() {

		return "ex04";
	}

	@RequestMapping("/ex04_1.do") //value= μƒλž΅ κ°€λŠ₯
	public String ex04_1() {

		return "ex04_1";
	}
}

=> @RequestMappig은 ν΄λž˜μŠ€λ‚˜ λ©”μ†Œλ“œ λ‹€ 뢙일 수 있으며, λ©”μ†Œλ“œμ— 더 많이 뢙인닀.


파일 μΆ”κ°€

  • com.test.spring.controller > "BoardController.java"
  • views > "board"
    > "list.jsp"
    > "add.jsp"
    > "addok.jsp"
    > "view.jsp"

μš”μ²­λ©”μ†Œλ“œμ— 미리 지정해주지 μ•ŠμœΌλ©΄
κΈ°λ³Έκ°’ -> get, post λ‹€ κ°€λŠ₯

ν•˜μ§€λ§Œ μ§€μ •ν•΄μ£ΌλŠ”κ²Œ μ’‹λ‹€.

// - doGet(), doPost() μ—­ν• 
@RequestMapping(value = "/board/list.do", method = { RequestMethod.GET, RequestMethod.POST })
public String list() {

	return "board/list";
}

// - doGet() μ—­ν• 
@RequestMapping(value = "/board/add.do", method = RequestMethod.GET)
public String add() {

	return "board/add";
}

// - doPost() μ—­ν• 
@RequestMapping(value = "/board/addok.do", method = RequestMethod.POST) 
public String addok() {

	return "board/addok";
}

파일 μΆ”κ°€
(μ€‘μš”) 데이터 전솑 > 데이터 μˆ˜μ‹  (req.getParameter(""))

  • com.test.spring.controller > "Ex05Controller.java"
  • views
    > "ex05.jsp"
    > "ex05ok.jsp"

java version λ³€κ²½
pom.xml 맨 μœ„, 맨 μ•„λž˜ 1.6 -> 11
project properties facet 1.6 -> 11 (+dynamic web -> 3.1)

spring version λ³€κ²½
pom.xml 맨 μœ„ 5.0.7. ...


단일 데이터 전솑

//upgrade 버전
@PostMapping(value="/ex05ok.do")
public String ex05ok(String data, Model model) { // jsp의 nameκ³Ό λ™μΌν•œ λ³€μˆ˜λͺ…일 경우 μ–΄λ…Έν…Œμ΄μ…˜ μƒλž΅ κ°€λŠ₯
		
	model.addAttribute("data", data);
		
	return "ex05ok";
}

파일 μΆ”κ°€

  • com.test.spring.domain > "SpringDTO.java"

볡합 데이터 전솑


파일 μΆ”κ°€

μš”μ²­ λ©”μ„œλ“œ λ°˜ν™˜κ°’

  • com.test.spring.controller > "Ex06Controller.java"
  • views > "ex05.jsp"

profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

0개의 λŒ“κΈ€