728x90
- HttpServletRequest사용
- @RequestParam
- 커맨드객체를 이용해서 많은 데이터를 처리
- @PathVariable 사용
HttpServletRequest사용
- url : http://localhost/test01/board/confirmId?id=abcd&pw=1234
- get으로 보낸 값을 request를 이용하여 받아서 model로 뷰에 보내줌
- confirmId.jsp
<%@ 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>
ID : ${id} <br/>
PW : ${pw}
</body>
</html>
- HomeController.java 추가
@RequestMapping("/board/confirmId") // 요청경로
public String confirmId(HttpServletRequest httpServletRequest ,Model model) {
// httpServletRequest : 요청을 받을 때 사용
// model : 뷰페이지로 넘길 때 사용
String id = httpServletRequest.getParameter("id");
String pw = httpServletRequest.getParameter("pw");
model.addAttribute("id", id);
model.addAttribute("pw", pw);
return "board/confirmId"; // 뷰페이지 이동
}

@RequestParam 사용
- checkId.jsp
<%@ 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>
ID : ${identify} <br/>
PW : ${password}
</body>
</html>
- HomeController.java 추가
@RequestMapping("/board/checkId") // 요청경로
public String checkId(@RequestParam("id") String id, @RequestParam("pw") String pw, Model model) {
model.addAttribute("identify", id);
model.addAttribute("password", pw);
return "board/checkId"; // 뷰페이지 이동
}

HttpServletRequest는 get으로 값 넘기지 않을때는 값 없이 출력이 되지만

@RequestParam 같은 경우는 오류 발생

커맨드객체를 이용해서 많은 데이터를 처리
- join.jsp
<%@ 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>
이름 : ${member.name} <br/>
아이디 : ${member.id} <br/>
비밀번호 : ${member.pw} <br/>
메일 : ${member.email} <br/>
</body>
</html>
- Member.class
package com.all.test.member;
public class Member {
private String name;
private String id;
private String pw;
private String email;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPw() {
return pw;
}
public void setPw(String pw) {
this.pw = pw;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}

@PathVariable 사용
url경로에 값을 넣는 방식 → get방식을 쓰지 않고 경로처럼 값을 넣음
- studentView.jsp
<%@ 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>
student : ${studentId} <br/>
</body>
</html>
- HomeController.java 추가
// @PathVariable 사용
@RequestMapping("/student/{studentId}") // 요청경로
public String studentView(@PathVariable String studentId, Model model) { // 커맨드 객체를 매개변수로 줌
model.addAttribute("studentId", studentId);
return "student/studentView";
}
위 코드를 아래로 줄일 수 있음 (결과 동일)
@RequestMapping("/member/join") // 요청경로
public String join(Member member) { // 커맨드 객체를 매개변수로 줌
return "member/join";
}

728x90
'Backend > Spring' 카테고리의 다른 글
| [Spring] MVC 게시판(1) DB 생성 및 연결 (0) | 2023.02.17 |
|---|---|
| [Spring] 서버측에서 유효성 검사 (0) | 2023.02.17 |
| [Spring] 다운로드부터 프로젝트 생성까지 (이클립스 2021-09, jdk11) (0) | 2023.02.13 |
| [스프링] 필요한 Project Dependencies 추가 (0) | 2022.01.27 |
| [Spring] Web server failed to start. Port 8080 was already in use (0) | 2022.01.27 |
