IT&코딩/자바 프로젝트

자바 프로젝트 12일차 - Spring 2 (springBoard)

솔론 2023. 2. 5. 00:55
728x90
반응형

■ board.dto package

 

□ BoardDTO.java

 

package board.dto;

public class BoardDTO {
	private int num;
	private String writer;
	private String email;
	private String subject;
	private String passwd;
	private String reg_date;
	private int readcount;
	private String content;
	private String ip;
	
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getWriter() {
		return writer;
	}
	public void setWriter(String writer) {
		this.writer = writer;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getPasswd() {
		return passwd;
	}
	public void setPasswd(String passwd) {
		this.passwd = passwd;
	}
	public String getReg_date() {
		return reg_date;
	}
	public void setReg_date(String reg_date) {
		this.reg_date = reg_date;
	}
	public int getReadcount() {
		return readcount;
	}
	public void setReadcount(int readcount) {
		this.readcount = readcount;
	}
	public String getContent() {
		return content;
	}
	public void setContent(String content) {
		this.content = content;
	}
	public String getIp() {
		return ip;
	}
	public void setIp(String ip) {
		this.ip = ip;
	}
}

 

■ board.dao package

 

□ BoardDAO.java (인터페이스)

 

package board.dao;

import java.util.List;

import board.dto.BoardDTO;

public interface BoardDAO {
	public List<BoardDTO> listBoard();
	public BoardDTO getBoard(int num, String mode);
	public int insertBoard(BoardDTO dto);
	public int deleteBoard(int num, String passwd);
	public int updateBoard(BoardDTO dto);
}

 

□ BoardDAOImpl.java

 

package board.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;

import board.dto.BoardDTO;

public class BoardDAOImpl implements BoardDAO {
	
	private JdbcTemplate jdbcTemplate;

	public void setJdbcTemplate(JdbcTemplate jdbcTemplate) {
		this.jdbcTemplate = jdbcTemplate;
	}
	
	class MyRowMapper implements RowMapper<BoardDTO>{

		@Override
		public BoardDTO mapRow(ResultSet rs, int co) throws SQLException {
			BoardDTO dto = new BoardDTO();
			dto.setNum(rs.getInt("num"));
			dto.setWriter(rs.getString("writer"));
			dto.setEmail(rs.getString("email"));
			dto.setSubject(rs.getString("subject"));
			dto.setPasswd(rs.getString("passwd"));
			dto.setReg_date(rs.getString("reg_date"));
			dto.setReadcount(rs.getInt("readcount"));
			dto.setContent(rs.getString("content"));
			dto.setIp(rs.getString("ip"));
			
			return dto;
		}
	}
	
	private MyRowMapper mapper = new MyRowMapper();
	
	@Override
	public List<BoardDTO> listBoard() {
		String sql = "select * from board order by num desc";
		return jdbcTemplate.query(sql, mapper);
				
	}

	@Override
	public BoardDTO getBoard(int num, String mode) {
		if(mode.equals("content")){
			String sql = "update board set readcount = readcount + 1 where num = ?";
			jdbcTemplate.update(sql, num);
		}
		
		String sql = "select * from board where num = ?";
		BoardDTO dto = jdbcTemplate.queryForObject(sql, mapper, num);
		
		return dto;
	}

	@Override
	public int insertBoard(BoardDTO dto) {
		String sql = "insert into board values(board_seq.nextval, ?,?,?,?,sysdate,0,?,?)";
		Object[] values = new Object[] {dto.getWriter(), dto.getEmail(), 
				dto.getSubject(), dto.getPasswd(), dto.getContent(), dto.getIp()};
		return jdbcTemplate.update(sql, values);
	}

	@Override
	public int deleteBoard(int num, String passwd) {
		
		BoardDTO dto = getBoard(num, "password");
		
		if(dto.getPasswd().equals(passwd)){
			String sql = "delete from board where num = ?";
			return jdbcTemplate.update(sql, num);
		}
		return -1;
	}

	@Override
	public int updateBoard(BoardDTO dto) {
		BoardDTO bdto = getBoard(dto.getNum(), "password");
		if (dto.getPasswd().equals(bdto.getPasswd())) {
			String sql = "update board set writer=?, email=?, "
									+ "subject=?, content=? where num = ?";
			Object[] values = new Object[] {dto.getWriter(), dto.getEmail(), 
					dto.getSubject(), dto.getContent(), dto.getNum()};
			return jdbcTemplate.update(sql, values);
		}
		return -1;
	}
}

 

■ board.controller package

 

□ ListBoardController.java

 

package board.controller;

import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import board.dao.BoardDAO;
import board.dto.BoardDTO;

public class ListBoardController implements Controller {
	
	private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}

	@Override
	public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
		
		List<BoardDTO> list = boardDAO.listBoard();
		return new ModelAndView("list", "listBoard", list);
		
	}

}

 

□ WriteFormBoardController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class WriteFormBoardController implements Controller {
	

	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception {
		
		return new ModelAndView("writeForm");
		
	}

}

 

□ WriteProBoardAbstractCommandController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import board.dao.BoardDAO;
import board.dto.BoardDTO;

public class WriteProBoardAbstractCommandController extends AbstractCommandController {

	private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}	
	
	@Override
	protected ModelAndView handle(HttpServletRequest req, HttpServletResponse arg1, Object arg2, BindException arg3)
			throws Exception {
		
		BoardDTO dto = (BoardDTO)arg2;
		dto.setIp(req.getRemoteAddr());
		int res = boardDAO.insertBoard(dto);
		
		ModelAndView mav = new ModelAndView();
		
		if (res>0) {
			mav.addObject("msg", "게시글등록 성공!! 게시글목록페이지로 이동합니다.");
			mav.addObject("url", "list_board.do");
		}else {
			mav.addObject("msg", "게시글등록 실패!! 게시글등록페이지로 이동합니다.");
			mav.addObject("url", "writeForm_board.do");
		}
		mav.setViewName("forward:message.jsp");
		return mav;
	}

}

 

□ ContentBoardController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import board.dao.BoardDAO;
import board.dto.BoardDTO;

public class ContentBoardController implements Controller {
	
	private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}
	
	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse arg1) throws Exception {
		
		int num = ServletRequestUtils.getIntParameter(req , "num");
		BoardDTO dto = boardDAO.getBoard(num, "content");
		
		return new ModelAndView("content", "getBoard", dto);
	}

}

 

□ DeleteFormBoardController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class DeleteFormBoardController implements Controller {

	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse arg1) throws Exception {
		
		
		return new ModelAndView("deleteForm");
		
	}

}

 

□ DeleteProBoardController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import board.dao.BoardDAO;

public class DeleteProBoardController implements Controller {

private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}	
	
	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse arg1) throws Exception {
		
		int num = ServletRequestUtils.getIntParameter(req , "num");
		String passwd = req.getParameter("passwd");
		
		int res = boardDAO.deleteBoard(num, passwd);
		ModelAndView mav = new ModelAndView("forward:message.jsp");
		
		if (res > 0) {
			mav.addObject("msg", "게시글삭제 성공!! 게시글목록페이지로 이동합니다.");
			mav.addObject("url", "list_board.do");
		} else if(res < 0) {
			req.setAttribute("msg", "비밀번호가 틀렸습니다.!! 다시 입력해주세요.");
			req.setAttribute("url", "deleteForm_board.do?num=" + num);
		} else {
			req.setAttribute("msg", "게시글삭제 실패!! 글보기페이지로 이동합니다.");
			req.setAttribute("url", "content_board.do?num"  + num);
		}
		// req나 mav에 집어넣는 게 사실상 같다.
		return mav;
	}
}

 

□ UpdateFormBoardController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.bind.ServletRequestUtils;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

import board.dao.BoardDAO;
import board.dto.BoardDTO;

