http://localhost:8282/board/grade/{kor}/{eng}/{math}
grade.jsp 에 평균과 총점이 나오도록 하시오.
단) lombok 이 쓰고, command 객체로 처리 할것.
Grade.java
import lombok.Data;
@Data
public class Grade {
private int kor;
private int eng;
private int math;
public Grade() {}
public double getAvg() {
return (kor+eng+math)/3.0;
}
public int getTotal() {
return (kor+eng+math);
}
}
Controller.java
@Controller("/board")
public class Controller{
@GetMapping("/grade")
public String testGrade(Grade grade){
return "grade";
}
}
grade.jsp
<body>
국어점수 : ${grade.kor}<br>
영어점수 : ${grade.eng}<br>
수학점수 : ${grade.math}<br>
<hr>
성적 평균 : ${grade.total}<br>
성적 총합 : ${grade.avg}<br>
</body>
- Null값이 될 수 없다.
- 동일한 값이 저장될 수 없다.
- 두 릴레이션 간의 공통 키이나. 한 릴레이션쪽에서의 기본키가 다른 릴레이션에도 있는 속성을 외래 키라 한다.
@Controller
MVC모델의 컨트롤러 역할을 한다고 선언해주는 어노테이션
@RequestMapping
request된 요청값과 어노테이션 내에 설정해준 value값이 같을때 해당 클래스나 메소드가 실행되게 해주는 어노테이션
@RequestMapping("/a") 라면
localhost:"포트번호"/a로 들어오는 것을 실행해주는 역할이다.
@GetMapping
HTTP GET 요청을 처리하는 메서드를 맵핑(@RequestMapping) 하는 어노테이션
@PathVariable
URI에 들어간 변수값을 파라미터로 사용하는 어노테이션
.../{a}/{b}에
/1/2/등으로 넘겨줄 수 있다.
@RequestParam
URL에 전달되는 파라미터를 메소드의 인자와 매칭시켜, 파라미터를 받아서 처리할 수 있는 어노테이션이다.
객체 class를 만들고 해당 객체에 타입과 변수명을 일치시켜
Controller에서 그 객체를 사용하고 Model에 담아 뿌리게하는 객체이다.