728x90
BoardController
package kr.or.ddit.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import lombok.extern.slf4j.Slf4j;
//스프링이 이 클래스를 빈으로 등록하여 관리함
//클래스레베 요청경로 매핑
@RequestMapping("/board")
@Slf4j
@Controller
public class BoardController {
/*
1.요청 경로 매핑
-요청 경로는 필수
- 속성이 하나일 때 속성명 생략 가능
- 클래스레벨 요청경로는 기본 경로로 취급
- 클레스레벨 요청경로("/board") + 메소드레벨 요청경로(/register") => 최종요청경로 (/board/register")
*/
/*
method생략 : get방식
리턴타입이 void : return "/board/register";
board폴더에 register.jsp를 forwarding
*/
//메서드레벨 요청별로매핑
//value속성에 요청 경로를 설정
@RequestMapping(value="/register")
public void registerForm() {
log.info("registerForm");
}
//속성이 하나일 떄는 속성명(value) 생략 가능
@RequestMapping("/modify")
public void modifyForm() {
log.info("modifyForm");
//board폴도의 modify.jsp가 forwarding
}
// 요청URI : /board/read/12 요청을 를 처리해보자
// board테이블의 12번글
// boardNo : 경로(Path) 변수(variable)
// 1) //board/read?boardNo=12
// =>골뱅이RequestParam("boardNo") int boardNo
// 2) /board/read/12
// =>골뱅이PathVariable("boardNo") int boardNo
@RequestMapping(value="/read/{boardNo}")
public String read(@PathVariable int boardNo) {
log.info("readForm->boardNo : " + boardNo);
//board폴더의 read.jsp를 forwarding
return "board/read";
}
/*2. 경로 패턴 매필
-요청 경로를 동적으로 표현 가능
-경로 변수(path variable)에 해당하는 값을 파라미터 변수에 설정
* */
// 요청URI : /board/update/27
// 경로 변수명 : boardNo
// board폴더의 update.jsp를 forwarding 해보자
@RequestMapping(value="/update/{boardNo}")
public String update(@PathVariable int boardNo) {
log.info("update " + boardNo);
//forwarding
return "board/update";
}
/*
4. Params매핑
-요청 파라미터를 매핑 조건으로 지정하는 경우 params 속성을 사용
<button>,<a href..에 따라 호출할 메소드를 바꿔야 할 떄 사용함
*/
//이건 거의 안씀 10프로만 씀
//요청URI : /board/get?register
//요청방식 : get
//요청파라미터 : register
@RequestMapping(value="/get", method = RequestMethod.GET, params = "register")
public String register() {
log.info("register");
//fowarding
return "board/register";
}
/*
//요청URI : /board/post?register
//요청방식 : post
//요청파라미터 : register
*/
@RequestMapping(value="/post", method=RequestMethod.POST, params="register")
public String registerPost(String bookId) {
log.info("registerPost");
log.info("bookId : "+ bookId);
//forwarding
return "board/register";
}
/*
//요청URI : /board/post?register
//요청방식 : post
//요청파라미터 : update
*/
@RequestMapping(value="/post", method=RequestMethod.POST, params="update")
public String updatePost(String bookId) {
log.info("updatePost");
log.info("bookId : "+ bookId);
//forwarding
return "board/register";
}
/*
//요청URI : /board/post?register
//요청방식 : post
//요청파라미터 : {"delete",bookId : "ISBN1234"}
*/
@RequestMapping(value="/post", method=RequestMethod.POST, params="delete")
public String deletePost(String bookId) {
log.info("deletePost");
log.info("bookId : "+ bookId);
//forwarding
return "board/register";
}
/*
//요청URI : /board/post?register
//요청방식 : post
//요청파라미터 : {"list",bookId : "ISBN1234"}
*/
@RequestMapping(value="/post", method=RequestMethod.POST, params="list")
public String listPost(String bookId) {
log.info("listPost");
log.info("bookId : "+ bookId);
//forwarding
return "board/register";
}
/*
요청URI : /board/get?remove
요청방식 : get
요청파라미터 : {"remove"}
forwarding : board/register.jsp
*/
@RequestMapping(value="/get",method=RequestMethod.GET, params="remove")
public String remove() {
log.info("remove");
//forwarding
return "board/register";
}
/*
요청URI : /board/post?remove
요청방식 : post
요청파라미터 : {"remove"}
forwarding : board/register.jsp
*/
@RequestMapping(value="/post", method = RequestMethod.POST, params="remove")
public String removePost() {
log.info("removePost");
//forwarding
return "board/register";
}
/*
요청URI : /board/get?read
요청방식 : get
요청파라미터 : {"read"}
forwarding : board/register.jsp
*/
@RequestMapping(value="/get", method = RequestMethod.GET, params = "read")
public String readPost() {
log.info("read");
//forwarding
return "board/register";
}
}
board.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<script src="/resources/js/jquery-3.6.0.js"></script>
<script type="text/javascript">
$(function(){
//document 내의 모든 요소들이 로딩된 후 실행
$("#btnHeaders").on("click", function(){
console.log("이순신")
let boardNo = "10";
let title = "개똥이의 여행";
let contnet = "개똥이 여행을 떠나다";
let writer = "개똥이";
let data = {"boardNo": boardNo,
"title" : title,
"contnet" : contnet,
"writer" : writer
};
//JSON은 object -> string으로 변환
console.log("data :" + data);
console.log("data :" + JSON.stringify(data));
});
});
</script>
<h3> register</h3>
<p>
<!--
요청 URI : /board/post?register
요청방식 : get
요청파라미터 : register
-->
<form action="/board/post" method="post">
<input type="text" name="bookId" value="ISBN1234" />
<!-- 요청 URI : /board/post?register -->
<button type="submit" name="register">Register</button>
<button type="submit" name="update">Update</button>
<button type="submit" name="delete">Delete</button>
<button type="submit" name="list">List</button>
</form>
<!--/board/post?remove -->
<form action="/board/post" method="post">
<a href = "/board/get?read" class="btn btn-primary">read</a>
<button type="button" id="btnHeaders">Headers매핑</button>
<button type="submit" name="remove">remove</button>
</form>
</p>
'Spring > Spring Muzi' 카테고리의 다른 글
외부강사님 교육?! (0) | 2023.10.07 |
---|---|
외부강사님 교육 (0) | 2023.08.26 |
e7e샘의 파일 업로드 원본 (0) | 2023.08.01 |
tiles-config.xml(설정파일) (0) | 2023.07.31 |
root-context.xml(설정파일) (0) | 2023.07.31 |