Spring

SPRING MVC.2

yoon9 2021. 3. 23. 16:22

1. HttpServletRequest

2. Model model   view쪽으로 전송을 하기위한 데이터 model.

3. @Request Param

 

 

구성.

1. HttpServletRequest

@RequestMapping("board/confirmId")
	public String confirmId(HttpServletRequest httpServletRequest, Model model) {
		String id = httpServletRequest.getParameter("id");  
		String pw = httpServletRequest.getParameter("pw");
		model.addAttribute("id", id);
		model.addAttribute("pw", pw);
		return "board/confirmId";

↑위에 보듯이 HttpServlertRequset와 Model를 매개변수로 받아서 String 타입의 confirmId 메서드를 선언.

HttpServlertRequset이 요청한 값을 .getParameter로 값을 받아서  "String id"에 담는다.

똑같이 "String pw"에 담고, view를 해줄 model에 addAttribute를 하여서 받고 return을 하여서 화면에 출력.

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
 ID : ${id} <br />
 PW : ${pw}
</body>
</html>

↑confirmId.jsp 

이렇게 HomeController에 설정한 것과 동일하게 $를 사용하여 <body> 안에 넣으면, 내가 넣은값이 ID와 PW로 값이 화면에 출력되는 모습을 볼 수있음. 하지만 여기서는 값을 따로 넣어주질 않아서 GET방식인 URL안에다가 id&pw값을 선언해줍니다.

 

confirmId.jsp의 출력화면.

2. @Request Param

@RequestMapping("board/checkId")
	public String checkId(@RequestParam("id") String id, @RequestParam("pw") int pw, Model model) {
		model.addAttribute("identify", id);
		model.addAttribute("password", pw); //
		return "board/checkId";
	}

 @Request Param을 사용 보시다시피 위에 설명한 방법과 그렇게 다르지 않습니다.

 

한눈에 봐도 이해가 갑니다. 바로 model 객체에 넣어서 사용할 수 있다는점이 다른 것 같습니다.

 

하지만 문제점이 받아야 할 값들이 엄청많아지면 코드가 너무 길어져서 보기도 힘들고 가독성이 떨어질 수 있습니다.

 

그래서 그냥 간단하게 하는것이 바로.

@RequestMapping("/member/join")
	public String joinData(Member member) {
		
		return "member/join";
	}
	

↑ 한 눈에 봐도 코드가 엄청 줄어들었다는게 눈에 보입니다.

 

Member.class를 만들고 joinData()에 member 객체변수를 매개변수로 받고 return주면 끝입니다.

하지만 Member.class에서 만든것처럼 변수명들을 잘 맞춰야합니다.

 

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;
	}
	
}

member.class

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>

이름 : ${member.name} <br />
아이디 : ${member.id} <br />
비밀번호 : ${member.pw} <br />
메일 : ${member.email}

</body>
</html>

↑ join.jsp

 

이렇게 member.class에서 선언한 변수처럼 같은 name을 사용하여서 작성하면 끝이다.

 

이상.

 

 

 

seouliotcenter.tistory.com/77?category=877565

IOT서울센터에서 참고하였습니다.

 

실전 스프링(Spring) 동영상과정 제 13강 form 데이터

실전 스프링(Spring) 동영상과정 제 13강 form 데이터 이번 강의는 form 데이터 편입니다. PC로 보실때는 서울산업진흥원(http://www.sba.kr)에서 제작한 유튜브 동영상(http://www.youtube.com/seouliotcenter)..

seouliotcenter.tistory.com