반응형
📁 src/
├── egovframework/
│ ├── web/
│ │ └── UserController.java
│ ├── user/
│ │ ├── service/
│ │ │ ├── UserService.java
│ │ │ └── BoardService.java
│ │ ├── service/impl/
│ │ │ ├── UserServiceImpl.java
│ │ │ └── BoardServiceImpl.java
│ │ ├── mapper/
│ │ │ ├── UserMapper.java
│ │ │ └── BoardMapper.java
│ │ └── vo/
│ │ ├── UserVO.java
│ │ └── BoardVO.java
📁 resources/
├── egovframework/
│ └── sqlmap/
│ └── mapper/
│ ├── UserMapper.xml
│ └── BoardMapper.xml
📁 webapp/
├── WEB-INF/
│ ├── jsp/
│ │ └── user/
│ │ ├── login.jsp
│ │ ├── boardList.jsp
│ │ └── boardDetail.jsp
│ └── web.xml
├── css/
├── js/
└── images/
// UserVO.java
public class UserVO {
private String userId;
private String password;
private String userName;
// getters/setters
}
// BoardVO.java
public class BoardVO {
private int boardId;
private String title;
private String content;
private String writer;
// getters/setters
}
// UserService.java
public interface UserService {
boolean login(UserVO vo);
}
// UserServiceImpl.java
@Service
public class UserServiceImpl implements UserService {
@Autowired
private UserMapper userMapper;
public boolean login(UserVO vo) {
UserVO dbUser = userMapper.selectUser(vo.getUserId());
return dbUser != null && dbUser.getPassword().equals(vo.getPassword());
}
}
// BoardService.java
public interface BoardService {
List getBoardList();
BoardVO getBoardDetail(int boardId);
}
// BoardServiceImpl.java
@Service
public class BoardServiceImpl implements BoardService {
@Autowired
private BoardMapper boardMapper;
public List getBoardList() {
return boardMapper.selectBoardList();
}
public BoardVO getBoardDetail(int boardId) {
return boardMapper.selectBoardDetail(boardId);
}
}
// UserController.java
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@Autowired
private BoardService boardService;
@PostMapping("/login.do")
public String login(@ModelAttribute UserVO vo, Model model) {
if (userService.login(vo)) {
return "redirect:/user/boardList.do";
} else {
model.addAttribute("error", "로그인 실패");
return "user/login";
}
}
@GetMapping("/boardList.do")
public String boardList(Model model) {
model.addAttribute("list", boardService.getBoardList());
return "user/boardList";
}
@GetMapping("/boardDetail.do")
public String boardDetail(@RequestParam int id, Model model) {
model.addAttribute("board", boardService.getBoardDetail(id));
return "user/boardDetail";
}
}
// UserMapper.java
public interface UserMapper {
UserVO selectUser(String userId);
}
// BoardMapper.java
public interface BoardMapper {
List selectBoardList();
BoardVO selectBoardDetail(int boardId);
}
// UserMapper.xml
// BoardMapper.xml
반응형