위로
아래
설정
<!-- 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";
}
}
- @Controller 어노테이션을 붙여서 컨트롤러로 설정
- RequestMapping을 이용해 form.do를 입력하면 form.jsp로 이동하도록 설정
- login.do를 입력하면 이전 페이지로부터 userID, passwd 파라미터를 model로 받는다.
- 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;
}
}
- @Controller 어노테이션을 붙여서 컨트롤러로 설정
- RequestMapping을 이용해 form.do를 입력하면 form.jsp로 이동하도록 설정
- login.do를 입력하면 이전 페이지로부터 userID, passwd를 파라미터로 받는다.
- model and view의 변수인 mav에 저장.
- mav에 view 네임을 result로 지정해서, result.jsp로 이동.
결과