Spring

[Spring]MVC 기초

bangle0621 2021. 1. 5. 06:18

인덱스 JSP 생성

패키지 생성 후 Servlet 생성

뒤에 .mvc가 붙어있는 부분은 모두 여기서 반응하게 된다.

url 주소 가져와보기

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//요청한 주소를 가져온다.
		String url = request.getRequestURI();
		System.out.println(url);
		}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//요청한 주소를 가져온다.
		String url = request.getRequestURI();
		String viewName = null;
		if(url.contains("main.mvc")) {
			//System.out.println("main 요청");
			viewName = "main.jsp";
		} else if(url.contains("test1.mvc")) {
			//System.out.println("test1.mvc");
			viewName = "test1.jsp";
		} else if(url.contains("test2.mvc")) {
			//System.out.println("test2.mvc");
			viewName = "test2.jsp";
		}
		
		RequestDispatcher dis = request.getRequestDispatcher(viewName);
		dis.forward(request, response);
	}

출처 : https://dololak.tistory.com/502

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		//요청한 주소를 가져온다.
		String url = request.getRequestURI();
		String viewName = null;
		if(url.contains("main.mvc")) {
			//System.out.println("main 요청");
			viewName = "main.jsp";
		} else if(url.contains("test1.mvc")) {
			//System.out.println("test1.mvc");
			//파라미터 데이터 추출
			String str1 = request.getParameter("data1");
			String str2 = request.getParameter("data2");
			
			int number1 = Integer.parseInt(str1);
			int number2 = Integer.parseInt(str2);
			
			int result = number1 + number2;
			
			request.setAttribute("result", result);
			viewName = "test1.jsp";
		} else if(url.contains("test2.mvc")) {
			//System.out.println("test2.mvc");
			viewName = "test2.jsp";
		}
		
		RequestDispatcher dis = request.getRequestDispatcher(viewName);
		dis.forward(request, response);
	}

메인에서 test1로 갈때 get방식으로 데이터를 담아 보냈다. 

"data1"과 "data2"를 각각 str1, str2에 담아주고 그 둘을 int형으로 형변환을 시켜서 number1, number2에 담아주었다.

그 둘의 합의 결과를 result에 담았고, result라는 이름으로 request 안에 담았다.

해당 부분이 모델 역할을 한다.

다만 이 데이터 담는 부분이 컨트롤러에 보통 만들진 않는다.

 

package kr.co.bangle.model;

import javax.servlet.http.HttpServletRequest;

public class test2Service {

	public static int minus(HttpServletRequest request) {
		String str1 = request.getParameter("data1");
		String str2 = request.getParameter("data2");
		
		int number1 = Integer.parseInt(str1);
		int number2 = Integer.parseInt(str2);
		
		int result = number1 - number2;
		
		return result;
	}
}