728x90
GetMapping
Spring Framework 와 Spring MVC 에서 사용되는 어노테이션 중 하나로
특정 URL 경로에 대한 HTTP GET 요청을 처리하는데 사용되는 어노테이션
GetMapping 특징
- 주로 정보를 검색하거나 조회하는 용도로 사용되며, URL 경로에 데이터를 포함시켜 요청을 보낼 수 있음
- 경로변수를 지원함 URL 이는 경로에 동적인 값을 넣을 때 사용됨
- Ex) @GetMapping(/board/{board.bid})
- 주로 데이터를 검색하고 뷰를 반환하는 용도로 사용됨 메소드는 뷰 이름이나 뷰 객체를 반환하며, 클라이언트에게 표시할 화면을 정의
PostMapping
Spring Framework 와 Spring MVC 에서 사용되는 어노테이션 중 하나로
HTTP POST 요청을 처리하는데 사용되는 어노테이션
PostMapping 특징
- 주로 데이터를 서버로 제출하거나 생성하는 데 사용됨
- form 태그의 데이터를 제출하거나 리소스를 생성하는 용도로 많이 사용됨
- 주로 POST 요청은 body 태그에 데이터를 담아서 서버로 전송함
- POST 요청을 사용 시엔 데이터를 서버로 보내므로 보안 사항을 고려하고 데이터를 검증하고 처리해야 함(보안과 데이터 무결성)
실습 1 : GetMapping을 통한 경로 변수 사용
CTRL.java
@Controller
public class CTRL {
@Autowired
private MemberDAO mDAO;
// .. (생략)
@GetMapping("/logout")
public String logout(HttpSession session) {
session.removeAttribute("member");
return "redirect:/";
}
// .. (생략)
@GetMapping("/deleteAccount/{mid}")
public String deleteAccount(MemberDTO mDTO) {
mDAO.delete(mDTO);
return "redirect:/logout";
}
}
mypage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset = "UTF-8">
<title>mypage</title>
</head>
<body>
<c:if test="${empty member}">
<form action="join" method="post">
<input type="text" name="mid" required> <br>
<input type="password" name="mpw" required> <br>
<input type="submit" value="회원가입">
</form>
</c:if>
<c:if test="${not empty member}">
<form action="mypage" method="post">
<input type="text" name="mid" readonly value=${member}> <br>
<input type="password" name="mpw" required> <br>
<input type="submit" value="회원정보변경">
</form>
<br>
<a href="deleteAccount/${member}">회원탈퇴</a>
</c:if>
<hr>
<a href="/">메인으로 돌아가기</a>
</body>
</html>
실습2 : GetMapping 과 PostMapping을 활용하여 게시판에 글 작성하기
CTRL.java
@Controller
public class CTRL {
@Autowired
private BoardDAO bDAO;
@GetMapping("/insert")
public String insert() {
return "insert";
}
@PostMapping("/insert")
public String insert(BoardDTO bDTO) {
bDAO.insert(bDTO);
return "redirect:/";
}
}
main.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset = "UTF-8">
<title>main</title>
</head>
<body>
<c:if test="${empty member}">
<form action="login" method="post">
<input type="text" name="mid" required> <br>
<input type="password" name="mpw" required> <br>
<input type="submit" value="로그인">
</form>
<br>
<a href="mypage">회원가입</a>
</c:if>
<c:if test="${not empty member}">
<a href="mypage">${member}님, 안녕하세요! :D</a> <br>
<a href="logout">로그아웃</a> <br>
<a href="insert">글 작성</a>
</c:if>
<hr>
<c:if test="${fn:length(datas) <= 0}">
<h1>출력할 글이 없습니다.</h1>
</c:if>
<c:if test="${fn:length(datas) > 0}">
<c:forEach var="board" items="${datas}">
<h3><a href="board/${board.bid}">${board.bid}</a> | ${board.mid}</h3> <br>
</c:forEach>
</c:if>
</body>
</html>
728x90
'Spring Boot' 카테고리의 다른 글
[Spring Boot] MyBatis 프레임워크 (0) | 2023.09.25 |
---|---|
[Spring Boot] 서비스 레이어 (0) | 2023.09.21 |
[Spring Boot] 예외 처리 미루기 (MVC 패턴) (2) | 2023.09.20 |
[Spring Boot] DB 연결 방법 (0) | 2023.09.18 |
[Spring Boot] 데이터 유효성 검사 (2) | 2023.09.15 |