jsp 서블릿 흐름도
실습
score.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<img src="./images/asd.jpg" alt="영화" width = "300px">
<form method="get", action="score.jsp">
<input type = "radio" name = "score" value ="1" >☆☆☆☆★<br>
<input type = "radio" name = "score" value ="2" >☆☆☆★★<br>
<input type = "radio" name = "score" value ="3" >☆☆★★★<br>
<input type = "radio" name = "score" value ="4" >☆★★★★<br>
<input type = "radio" name = "score" value ="5" >★★★★★<br>
<button> 별점주기 </button>
</form>
</body>
</html>
score.html 의 url 경로에 score.jsp를 넣는다.
score.jsp 에서 할 것
- 선택한 별점은 ~입니다.
- 영화 총점은 ~입니다.
- 참여한 인원수는 ~입니다.
- 영화 평점은 ~입니다.
<%@page import="java.text.DecimalFormat"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%! int totalScore; //총점
int totalCnt; //인원수
DecimalFormat df = new DecimalFormat("#.0");
%>
<%
String score = request.getParameter("score");
int scoreNum = Integer.parseInt(score);
totalScore +=scoreNum;
totalCnt++;
float avgScore = (float)totalScore/totalCnt;
%>
선택하신 별점은 <%= score %> 점입니다. <br>
영화총점은 <%= totalScore %> 입니다. <br>
참여한 인원수 <%= totalCnt %> 입니다. <br>
영화 평점은 <%= df.format(avgScore)%>입니다.
</body>
</html>
totalScore, totalCnt 는 멤버변수로 두어 값을 기억할 수 있도록 한다.
지역변수로 선언하게 되면 매번 새로만들어져서 초기화되어 누적이 되지 않는다.
'sevlet' 카테고리의 다른 글
[22.01.04] JSP EL 태그와 JSTL (0) | 2022.01.04 |
---|---|
[22.01.03] front servlet 공부 (0) | 2022.01.03 |
getAttribute & setAttribute 실습 (0) | 2021.12.03 |
서블릿 request , response 실습 (0) | 2021.12.02 |