コントローラのマージ
35657 ワード
BoardController
get/postはすべて受け取りました.
LoginController
パラメータに渡されるオブジェクト=commandオブジェクト.
LoginController
idとpasswordにvalueを追加します.
ログインをクリックすると保存されたid,passwordが表示されます.
get/postはすべて受け取りました.
package com.springbook.view.board;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import com.springbook.biz.board.BoardVO;
import com.springbook.biz.board.impl.BoardDAO;
@Controller
public class BoardController {
@RequestMapping("/insertBoard.do")
public String insertBoard(BoardVO vo, BoardDAO boardDAO) {
boardDAO.insertBoard(vo);
return "getBoardList.do";
}
@RequestMapping("/updateBoard.do")
public String updateBoard(BoardVO vo, BoardDAO boardDAO) {
boardDAO.updateBoard(vo);
return "getBoardList.do";
}
@RequestMapping("/deleteBoard.do")
public String deleteBoard(BoardVO vo, BoardDAO boardDAO) {
boardDAO.deleteBoard(vo);
return "getBoardList.do";
}
@RequestMapping("/getBoard.do")
public ModelAndView getBoard(BoardVO vo, BoardDAO boardDAO, ModelAndView mav) {
mav.addObject("board", boardDAO.getBoard(vo));
mav.setViewName("getBoard.jsp");
return mav;
}
@RequestMapping("/getBoardList.do")
public ModelAndView getBoardList(BoardVO vo, BoardDAO boardDAO, ModelAndView mav) {
mav.addObject("boardList", boardDAO.getBoardList(vo));
mav.setViewName("getBoardList.jsp");
return mav;
}
}
get/postの分離LoginController
package com.springbook.view.user;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.springbook.biz.user.UserVO;
import com.springbook.biz.user.impl.UserDAO;
@Controller
public class LoginController {
@RequestMapping(value="/login.do", method=RequestMethod.GET)
public String loginView(UserVO vo) {
System.out.println("로그인 화면으로 이동");
return "login.jsp";
}
@RequestMapping(value="/login.do", method=RequestMethod.POST)
public String login(UserVO vo, UserDAO userDAO) {
System.out.println("로그인 인증 처리...");
UserVO user = userDAO.getUser(vo);
if(user != null) {
return "getBoardList.do";
}
else {
return "login.jsp";
}
}
}
JSP COMMAND
パラメータに渡されるオブジェクト=commandオブジェクト.
LoginController
package com.springbook.view.user;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import com.springbook.biz.user.UserVO;
import com.springbook.biz.user.impl.UserDAO;
@Controller
public class LoginController {
@RequestMapping(value="/login.do", method=RequestMethod.GET)
public String loginView(UserVO vo) {
System.out.println("로그인 화면으로 이동");
// ModelAndView로 리턴하지 않아도 커맨드 객체로 들어오면 jsp로 전달된다
// command객체가 아닌 것들은 ModelAndView에 저장해야 함
vo.setId("test");
vo.setPassword("test123");
return "login.jsp";
}
@RequestMapping(value="/login.do", method=RequestMethod.POST)
public String login(UserVO vo, UserDAO userDAO) {
System.out.println("로그인 인증 처리...");
UserVO user = userDAO.getUser(vo);
if(user != null) {
return "getBoardList.do";
}
else {
return "login.jsp";
}
}
}
login.jspidとpasswordにvalueを追加します.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
<center>
<h1>로그인</h1>
<hr>
<form action="login.do" method="post">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
<td bgcolor="orange">아이디</td>
<td><input type="text" name="id" value="${userVO.id}"/></td>
</tr>
<tr>
<td bgcolor="orange">비밀번호</td>
<td><input type="password" name="password" value="${userVO.password}"/></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" value="로그인"/>
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
index.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>
<center>
<h1>게시판 프로그램</h1>
<hr>
<a href="login.do">로그인</a><br><br><br>
<a href="getBoardList.do">글 목록 바로가기</a>
<hr>
</center>
</body>
</html>
ログインをクリックすると保存されたid,passwordが表示されます.
Reference
この問題について(コントローラのマージ), 我々は、より多くの情報をここで見つけました https://velog.io/@jinkyung/Controller-합치기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol