1) 게시판 뷰 생성
@charset "UTF-8";
.page-main-style{
width:600px;
margin:0 auto;
}
.result-display{
width:400px;
margin:50px auto;
border:1px solid #000;
padding:100px 0 100px 0;
text-align:center;
}
.align-center{
text-align:center;
}
.align-right{
text-align:right;
}
/*목록*/
table{
width:100%;
border:1px solid #000;
border-collapse:collapse;
margin-top:5px;
}
table td, table th{
border:1px solid #000;
padding:5px;
}
/*등록,수정폼*/
form{
width:500px;
margin:0 auto;
border:1px solid #000;
padding:10px 10px 10px 30px;
}
ul{
list-style:none;
}
label{
width:100px;
float:left;
}
.error-color{
color:red;
}
2)board.controller 생성
/list.do 요청을 받으면 @RequestMapping 어노테이션을 통해 process메서드가 실행된다.
ModelAndView가 "selectList"의 이름을 가진 jsp파일을 실행시킴
3)index.jsp 생성
총관 컨트롤러로 연결시킬 index.jsp를 생성한다.
@RequestMapping ModelAndView
index.jsp -> BoardController.java -> selectList.jsp
4) VO 생성
5) 컨트롤러에 자바빈 추가
6)insertForm.jsp view 생성
insert
오류체크
index.jsp 실행 후 아래 화면이 나와야 정상 실행
@RequestMapping("/list.do") ModelAndView
index.jsp -> BoardController.java -> selectList.jsp
@RequestMapping(value="/insert.do",method=RequestMethod.GET) form() {return"insertForm" }
index.jsp등록버튼 -> BoardController.java -> insertForm.jsp
(onclick="location.href='insert.do'")
7)root-context.xml 설정(데이터베이스 관련 설정파일)
annotation이 controller인 것을 제외한다. servlet-context와 같이 스캔이 될 경우 충돌되기 때문
8)설정파일 생성
데이터베이스 jdbc 연동 설정파일 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
<!-- 빈 자동 스캔 - servlet-context.xml에서 Controller를 자동 스캔해서
아래 설정에서는 Controller 자동 스캔 제외 -->
<context:component-scan base-package="kr.spring.board">
<!-- annotation이 controller인 것을 제외한다. servlet-context와 같이 스캔이 될 경우 충돌되기 때문 -->
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller"/>
</context:component-scan>
<!-- 데이터베이스 연동 관련 설정 파일 path 설정 -->
<context:property-placeholder location="classpath:config/jdbc.properties"/>
<!-- 커넥션 풀을 이용한 DataSource 설정 -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- 최대 커넥션 개수 -->
<property name="maxActive" value="50"/>
<!-- 접속이 없을 경우 최대 유지 커넥션 갯수 -->
<property name="maxIdle" value="30"/>
<!-- 접속이 없을 경우 최소 유지 커넥션 갯수 -->
<property name="minIdle" value="20"/>
<!-- 최대 대기시간(초) : 초과시 연결실패 오류 발생 -->
<property name="maxWait" value="5"/>
</bean>
<!-- JdbcTemplate 객체 설정 -->
<bean name="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">
<property name="dataSource" ref="dataSource"></property>
</bean>
|
cs |
9)DAO 생성 -인터페이스를 통해 구조 생성
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
package kr.spring.board.dao;
import java.util.List;
import kr.spring.board.model.BoardVO;
public interface BoardDAO {
//뼈대 생성
public void insertBoard(BoardVO board);
public int getBoardCount();
public List<BoardVO> getBoardList(int startRow,int endRow);
public BoardVO getBoard(int num);
public void updateBoard(BoardVO board);
public void deleteBoard(int num);
}
|
cs |
BoardDAOImpl class 생성 implements BoardDAO 로 불러오기
10)Service 생성
interface BoardDAO 복붙
11)insertBoard() 메서드 작업
BoardDAOImpl에서 insertBoard() 메서드 작업
BoardServiceImpl에서 insertBoard() 작업
BoardDAOImpl에서 Database 관련 연동 작업
BoardServiceImpl에서 BoardDAOImpl 메서드 호출
- DB액세스에 필요한 CRUD는 -> DAO 이다
- 사용자의 요구에 맞게 DAO의 CRUD를 응용 조합해서 사용하는 기능은 -> SERVICE 이다.
12)유효성 체크 및 에러코드 메세지 작업
12)유효성 체크 활용 및 write 메서드 활용
유효성 체크
@RequestMapping(post)로 form입력 데이터를 빈에 담아 전송 service
insertForm.jsp -> BoardController.java -> boardService.insertBoard
DAO
-> boardDAO.insertBoard -> DB저장
'IT > Java Spring' 카테고리의 다른 글
Spring MVC 기본 게시판 예제 만들기 - 3. 상세 페이지 (0) | 2020.06.18 |
---|---|
Spring MVC 기본 게시판 예제 만들기 - 2. 페이지번호 삽입작업 (0) | 2020.06.18 |
Spring MVC 기본 게시판 예제 만들기 - 0. 기본설정 (0) | 2020.06.17 |
MVC 01 기본 세팅 (0) | 2020.06.11 |
Spring MVC 설명 (1) | 2020.06.11 |