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 |
댓글