public class UpdateFormBoardController implements Controller {
	
	private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}
	
	@Override
	public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse arg1) throws Exception {
		
		int num = ServletRequestUtils.getIntParameter(req, "num");
		BoardDTO dto = boardDAO.getBoard(num, "update");
		return new ModelAndView("updateForm", "getBoard", dto);
		
	}

}

 

□ UpdateProBoardAbstractCommandController.java

 

package board.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.validation.BindException;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractCommandController;

import board.dao.BoardDAO;
import board.dto.BoardDTO;

public class UpdateProBoardAbstractCommandController extends AbstractCommandController {
	private BoardDAO boardDAO;
	
	public void setBoardDAO(BoardDAO boardDAO) {
		this.boardDAO = boardDAO;
	}
	
	@Override
	protected ModelAndView handle(HttpServletRequest req, HttpServletResponse arg1, Object arg2, BindException arg3)
			throws Exception {
		BoardDTO dto = (BoardDTO)arg2;
		int res = boardDAO.updateBoard(dto);
		ModelAndView mav = new ModelAndView("forward:message.jsp");
		if (res>0) {
			mav.addObject("msg", "글수정 성공!! 글목록페이지로 이동합니다.");
			mav.addObject("url", "list_board.do");
		}else if (res<0) {
			req.setAttribute("msg", "비밀번호가 틀렸습니다. 다시 입력해 주세요!!");
			req.setAttribute("url", "updateForm_board.do?num="+ dto.getNum());
		}else {
			req.setAttribute("msg", "글수정 실패!! 글보기페이지로 이동합니다.");
			req.setAttribute("url", "content_board.do?num="+ dto.getNum());
		}
		return mav;
	}
}

 

 


 

■ WebContent

 

□ index.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- index.jsp -->
<html>
<head>
	<title>게시판</title>
</head>
<body>
	<h1 align="center">스프링으로 연습하는 게시판</h1>
	<ul>
		<li><a href="list_board.do">게시판으로 가기</a>
	</ul>
</body>
</html>

 

□ message.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- message.jsp -->
<script type="text/javascript">
	alert("${msg}")
	location.href="${url}"
</script>

 

■ WEB-INF/board

 

□ list.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<!-- list.jsp -->
<html>
<head>
	<title>글목록</title>
</head>
<body>
	<div align="center">
		<b>글 목 록</b>
		<table border="0" width="800">
			<tr bgcolor="yellow">
				<td align="right"><a href="writeForm_board.do">글쓰기</a></td>
			</tr>
		</table>
		<table border="1" width="800">
			<tr bgcolor="green">
				<th>번호</th>
				<th width="30%">제목</th>
				<th>작성자</th>
				<th>작성일</th>
				<th>조회</th>
				<th>IP</th>
			</tr>
		<c:if test="${empty listBoard}">
			<tr>
				<td colspan="6">등록된 게시글이 없습니다.</td>
			</tr>
		</c:if>
		<c:forEach var="dto" items="${listBoard}">
			<tr>
				<td>${dto.num}</td>
				<td><a href="content_board.do?num=${dto.num}">${dto.subject}</a></td>
				<td>${dto.writer}</td>
				<td>${dto.reg_date}</td>
				<td>${dto.readcount}</td>
				<td>${dto.ip}</td>
			</tr>	
		</c:forEach>
		</table>
	</div>
</body>
</html>

 

□ writeForm.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- writeForm.jsp -->
<html>
<head>
	<title>글쓰기</title>
	<script type="text/javascript">
		function check(){
			if (f.writer.value==""){
				alert("이름을 입력해 주세요!!")
				f.writer.focus()
				return false
			}
			if (f.subject.value==""){
				alert("제목을 입력해 주세요!!")
				f.subject.focus()
				return false
			}
			if (f.content.value==""){
				alert("내용을 입력해 주세요!!")
				f.content.focus()
				return false
			}
			if (f.passwd.value==""){
				alert("비밀번호를 입력해 주세요!!")
				f.passwd.focus()
				return false
			}
			return true
		}
	</script>
