서버로 데이터 전송하기 - INTRO

◇ JSP~서버 데이터 전송 포스팅 시리즈 ◇

  1. JSP에서 서버로 데이터 전송 - intro - 현재 글
  2. JSP에서 서버로 데이터 전송 - HTML
  3. JSP에서 서버로 데이터 전송 - JS
  4. 서버에서 JSP로 데이터 전송

  • 서버로 데이터를 전송하는 다섯가지 방법을 알아보기 앞서, 전체적인 내용을 설명하려고 한다.
1. 태그로 전송
2. GET method로 전송
3. POST method로 전송
4. input button으로 전송
5. submit으로 전송

그림요약

들어가기에 앞서 - 필독

  • controller 클래스 위에는 @Controller를 붙여준다.

  • java 파일 : 글 예시에 등장하는 java 함수는 모두 controller 클래스 안에 들어있다.

    @Controller
    public class ReceivedController {
        @RequestMapping(value = "/send1", method = RequestMethod.GET)
        public String send1(params1, params2...) {
            //code
            return "jsp 파일 이름";
        }
    

    jspNjava

  • jsp 파일에서 정보를 넘길 url을 설정해 주고 (“send1”로 설정)

    <a href="send1?username=suarez&userage=34">1. 태그로 전송</a><br>
    
  • java에서 아래와 같이 받아준다.

  @RequestMapping(value="/send1", method=RequestMethod.GET)
  public string send1(params1, params2...){
      //code
      return "jsp 파일 이름";
  }
  • @RequestMapping(value =”/send1” , method=RequestMethod.GET)
  • value 값에는 mapping url을 입력한다.
    • method에는 RequestMethod.GET 와 RequestMethod.POST 를 쓸 수 있다.

전체코드

  • index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>parameter 전송</title>
<script>
	window.onload = function() {
		document.getElementById("btn").onclick = function() {
			var userid = "asdf";
			var hobby =  "Cooking";

			if(confirm("데이터를 전송하시겠습니까?")) {
				location.href = "send4?userid="+ userid +"&hobby=" + hobby;
				alert("전송완료");
			}

		};
		document.getElementById("btn5").onclick = function() {
			var userid = document.getElementById("userid").value;
			var hobby  = document.getElementById("hobby").value;

			if(confirm("데이터를 전송할까요?")) {
				alert("전송 완료!!!!");
				return true; // submit을 하라는 의미 (input type="submit" 동작을 계속 하라는 의미)
			}
			alert("전송 취소");
			return false; // submit을 하지 말라는 의미

		};
	};
</script>
</head>
<body>
<div class="wrapper">
	<h1>파라미터 전송 1</h1>
	<ul>
		<li>
			<a href="send1?username=suarez&userage=34">1. 태그로 전송</a><br>
			<span>서버로부터 받은 데이터 : ${name}, ${age}</span> <!-- EL 표현식 -->
		</li>
		<li>
			<form action="send2" method="GET">
				<label for="username"><input type="text" id="username" name="username" ></label><br>
				<label for="userage"><input type="text" id="userage" name="userage"></label><br>
				<input type="submit" value="전송">
			</form>
		</li>
		<li>
			<form action="send3" method="POST">
				<label for="username"><input type="text" id="username" name="username" ></label><br>
				<label for="userage"><input type="text" id="userage" name="userage"></label><br>
				<input type="submit" value="전송">
			</form>
		</li>
	</ul>
	<hr>
	<h1>파라미터 전송 2(Javascript 이용)</h1>
	<ul>
		<li>
			<input id="btn" type="button" value="데이터 전송" ><br>
			<p>${userid}, ${hobby}</p>
		</li>
		<li>
			<form action="send5" method="GET">
				<label for="userid">아이디 : <input type="text" id="userid" name="userid" ></label><br>
				<label for="hobby">취 미 : <input type="text" id="hobby" name="hobby"></label><br>
				<input id="btn5" type="submit" value="전송">
			</form>
		</li>
	</ul>
</div>
</body>
</html>
  • mainController.java
package sesoc.intern.guestbook1;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class MainController {
    @RequestMapping(value="/",method= RequestMethod.GET)
    public String index() {
        return "index";
    }
}
  • receivedController.java
package sesoc.intern.guestbook1;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;

@Controller
public class ReceivedController {
    @RequestMapping(value = "/send1", method = RequestMethod.GET)
    public String send1(String username, int userage, Model model) {
        model.addAttribute("name",username);
        model.addAttribute("age",userage);
        return "index";
    }
    @RequestMapping(value="/send2",method= RequestMethod.GET)
    public String send2(String username, int userage,Model model) {
        model.addAttribute("name",username);
        model.addAttribute("age",userage);
        return "index";
    }
    @RequestMapping(value="/send3",method= RequestMethod.POST)
    public String send3(String username, int userage,Model model) {
        model.addAttribute("name",username);
        model.addAttribute("age",userage);
        return "index";
    }
    @RequestMapping(value="/send4",method= RequestMethod.GET)
    public String send4(String userid, String hobby,Model model) {
        model.addAttribute("userid",userid);
        model.addAttribute("hobby",hobby);
        return "index";
    }
    @RequestMapping(value="/send5",method= RequestMethod.GET)
    public String send5(String userid, String hobby,Model model) {
        model.addAttribute("userid",userid);
        model.addAttribute("hobby",hobby);
        return "index";
    }
}

© 2018. All rights reserved.

Powered by Hydejack v8.5.2