티스토리 뷰
1.스프링 에서의 커맨드 객체에 대하여 설명하시오.
커맨드 객체(Command Object) 란 HttpServletRequest 를 통해 들어온 요청 파라미터들을 setter 를 이용하여 객체에 정의 멤버 변수에 저장, 다시 getter를 이용해서 꺼내오거나 객체 안에 정의 해둔 함수를 호출해 사용할 수 있는 일종의 클래스이다. (게시판의 Dto같은 역할이라고 생각하자?) 커맨드 객체의 사용법은 아래의 2번을 참고하자.
2.아래를 프로그래밍 하시오.
-국영수 입력 받아 출력 합계 평균 수우미양가 출력
-커맨드 객체 사용 할것
-view폴더 /grade
-GradeContrller
grade/input - /grade/input.jsp
grade/result - /grade/result.jsp
-롬복이 사용 할것
Grade.java (커맨드 객체)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
package edu.kosmo.ex.member;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Getter // 롬복이 자동으로 getter, setter 생성해준다!
@Setter
public class Grade {
private double kor;
private double eng;
private double math;
private double sum;
private double avg;
public double getSum() {
this.sum = (kor + eng + math);
return sum;
}
public double getAvg() {
this.avg = sum / 3;
return avg;
}
}
|
cs |
GradeContrller.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package edu.kosmo.ex;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import edu.kosmo.ex.member.Grade;
@Controller
public class GradeController {
@RequestMapping("grade/input")
public String input(Grade grade) { // 커맨드 객체만 파라미터로 넣어주면
System.out.println("input().."); // 이전처럼 복잡한 코딩이 필요없다!
return "grade/input";
}
@RequestMapping("grade/result")
public String result(Grade grade) {
System.out.println("result()..");
return "grade/result";
}
}
|
cs |
input.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>Grade input</title>
</head>
<body>
<h2>점수를 입력하세요.</h2>
<!-- 앞에 / 꼭 빼먹지 말고 쓰자 -->
<form action="/ex/grade/result">
국어 : <input type="text" name="kor"><br>
영어 : <input type="text" name="eng"><br>
수학 : <input type="text" name="math"><br>
<input type="submit" value="제출">
</form>
</body>
</html>
|
cs |
result.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<title>Grade result</title>
</head>
<body>
국어 : ${grade.kor}점<br>
영어 : ${grade.eng}점<br>
수학 : ${grade.math}점<br>
총합 : ${grade.sum}점<br>
평균 : ${grade.avg}점<br>
</body>
</html>
|
cs |
3.아래를 참고 하여, 프로그래밍 하시오.
- 입력값을 하나 받아 .. 석탑 만들기
-view폴더 /tower
-GradeContrller
tower/input - /tower/input.jsp // 입력값 받기
tower/result - /tower/tower.jsp // 석탑 출력
- 단 아래를 참고 하여, js 문법으로 처리 할것
시작하기에 앞서 서버가 동작하는 순서를 기억해둬야 할 필요가 있습니다.
JAVA -> JSTL -> HTML -> Javascript
<script language=JavaScript>
// 방법 1
var data = '<c:out value="${dataName}"/>';
// 방법 2
var data2 = ${dataName};
</script>
GradeContrller.java
2번과 동일한 파일이라 안의 내용만....
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@RequestMapping("tower/input")
public String towerInput() {
System.out.println("towerInput()..");
return "tower/input";
}
@RequestMapping("tower/result")
public String result(@RequestParam("floor") String floor, Model model) {
System.out.println("result()..");
model.addAttribute("floor", floor);
return "tower/tower";
// 출력은 tower.jsp에서 되기 때문에 tower/reault로 쓰면 안된다! }
|
cs |
input.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
</head>
<body>
<h2>몇 층 석탑을 만들까요?</h2>
<form action="/ex/tower/result">
<input type="text" name="floor">층<br>
<input type="submit" value="제출">
</form>
</body>
</html>
|
cs |
tower.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<%@<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html>
<head>
<title>Home</title>
<script lang="JavaScript">
// var floor = ${floor}; 도 가능!
var floor = '<c:out value="${floor}"/>';
for(var i = 1; i <= floor; i++){
for(var j = i; j < floor; j++){
document.write(" ");
}
for(var j = 1; j <= (2 * i - 1); j++){
document.write("*");
}
document.write("<br>");
}
</script>
</head>
<body>
</body>
</html>
|
cs |
개별 진척도 48번
ArrayList 에 1부터 10까지 차례대로 입력후 출력하시오,
import java.util.ArrayList; import java.util.Iterator; public class TimeTest { public static void main(String[] args) { ArrayList<Integer> arr = new ArrayList<Integer>(); for(int i = 1; i <= 10; i++) { arr.add(i); } for(int i = 0; i < arr.size(); i++) { System.out.print(arr.get(i) + "\t"); } System.out.println(); for (Iterator itr = arr.iterator(); itr.hasNext();) { System.out.print(itr.next() + "\t"); } System.out.println(); for (Integer n : arr) { System.out.print(n + "\t"); } } }
개별 진척도 49번
홀리그램을 완성하시오.(header:위 content 좌 banner 우 footer 밑)
-부트스트랩 이든 뭐든 다 좋음
<!DOCTYPE html> <html lang="en"> <head> <title></title> <style> div{ margin: 0 auto; } #header{ width: 400px; background-color: yellow; border: 4px solid hotpink; text-align: center; } #wrap { width: 400px; background-color: skyblue; border: 5px solid black; text-align: center; overflow: hidden; } #content{ width: 250px; background-color: lightgrey; border: 2px solid red; text-align: center; float: left; } #banner{ border: 2px solid green; text-align: center; float: left; } #footer{ clear: both; width: 500px; background-color: rgb(201, 144, 212); border: 3px solid orange; text-align: center; } .menu{ color: rgb(67, 67, 148); font-weight: bold; font-size: 20px; } </style> </head> <body> <div id="header"> <h1>Header</h1> </div> <div id="wrap"> <div id="content"> <h1>Content</h1> <ul> <li class="menu">menu1</li> <li>menu2</li> <li class="menu">menu3</li> <li>menu4</li> <li class="menu">menu5</li> </ul> </div> <div id="banner"> <h1>Banner</h1> </div> <div id="footer"> <h1>Footer</h1> </div> </div> </body> </html>
위의 2번 하도록 하겠습니다. (70번 문제) - 국영수 스프링 처리
'수업문제' 카테고리의 다른 글
- Total
- Today
- Yesterday
- response
- JSP
- string
- 채팅
- TreeSet
- 세션
- 쓰레드
- Request
- Generic
- 래퍼 클래스
- toString
- 부트스트랩
- 예외처리
- Session
- 참조형
- 프로토콜
- 입출력
- 제네릭
- el
- 쿠키
- Servlet
- compareTo
- object
- exception
- hashset
- 진척도 70번
- 사칙연산 계산기
- equals
- SOCKET
- abstract
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |