쿼리스트링이 아닌 URL을 변수로 받는 방법 in Spring Legacy Project

ino5·2021년 5월 1일
0
post-thumbnail

소개


Spring Legacy Project에서 쿼리스트링이 아닌 URL을 변수로 받는 방법에 대해 알아보겠습니다. Dynamic Web Project에서의 방법은 다음 링크를 참고해 주세요.

클라이언트가 URL에 mytime/임의값 을 입력할 시 임의값을 서버에서 변수로 받아 보여주도록 만들어 보겠습니다. @PathVariable을 이용해 보겠습니다.



HomeController


/src/main/java/com.mycompany.myapp/HomeController.java

package com.mycompany.myapp;

import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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.servlet.ModelAndView;

/**
 * Handles requests for the application home page.
 */
@Controller
public class HomeController {
	@RequestMapping(value = "/mytime/{time}", method = RequestMethod.GET)
	 public String urlTime(@PathVariable("time") String urlTime, Model model) throws Exception{
		model.addAttribute("myTime", urlTime);
		return "home";
	 }
}




home.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page session="false" %>
<html>
<head>
	<title>Home</title>
</head>
<body>
<h1>
	Hello world!  
</h1>

<P>  The time on the URL is ${myTime}. </P>
</body>
</html>



결과


클라이언트가 URL에 mytime/12:10AM이라고 입력했을 때 mytime/뒤에 12:10AM 부분을 서버가 변수로 받아 보여주는 것을 볼 수 있습니다.

profile
궁금한 것을 찾아보거나 문제를 해결한 과정을 날 것의 글로 작성하였습니다.

0개의 댓글