Mapping?
1.해당 값이 다른 값을 가리키도록 하는것..
ex) Localhost:9090/article라는 페이지를 만들었다고 가정했을때 URL이 그대로 나타나기 때문에 보안상 취약할 수 있다
그래서 article --> ae로 바꿀수 있게 하는것
ae로 바꿈으로써 보안성을 높일수 있다.
2.주소를 간결하게 해주는것
매핑하는 방법
사용하는 언어마다 매핑하는 방법이 다르다??
-JSP에서 사용하는 경우
web.xml 파일에서 매핑할 수 있다.
양식
<web-app> ???
<servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>com.javalec.HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/Hw</url-pattern>
</servlet-mapping>
</web-app>
-Java어노테이션 사용
@WebServlet("HWorld")
:매핑명(Hworld)을 java소스에 직접 입력
자바 어노테이션을 활용하여 자바안에서 이렇게 매핑할 수 있다.
(스프링에서도 유사하게 많이 사용)
Srping Mapping
특정 URI로 요청을 보내면 Controller에서 어떠한 방식으로 처리할지 정의한다.
들어온 요청을 특정 메소드와 매핑하기 위해 사용하는것이 @RequestMapping이다.
@RequestMapping
-value method
value: 요청받을 url을 설정
method는 어떤 요청으로 받을지 정의하게 된다(Get,Post,Put,Delete등)
ex)
@RequestMapping(value = "/hello", method = RequestMethod.Get)
@RestController
public class HelloController {
@RequestMapping(value = "/hello", method = RequestMethod.GET)
public String helloGet(...){
....
}
@RequestMapping(value = "/hello", method = RequestMethod.POST)
public String helloPost(...){
....
}
@RequestMapping(value = "/hello", method = RequestMethod.PUT)
public String helloPut(...){
....
}
@RequestMapping(value = "/hello", method = RequestMethod.DELETE)
public String helloDelete(...){
....
}
==
@RestController
@RequestMapping(value = "/hello")
public class HelloController {
@GetMapping()
public String helloGet(...) {
.....
}
@PostMapping()
public String helloPost(...) {
.....
}
@PutMapping()
public String helloPut(...) {
.....
}
@DeleteMapping()
public String helloDelete(...) {
....
}
}