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);
}

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;
}
}

