본문 바로가기
Spring/Spring 개념정리

spring 파라미터/ post/ get 전송 방법

by java나유 2022. 12. 11.

 

 

java단

package com.adamsoft.item.controller;

import java.io.File;
import java.util.UUID;

import javax.servlet.http.HttpServletRequest;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import com.adamsoft.item.domain.MemberDTO;
import com.adamsoft.item.domain.ReportDTO;

import lombok.extern.log4j.Log4j;

//Controller를 만들기 위한 어노테이션
@Controller
public class PageController {
	//처리할 URL 과 전송 방식
	@RequestMapping(value="blog/{num}",
			method=RequestMethod.GET)
	//Model은 뷰에게 데이터를 넘기기 위한 객체
	public String blog(
		@PathVariable int num, Model model) {
		
		//뷰에게 데이터 전달
		//num 이라는 이름으로 num 이라는 데이터를 전달
		model.addAttribute("num", num);
		
		//출력할 뷰 이름 설정
		return "blog";
		
	}
	
	@RequestMapping(value="parameter",method=RequestMethod.GET)
	public String parameter(Model model) {
		return "parameter";
	}
	
	//파라미터를 HttpServletRequest를 이용해서 읽기
	@RequestMapping(value="getlink",method=RequestMethod.GET)
	public void getlink(
		HttpServletRequest request, Model model) {
		String name = request.getParameter("name");
		String job = request.getParameter("job");
		System.out.println(name);
		System.out.println(job);
	}
	
	//파라미터를 @RequestParam을 이용해서 읽기
	@RequestMapping(value="getform",
			method=RequestMethod.GET)
	public void getfor(
		@RequestParam("name") String name,
		@RequestParam("password") String password,
		Model model) {
		System.out.println(name);
		System.out.println(password);
	}
	
	//파라미터를 Command 객체을 이용해서 읽기
	@RequestMapping(value="postform",
			method=RequestMethod.POST)
	public void postform(
			MemberDTO dto,
			Model model) {
			System.out.println(dto);
	}
	
	@RequestMapping(value="fileupload",
			method=RequestMethod.POST)
	public void fileupload(ReportDTO dto,
			HttpServletRequest request) {
		if(dto.getPictureurl().isEmpty()) {
			System.out.println(
				"업로드 파일이 없습니다.");
		}else {
			//프로젝트 내의 upload 디렉토리의 절대경로
			String filepath = 
					request.getServletContext()
					.getRealPath("/upload");
			System.out.println(filepath);
			
			filepath = filepath + "/" + 
			UUID.randomUUID() + 
			dto.getPictureurl().getOriginalFilename();
			
			File file = new File(filepath);
			try {
				dto.getPictureurl().transferTo(file);
			}catch(Exception e) {
				System.out.println(e.getMessage());
			}
			
				
		}
	}
	
	
	
	
}

 

 

 

 

출력 jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>파라미터 전송</title>
</head>
<body>
	<a href="getlink?name=adam&job=singer">
	링크를 이용한 파라미터 전송</a><br/>
	
	<h3>GET 방식의 Form 전송</h3>
	<form action="getform">
		이름:<input type="text" name="name"/><br/>
		비번:<input type="password" name="password"/>
		<br/>
		<input type="submit" value="전송"/>
	</form>
	
	<h3>POST 방식의 Form 전송</h3>
	<form action="postform" method="post">
		이름:<input type="text" name="name"/><br/>
		비번:<input type="password" name="password"/>
		<br/>
		<input type="submit" value="전송"/>
	</form>
	
	<h3>파일 업로드</h3>
	<form action="fileupload" method="post" 
	enctype="multipart/form-data">
		이름:<input type="text" name="name"/>
		<br />
		파일:<input type="file" name="pictureurl"/>
		<br/>
		<input type="submit" value="업로드" />
	</form>
</body>
</html>
728x90

'Spring > Spring 개념정리' 카테고리의 다른 글

Maven을 사용하는 이유  (0) 2022.12.07
스프링의 장점 3가지  (0) 2022.11.13
스프링의 핵심  (0) 2022.10.28

댓글