</head>
<body>
	<div align="center">
		<form name="f" action="writePro_board.do" method="post" onsubmit="return check()">
			<table border="1" width="500">
				<tr bgcolor="yellow">
					<td colspan="2" align="center">글 쓰 기</td>
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">이 름</th>
					<td><input type="text" name="writer"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">제 목</th>
					<td><input type="text" name="subject" size="50"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">Email</th>
					<td><input type="text" name="email" size="50"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">내 용</th>
					<td><textarea name="content" rows="11" cols="50"></textarea></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">비밀번호</th>
					<td><input type="password" name="passwd"></td> 
				</tr>
				<tr bgcolor="yellow">
					<td colspan="2" align="center">
						<input type="submit" value="글쓰기">
						<input type="reset" value="다시작성">
						<input type="button" value="목록보기" onclick="window.location='list_board.do'">
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

 

□ content.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- content.jsp -->
<html>
<head>
	<title>글내용</title>
</head>
<body>
	<div align="center">
		<b>글내용 보기</b><br><br>
		<table border="1" width="600">
			<tr>
				<th width="20%" bgcolor="yellow">글번호</th>
				<td align="center" width="30%">${getBoard.num}</td>
				<th width="20%" bgcolor="yellow">조회수</th>
				<td align="center" width="30%">${getBoard.readcount}</td>
			</tr>
			<tr>
				<th width="20%" bgcolor="yellow">작성자</th>
				<td align="center" width="30%">${getBoard.writer}</td>
				<th width="20%" bgcolor="yellow">작성일</th>
				<td align="center" width="30%">${getBoard.reg_date}</td>
			</tr>
			<tr>
				<th width="20%" bgcolor="yellow">글제목</th>
				<td colspan="3">${getBoard.subject}</td>
			</tr>
			<tr>
				<th width="20%" bgcolor="yellow">글내용</th>
				<td colspan="3">${getBoard.content}</td>
			</tr>
			<tr bgcolor="yellow">
				<td  colspan="4" align="right">
					<input type="button" value="글수정"
					onclick="window.location='updateForm_board.do?num=${getBoard.num}'">
					<input type="button" value="글삭제" 
					onclick="window.location='deleteForm_board.do?num=${getBoard.num}'">
					<input type="button" value="목록보기" onclick="window.location='list_board.do'">
				</td>
			</tr>
		</table>
	</div>
</body>
</html>

 

□ deleteForm.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- deleteForm.jsp -->
<html>
<head>
	<title>글삭제</title>
</head>
<body>
	<div align="center">
		<B>글삭제</B><br><br>
		<form name="f" action="deletePro_board.do" method="post">
			<input type="hidden" name="num" value="${param.num}"/>
			<table border="1" width="300">
				<tr bgcolor="yellow">
					<th>비밀번호를 입력해 주세요.</th>
				</tr>
				<tr>
					<td align="center">비밀번호 : <input type="password" name="passwd"></td>	
				</tr>
				<tr>
					<td align="center">
						<input type="submit" value="글삭제">
						<input type="button" value="목록보기" onclick="window.location='list_board.do'">
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

 

□ updateForm.jsp

 

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!-- updateForm.jsp -->
<html>
<head>
	<title>글수정</title>
	<script type="text/javascript">
		function check(){
			if (f.writer.value==""){
				alert("이름을 입력해 주세요!!")
				f.writer.focus()
				return false
			}
			if (f.subject.value==""){
				alert("제목을 입력해 주세요!!")
				f.subject.focus()
				return false
			}
			if (f.content.value==""){
				alert("내용을 입력해 주세요!!")
				f.content.focus()
				return false
			}
			if (f.passwd.value==""){
				alert("비밀번호를 입력해 주세요!!")
				f.passwd.focus()
				return false
			}
			return true
		}
	</script>
