본문 바로가기

카테고리 없음

Java 웹 프로젝트 전체 구성 정리(디렉터리 구조+예제코드)

반응형
📁 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

    

    
반응형