multiplication.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="header.jsp" %>
<h3>${answer } * ${answer2 } 무엇 일까요?!</h3>
<form method="POST">
<p><input type="number"
name="user"
placeholder="1 ~ 100"
min="1" max="100"
required autofocus></p>
<p><input type="submit"></p>
</form>
<h3>${status }</h3>
</body>
</html>
multiplicationController
package com.itbank.controller;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.itbank.service.MultiplicationService;
@Controller
@RequestMapping("/multiplication")
public class MultiplicationController {
@Autowired private MultiplicationService multi;
@GetMapping
public ModelAndView multi() {
// 버튼을 누르는 순간 무엇*무엇 인지 바로 등장해야하기때문에 걸어준다.
ModelAndView mav = new ModelAndView();
multi.initialize();
int answer = multi.getAnswer();
int answer2 = multi.getAnswer2();
mav.addObject("answer", answer);
mav.addObject("answer2", answer2);
return mav;
}
@PostMapping
public ModelAndView multi(int user) {
ModelAndView mav = new ModelAndView();
String status = multi.getStatus(user);
int answer = multi.getAnswer();
int answer2 = multi.getAnswer2();
switch(status) {
case "Correct":
mav.setViewName("multiCorrect");
break;
}
mav.addObject("status", status);
mav.addObject("answer", answer);
mav.addObject("answer2", answer2);
return mav;
}
}
multiplicationService
package com.itbank.service;
import java.util.Random;
import org.springframework.stereotype.Service;
@Service
public class MultiplicationService {
private int answer;
private int answer2;
public void initialize() {
Random ran = new Random();
answer = ran.nextInt(9) + 2;
answer2 = ran.nextInt(9) + 2;
}
public String getStatus(int user) {
String status = null;
if(answer*answer2 == (user)) {
status = "Correct";
}
else {
status = "틀렸습니다";
}
return status;
}
public int getAnswer() {
return answer;
}
public int getAnswer2() {
return answer2;
}
}
결과.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ include file="header.jsp" %>
<h3>축하드립니다 정답입니다!!</h3>
<a href="${cpath }/multiplication"><button>한게임 더 !!</button></a>
</body>
</html>
updown 게임을 참조하여 간단한 구구단 게임을 구현하였다.
구구단 게임의 경우 바로 무엇 * 무엇인지 등장해야 하므로, 누를 때 등장할 수 있게
ModelAndView에 넘겨줄 수 있게 answer, answer2를 불러와준 후 ModelAndView에 담아주어 출력했다.
'개발자 > Spring' 카테고리의 다른 글
[SPRING] 도서 CRUD 구현 + 검색기능까지 (0) | 2022.12.30 |
---|---|
[SPRING] CRUD 구현 전 전체적인 구상방법 (0) | 2022.12.29 |
[Spring] 간단한 UpDown 게임 구현 (0) | 2022.12.27 |
[SPRING] Spring 컨트롤러 메서드 (0) | 2022.12.27 |
[SPRING] Spring MVC // + Controller 자세히. (0) | 2022.12.27 |