</head>
<body>
	<div align="center">
		<form name="f" action="updatePro_board.do" method="post" onsubmit="return check()">
			<h3>글수정</h3>
			<input type="hidden" name="num" value="${getBoard.num}"/>
			<table border="1" width="500">
				<tr>
					<th width="20%" bgcolor="yellow">이 름</th>
					<td><input type="text" name="writer" value="${getBoard.writer}"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">제 목</th>
					<td><input type="text" name="subject" size="50" value="${getBoard.subject}"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">Email</th>
					<td><input type="text" name="email" size="50" value="${getBoard.email}"></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">내 용</th>
					<td><textarea name="content" rows="11" cols="50">${getBoard.content}</textarea></td> 
				</tr>
				<tr>
					<th width="20%" bgcolor="yellow">비밀번호</th>
					<td><input type="password" name="passwd"></td> 
				</tr>
				<tr bgcolor="yellow">
					<td colspan="2" align="center">
						<input type="submit" value="글수정">
						<input type="reset" value="다시작성">
						<input type="button" value="목록보기" onclick="window.location='list_board.do'">
					</td>
				</tr>
			</table>
		</form>
	</div>
</body>
</html>

 


 

□ web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<servlet>
	<servlet-name>board</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
	<servlet-name>board</servlet-name>
	<url-pattern>*.do</url-pattern>
</servlet-mapping>

<filter>
	<filter-name>encodingFilter</filter-name>
  	<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  	<init-param>
  		<param-name>encoding</param-name>
  		<param-value>euc-kr</param-value>
  	</init-param>
</filter>
<filter-mapping>
  	<filter-name>encodingFilter</filter-name>
  	<url-pattern>/*</url-pattern>
</filter-mapping>

</web-app>

 

□ board-servlet.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	
	<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
		<property name="prefix"><value>WEB-INF/board/</value></property>
		<property name="suffix"><value>.jsp</value></property>
	</bean>
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/>
		<property name="url" value="jdbc:oracle:thin:@localhost:1521:xe"/>
		<property name="username" value="web01"/>
		<property name="password" value="web01"/>
	</bean>
	
	<bean id="jdbcTemplate" 
		class="org.springframework.jdbc.core.JdbcTemplate">
		<property name="dataSource" ref="dataSource"/>
	</bean>
	
	<bean id="boardDAO" class="board.dao.BoardDAOImpl">
		<property name="jdbcTemplate" ref="jdbcTemplate"/>
	</bean>	
	
	<bean name="/list_board.do" class="board.controller.ListBoardController">
		<property name="boardDAO" ref="boardDAO"/>
	</bean>
	
	<bean name="/writeForm_board.do" class="board.controller.WriteFormBoardController">
	</bean>
	
	<bean name="/writePro_board.do" class="board.controller.WriteProBoardAbstractCommandController">
		<property name="boardDAO" ref="boardDAO"/>
		<property name="commandClass" value="board.dto.BoardDTO"/>
		<property name="commandName" value="boardCmd"/>
	</bean>
	
	<bean name="/content_board.do" class="board.controller.ContentBoardController">
		<property name="boardDAO" ref="boardDAO"/>
	</bean>
	
	<bean name="/deleteForm_board.do" class="board.controller.DeleteFormBoardController">
	</bean>
	
	<bean name="/deletePro_board.do" class="board.controller.DeleteProBoardController">
		<property name="boardDAO" ref="boardDAO"/>
	</bean>
	
	<bean name="/updateForm_board.do" class="board.controller.UpdateFormBoardController">
		<property name="boardDAO" ref="boardDAO"/>
	</bean>
	<bean name="/updatePro_board.do" 
				class="board.controller.UpdateProBoardAbstractCommandController">
		<property name="boardDAO" ref="boardDAO"/>
		<property name="commandClass" value="board.dto.BoardDTO"/>
		<property name="commandName" value="boardCmd"/>		
	</bean>
</beans>

 

* 라이브러리

 

- 전부 사용하는것은 아니다.

728x90
반응형