위로 아래

설정

<!-- web.xml -->
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

web.xml에 servlet-mapping 부분의 url-pattern 수정.

 

<!-- servlet-context.xml -->
<beans:bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
    <beans:property name="prefix" value="/WEB-INF/views/" />
    <beans:property name="suffix" value=".jsp" />
</beans:bean>

sevlet-context에 been 중, 접두에 폴더명, 접미에 파일 확장자 입력

 

 

 

form.jsp 작성

<%@ 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>
<form action="${pageContext.request.contextPath}login.do" method="post">
	아이디 : <input type="text" name="userID"><br>
	비밀번호 : <input type="password" name="passwd"><br>
	<input type="submit" value="전송">
</form>
</body>
</html>

아이디, 비밀번호를 form 태그로 전송하도록 작성.

action에 login.do 입력.

 

 

 

result.jsp 작성

<%@ 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>
	아이디 : ${userID} <br>
	비밀번호 : ${passwd}
</body>
</html>

결과를 받아볼 수 있는 페이지 작성

 

 

 

model 방식 컨트롤러 작성

package com.spring.pro21;

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

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class UserController {
	
	@RequestMapping("form.do")
	public String loginForm() {
		return "form";
	}

	@RequestMapping("login.do")
	public String login(HttpServletRequest request, HttpServletResponse response, Model model) {
		model.addAttribute("userID", request.getParameter("userID"));
		model.addAttribute("passwd", request.getParameter("passwd"));
		
		return "result";
	}
}

 

  1. @Controller 어노테이션을 붙여서 컨트롤러로 설정
  2. RequestMapping을 이용해 form.do를 입력하면 form.jsp로 이동하도록 설정
  3. login.do를 입력하면 이전 페이지로부터 userID, passwd 파라미터를 model로 받는다.
  4. result.jsp로 이동.

 

 

 

modelAndView 방식 컨트롤러 작성

modelAndView는 @Controller 어노테이션 지원 이후로 잘 사용하지 않는 구식 방법이다.

package com.spring.pro21;

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

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

@Controller
public class UserController {
	
	@RequestMapping("form.do")
	public String loginForm() {
		return "form";
	}

	@RequestMapping("login.do")
	public ModelAndView login(HttpServletRequest request, HttpServletResponse response) {
		ModelAndView mav = new ModelAndView();
		mav.addObject("userID", request.getParameter("userID"));
		mav.addObject("passwd", request.getParameter("passwd"));
		
		mav.setViewName("result");
		return mav;
	}
}

 

  1. @Controller 어노테이션을 붙여서 컨트롤러로 설정
  2. RequestMapping을 이용해 form.do를 입력하면 form.jsp로 이동하도록 설정
  3. login.do를 입력하면 이전 페이지로부터 userID, passwd를 파라미터로 받는다.
  4. model and view의 변수인 mav에 저장.
  5. mav에 view 네임을 result로 지정해서, result.jsp로 이동.

 

 

 


결과