728x90
반응형
💡jsp 파일 생성
▪️ src - main - webapp - WEB-INF - views - base - New - Other... - Web - JSP File - .jsp 파일 생성
📃index1.jsp
▪️ 서버에서 id, name값을 보내줄 것이라고 짐작할 수 있다.
▪️ return index --> index.jsp
--> 만약 base하위에 index 폴더가 있다면 "base/index"
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index 1</title>
</head>
<body>
<%
out.println("#################");
%>
<br>
아이디 : [ ${id}] <br>
성 명 : [${name}]<br>
<%
out.println("#################");
%>
</body>
</html>
📃index3.jsp - 커맨드 객체 사용
◾ 접근할 때, member.id, member.name으로 접근하여 사용한다.
◾ 멤버함수, 멤버변수를 호출한다.
📌static클래스 / 일반 클래스
◾ static클래스라면 접근할 때 Member.id로 접근한다.
◾ static 클래스가 아니라 일반 클래스라면, 객체를 생성하여 접근한다.
--> Member member = new Member();
--> member.id, member.name, member.getId()...
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Index 1</title>
</head>
<body>
<%
out.println("#################");
%>
<br>
아이디 : [${member.id}] <br>
성 명 : [${member.name}]<br>
<%
out.println("#################");
%>
</body>
</html>
📃BaseWebController.java
▪️ @RequestMapping("/index1")
--> index1 호출
💬 Spring Web에서 정의된 프로토콜
▪️ HttpServletRequest request
--> 서버에서 사용자의 요청을 한 번에 다 받는 request를 http를 통해서 만든다. - Spring 제공.
--> 서버에서 자동으로 입력해준다.
▪️ Model model
--> Model는 jsp에서 주는 결과를 받아주는 객체 model이고, Hashmap 형태이다.
--> key와 value가 필요하다.
▪️ String id = request.getParameter("id");
--> request객체 안에서 사용자가 id라고 보내준 값을 getParameter를 통해 id에 저장한다.
▪️ model.addAttribute("id", id);
--> model에 key값을 id, 실제 값(읽은 값)을 저장한다.
▪️ return "base/index1";
--> base/index1 페이지로 이동한다.
▪️ @RequestParam("id") String id, @RequestParam("name") String name
--> "id"인 파라미터 값을 id로 뽑아오고, "name"을 name으로 뽑아옴
▪️ public String index3(Member member, Model model)
--> 커맨드 객체
변수로 하다보니 너무 번거롭고 의도하기 복잡해서 주소로만 표기한다.
▪️ @RequestMapping("/index4/(id)/(name)")
--> id와 name은 변수와 이름이 동일해야 한다.
package com.example.base.web.controller;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import com.example.base.web.vo.Member;
@Controller
public class BaseWebController {
@RequestMapping("/") // 단순 문자열을 전달받아 사용한다.
public @ResponseBody String root() throws Exception {
return "문자 데이터 전달받아 사용";
}
// ------------- 1 ---------------
@RequestMapping("/index1") //index1 호출
// 서버에서 사용자의 요청을 받는 request를 Http를 통해서 만든다. - Spring 제공. 서버에서 자동으로 입력해준다. 사용자의 요청을 한 개로 다 받는 것
// 통째로 name, id를 파라미터로 뽑아옴
// Model는 jsp에서 주는 결과를 받아주는 객체 model이고, Hashmap 형태이다. key와 value가 필요하다. 결과를 Model로 돌려주는 것
public String index1(HttpServletRequest request, Model model) { // Spring Web에서 정의된 프로토콜
String id = request.getParameter("id"); // request객체 안에서 사용자가 id라고 보내준 값을 getParameter를 통해 id에 저장한다.
String name = request.getParameter("name");
// model에 key값을 id, 실제 값(읽은 값)을 저장한다.
model.addAttribute("id", id); // key-value
model.addAttribute("name", name);
// base/index1 페이지로 이동한다.
// model에서 자동으로 찾아서 세팅해준다.
return "base/index1";
}
// ------------- 2 ---------------
@RequestMapping("/index2")
// "id"인 파라미터 값을 id로 뽑아오고, "name"을 name으로 뽑아옴
public String index2(@RequestParam("id") String id, @RequestParam("name") String name, Model model) {
model.addAttribute("id", id);
model.addAttribute("name", name);
return "base/index2";
}
// ------------- 3 ---------------
public String index3(Member member, Model model) {
return "base/index3";
}
}
⭐주기적으로 Project - Clean...으로 정리한다.
💡커맨드 객체를 위한 Member Class 생성
▪️ Source - Generate Getters and Setters... 를 통해 getter와 setter를 생성한다.
💡ORM
▪️ object relation mapping
▪️ 객체와 관계형 데이터베이스의 데이터를 자동으로 매핑(연결)해주는 것
728x90
반응형
'Back-End > Spring Boot' 카테고리의 다른 글
Spring Boot - JPA (0) | 2022.07.21 |
---|---|
Spring Boot - 어노테이션 종류 (0) | 2022.07.20 |
Spring Boot - jsp (0) | 2022.07.20 |
Spring boot - 시작하기 (0) | 2022.07.19 |
Spring Boot - 환경 변수 설정 및 파일 설치 (0) | 2022.07.19 |
댓글