ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • redirect forward
    웹페이지 제작을 위한 스프링공부 2020. 5. 4. 17:34

     

    브라우저에서 새로운 요청이 발생해서 다른곳으로 코드의 흐름이 이동했다고 하면 브라우저가 요청하는것 이기때문에 

    주소가 바뀌게되고 브러우저가 요청하지 않고 forward를 이용하여 서버상의 코드로만 이동했다면 주소가 변경되지가 않는다!

     

     

    문자열 반환

     

     

    요청된 주소가 test1이면 mapping되어져있는 test1()메소드를 호출 메소드에선 test1이라는 문자열을 반환

    문자열을 통해 어떤 작업을 수행할지 결정한다 위와 같이 test1이라는 문자열만 선언되어있을시 test1이라는 jsp를 찾아서 test1.jsp 파일에 선언된 코드를 분석하여 만들어진 html코드를 브라우저에 응답결과로 전달함

     

     

     

    redirect

     

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<a href='test1'>Redirect</a><br/>
    	<a href='test2'>Forward</a><br/>
    </body>
    </html>
    @GetMapping("/test1")
    	public String test1() {
    		return "redirect:/sub1";
    	}

    요청된 주소가 test1이면 mapping되어져있는 test1()메소드를 호출한다 메소드의 내용을 보면 문자열이 아닌 redirect:/sub1을 반환한다 이 때 이 return은 받은 spring mvc는 웹브라우저에게 sub1을 요청하라라는 정보를 응답결과로 보냅니다

     

    redirect

    요청 결과

     

    index
    sub 호출 (주소창이 바뀜)

     

     

    forward

     

     

     

     

     

    <%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    	<a href='test1'>Redirect</a><br/>
    	<a href='test2'>Forward</a><br/>
    </body>
    </html>

     

    	@GetMapping("/test2")
    	public String test2() {
    		return "forward:/sub2";
    	}
    	
    	@GetMapping("/sub2")
    	public String sub2() {
    		return "sub2";
    	}

    요청 결과

     

    index

     

    sub2로 forward됬지만 브라우저는 test2를 요청했기때문에 주소창의 변화가 없다 

    '웹페이지 제작을 위한 스프링공부' 카테고리의 다른 글

    RequestScope 빈 주입  (0) 2020.05.06
    requestScope  (0) 2020.05.05
    Form 요소2  (0) 2020.05.04
    Form 요소1  (0) 2020.05.04
    form 태그  (0) 2020.05.03
Designed by Tistory.