티스토리 뷰
BoardController.java
package org.zerock.controller;
import javax.inject.Inject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.mvc.support.RedirectAttributes;
import org.zerock.domain.BoardVO;
import org.zerock.domain.Criteria;
import org.zerock.domain.PageMaker;
import org.zerock.service.BoardService;
@Controller
@RequestMapping("/board/*")
public class BoardController {
private static final Logger logger = LoggerFactory.getLogger(BoardController.class);
@Inject
private BoardService service;
/* 게시글 입력 페이지 */
@RequestMapping(value = "/register", method = RequestMethod.GET)
public void registerGET(BoardVO board, Model model) throws Exception {
logger.info("register get...");
}
/*
* @RequestMapping(value="/register", method=RequestMethod.POST) public String
* registPOST(BoardVO board, Model model) throws Exception{
* logger.info("regist post..........."); logger.info("board.toString() : " +
* board.toString());
*
* service.regist(board);
*
* model.addAttribute("result", "success");
*
* return "redirect:/board/listAll"; //return "/board/success"; }
*/
// 게시글 저장
@RequestMapping(value = "/register", method = RequestMethod.POST)
public String registPOST(BoardVO board, RedirectAttributes rttr) throws Exception {
logger.info("regist post...");
logger.info(board.toString());
service.regist(board);
rttr.addFlashAttribute("msg", "success");
return "redirect:/board/listAll";
}
// 리스트 페이지
@RequestMapping(value = "/listAll", method = RequestMethod.GET)
public void listAll(Model model) throws Exception {
logger.info("show all list...");
model.addAttribute("list", service.listAll());
/*
* list.jsp 에서 <c:forEach items="${list}" var="boardVO"> 의 ${list} 는 컨트롤에서
* model.addAttribute("list", service.listAll()); 부분의 list 명과 같아야 한다.
*/
}
// 조회
@RequestMapping(value = "/readPage", method = RequestMethod.GET)
public void read(@RequestParam("bno") int bno,
@ModelAttribute("cri") Criteria cri,
Model model) throws Exception {
model.addAttribute(service.read(bno));
}
// 삭제
@RequestMapping(value = "/remove", method = RequestMethod.POST)
public String remove(@RequestParam("bno") int bno, RedirectAttributes rttr) throws Exception {
service.remove(bno);
rttr.addFlashAttribute("msg", "success");
return "redirect:/board/listAll";
}
// 수정 : 조회 페이지 이동
@RequestMapping(value = "/modify", method = RequestMethod.GET)
public void modifyGET(int bno, Model model) throws Exception {
model.addAttribute(service.read(bno));
}
// 수정 : 실제 수정 작업
@RequestMapping(value = "/modify", method = RequestMethod.POST)
public String modifyPOST(BoardVO board, RedirectAttributes rttr) throws Exception {
logger.info("mod post...");
service.modify(board);
rttr.addFlashAttribute("msg", "success");
return "redirect:/board/listAll";
}
@RequestMapping(value = "/listCri", method = RequestMethod.GET)
public void listAll(Criteria cri, Model model) throws Exception {
logger.info("show list Page with Criteria......................");
model.addAttribute("list", service.listCriteria(cri));
}
// 페이징
@RequestMapping(value = "/listPage", method = RequestMethod.GET)
public void listPage(@ModelAttribute("cri") Criteria cri, Model model) throws Exception {
logger.info(cri.toString());
model.addAttribute("list", service.listCriteria(cri));
PageMaker pageMaker = new PageMaker();
pageMaker.setCri(cri);
// pageMaker.setTotalCount(131);
pageMaker.setTotalCount(service.listCountCriteria(cri));
model.addAttribute("pageMaker", pageMaker);
}
}
==========================================================================================
BoardVO.java
public class BoardVO {
private Integer bno;
private String title;
private String content;
private String writer;
private Date regdate;
private int viewcnt;
public Integer getBno() {
return bno;
}
public void setBno(Integer bno) {
this.bno = bno;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
public int getViewcnt() {
return viewcnt;
}
public void setViewcnt(int viewcnt) {
this.viewcnt = viewcnt;
}
@Override
public String toString() {
return "BoardVO [bno=" + bno + ", title=" + title + ", content=" + content + ", writer=" + writer + ", regdate="
+ regdate + ", viewcnt=" + viewcnt + "]";
}
}
==========================================================================================
BoardDAO.java
/*마이바티스 id 명과 관계 추정?*/
package org.zerock.persistence;
import java.util.List;
import org.zerock.domain.BoardVO;
import org.zerock.domain.Criteria;
public interface BoardDAO {
public void create(BoardVO vo) throws Exception;
public BoardVO read(Integer bno) throws Exception;
public void update(BoardVO vo) throws Exception;
public void delete(Integer bno) throws Exception;
public List<BoardVO> listAll() throws Exception;
public List<BoardVO> listPage(int page) throws Exception;
public List<BoardVO> listCriteria(Criteria cri) throws Exception;
public int countPaging(Criteria cri)throws Exception;
}
==========================================================================================
BoardDAOImpl.java
/*
* SqlSessionTemplate을 이용해서 원하는 코드를 호출하는 수준
*
* */
package org.zerock.persistence;
import java.util.List;
import javax.inject.Inject;
import org.apache.ibatis.session.SqlSession;
import org.springframework.stereotype.Repository;
import org.zerock.domain.BoardVO;
import org.zerock.domain.Criteria;
@Repository
public class BoardDAOImpl implements BoardDAO {
@Inject
private SqlSession session;
//공통적으로 사용하는 XML Mapper의 namespace를 지정
private static String namespace = "org.zerock.mapper.BoardMapper";
@Override
public void create(BoardVO vo) throws Exception {
session.insert(namespace + ".create", vo);
}
@Override
public BoardVO read(Integer bno) throws Exception {
return session.selectOne(namespace + ".read", bno);
}
@Override
public void update(BoardVO vo) throws Exception {
session.update(namespace + ".update", vo);
}
@Override
public void delete(Integer bno) throws Exception {
session.delete(namespace + ".delete", bno);
}
@Override
public List<BoardVO> listAll() throws Exception {
return session.selectList(namespace + ".listAll");
}
@Override
public List<BoardVO> listPage(int page) throws Exception {
if (page <= 0) {
page = 1;
}
page = (page - 1) * 10;
return session.selectList(namespace + ".listPage", page);
}
@Override
public List<BoardVO> listCriteria(Criteria cri) throws Exception {
return session.selectList(namespace + ".listCriteria", cri);
}
@Override
public int countPaging(Criteria cri) throws Exception {
// TODO Auto-generated method stub
return session.selectOne(namespace + ".countPaging", cri);
}
}
==========================================================================================
BoardService.java
package org.zerock.service;
import java.util.List;
import org.zerock.domain.BoardVO;
import org.zerock.domain.Criteria;
public interface BoardService {
public void regist(BoardVO board) throws Exception;
public BoardVO read(Integer bno) throws Exception;
public void modify(BoardVO board) throws Exception;
public void remove(Integer bno) throws Exception;
public List<BoardVO> listAll() throws Exception;
public List<BoardVO> listCriteria(Criteria cri) throws Exception;
public int listCountCriteria(Criteria cri)throws Exception;
}
==========================================================================================
BoardServiceImpl.java
package org.zerock.service;
import java.util.List;
import javax.inject.Inject;
import org.springframework.stereotype.Service;
import org.zerock.domain.BoardVO;
import org.zerock.domain.Criteria;
import org.zerock.persistence.BoardDAO;
@Service
public class BoardServiceImpl implements BoardService{
@Inject
private BoardDAO dao;
//mybatis 매퍼 쿼리 실행 : 게시글 저장
@Override
public void regist(BoardVO board) throws Exception{
dao.create(board);
System.out.println("게시글 저장");
}
//mybatis 매퍼 쿼리 실행 : 선택한 게시글 조회 하기
@Override
public BoardVO read(Integer bno) throws Exception{
System.out.println("선택한 게시글 조회");
return dao.read(bno);
}
//mybatis 매퍼 쿼리 실행 : 수정
@Override
public void modify(BoardVO board) throws Exception{
System.out.println("수정");
dao.update(board);
}
//mybatis 매퍼 쿼리 실행 : 삭제
@Override
public void remove(Integer bno) throws Exception {
System.out.println("삭제");
dao.delete(bno);
}
//mybatis 매퍼 쿼리 실행 : 리스트 화면에 출력
@Override
public List<BoardVO> listAll() throws Exception{
System.out.println("리스트 페이지 화면");
return dao.listAll();
}
@Override
public List<BoardVO> listCriteria(Criteria cri) throws Exception {
return dao.listCriteria(cri);
}
@Override
public int listCountCriteria(Criteria cri) throws Exception {
// TODO Auto-generated method stub
return dao.countPaging(cri);
}
}
==========================================================================================
boardMapper.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.zerock.mapper.BoardMapper">
<!-- 새로운 게시글 등록 -->
<insert id="create">
INSERT INTO tbl_board (title, content, writer)
values(#{title},#{content}, #{writer})
</insert>
<!-- 게시글 선택 -->
<select id="read" resultType="org.zerock.domain.BoardVO">
SELECT
bno, title, content, writer, regdate, viewcnt
FROM
tbl_board
WHERE bno = #{bno}
</select>
<!-- 게시글 수정 -->
<update id="update">
UPDATE tbl_board set title =#{title}, content =#{content}
WHERE bno = #{bno}
</update>
<!-- 게시글 삭제 -->
<delete id="delete">
DELETE FROM tbl_board where bno = #{bno}
</delete>
<!-- 게시물 전체 목록 리스트 -->
<select id="listAll" resultType="org.zerock.domain.BoardVO">
<![CDATA[
SELECT
bno, title, content, writer, regdate, viewcnt
FROM
tbl_board
WHERE bno > 0
ORDER BY bno desc, regdate desc
]]>
</select>
<select id="listPage" resultType="BoardVO">
<![CDATA[
SELECT
bno, title, content, writer, regdate, viewcnt
FROM
tbl_board
WHERE bno > 0
ORDER BY bno desc, regdate desc
LIMIT #{page}, 10
]]>
</select>
<select id="listCriteria" resultType="BoardVO">
<![CDATA[
SELECT
bno, title, content, writer, regdate, viewcnt
FROM
tbl_board
WHERE bno > 0
ORDER BY bno desc, regdate desc
LIMIT #{pageStart}, #{perPageNum}
]]>
</select>
<select id="countPaging" resultType="int">
<![CDATA[
SELECT
count(bno)
FROM
tbl_board
WHERE
bno > 0
]]>
</select>
</mapper>
==========================================================================================
listAll.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page session="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 리스트</title>
<script>
var result = '${msg}';
if (result == 'success') {
alert("처리가 완료되었습니다.");
}
</script>
</head>
<body>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">LIST ALL PAGE</h3>
</div>
<div class="box-body">
<table class="table table-bordered">
<tr>
<th style="width: 10px">BNO</th>
<th>TITLE</th>
<th>WRITER</th>
<th>REGDATE</th>
<th style="width: 40px">VIEWCNT</th>
</tr>
<c:forEach items="${list}" var="boardVO">
<tr>
<td>${boardVO.bno}</td>
<td><a href='/board/read?bno=${boardVO.bno}'>${boardVO.title}</a></td>
<td>${boardVO.writer}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm" value="${boardVO.regdate}" /></td>
<td><span class="badge bg-red">${boardVO.viewcnt }</span></td>
</tr>
</c:forEach>
</table>
</div>
<!-- /.box-body -->
<div class="box-footer">Footer</div>
<!-- /.box-footer-->
</div>
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<%@include file="../include/footer.jsp"%>
</body>
</html>
==========================================================================================
listCri.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page session="false"%>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">LIST ALL PAGE</h3>
</div>
<div class="box-body">
<table class="table table-bordered">
<tr>
<th style="width: 10px">BNO</th>
<th>TITLE</th>
<th>WRITER</th>
<th>REGDATE</th>
<th style="width: 40px">VIEWCNT</th>
</tr>
<c:forEach items="${list}" var="boardVO">
<tr>
<td>${boardVO.bno}</td>
<td><a href='/board/read?bno=${boardVO.bno}'>${boardVO.title}</a></td>
<td>${boardVO.writer}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm"
value="${boardVO.regdate}" /></td>
<td><span class="badge bg-red">${boardVO.viewcnt }</span></td>
</tr>
</c:forEach>
</table>
</div>
<!-- /.box-body -->
<div class="box-footer">Footer</div>
<!-- /.box-footer-->
</div>
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<script>
var result = '${msg}';
if(result == 'SUCCESS'){
alert("처리가 완료되었습니다.");
}
</script>
<%@include file="../include/footer.jsp"%>
==========================================================================================
listPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ page session="false"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 리스트</title>
<script>
var result = '${msg}';
if (result == 'success') {
alert("처리가 완료되었습니다.");
}
</script>
</head>
<body>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box">
<div class="box-header with-border">
<h3 class="box-title">LIST ALL PAGE</h3>
</div>
<div class="box-body">
<table class="table table-bordered">
<tr>
<th style="width: 10px">BNO</th>
<th>TITLE</th>
<th>WRITER</th>
<th>REGDATE</th>
<th style="width: 40px">VIEWCNT</th>
</tr>
<c:forEach items="${list}" var="boardVO">
<tr>
<td>${boardVO.bno}</td>
<td><a href='/board/readPage${pageMaker.makeQuery(pageMaker.cri.page) }&bno=${boardVO.bno}'>${boardVO.title}</a></td> <td>${boardVO.writer}</td>
<td><fmt:formatDate pattern="yyyy-MM-dd HH:mm" value="${boardVO.regdate}" /></td>
<td><span class="badge bg-red">${boardVO.viewcnt }</span></td>
</tr>
</c:forEach>
</table>
</div>
<div class="box-footer">
<div class="text-center">
<ul class="pagination">
<c:if test="${pageMaker.prev}">
<li><a href="listPage${pageMaker.makeQuery(pageMaker.startPage - 1) }">«</a></li>
</c:if>
<c:forEach begin="${pageMaker.startPage }" end="${pageMaker.endPage }" var="idx">
<li
<c:out value="${pageMaker.cri.page == idx?'class =active':''}"/>>
<a href="listPage${pageMaker.makeQuery(idx)}">${idx}</a>
</li>
</c:forEach>
<c:if test="${pageMaker.next && pageMaker.endPage > 0}">
<li><a
href=listPage"${pageMaker.makeQuery(pageMaker.endPage +1)}">»</a></li>
</c:if>
</ul>
</div>
</div>
</div>
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<%@include file="../include/footer.jsp"%>
</body>
</html>
==========================================================================================
modify.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 조회</title>
</head>
<body>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">READ BOARD</h3>
</div>
<!-- /.box-header -->
<form role="form" method="post">
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1">BNO</label>
<input type="text" name='bno' class="form-control" value="${boardVO.bno}" readonly="readonly">
</div>
<div class="form-group">
<label for="exampleInputEmail1">Title</label>
<input type="text" name='title' class="form-control" value="${boardVO.title}">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Content</label>
<textarea class="form-control" name="content" rows="3">${boardVO.content}</textarea>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Writer</label>
<input type="text" name="writer" class="form-control" value="${boardVO.writer}" readonly>
</div>
<script>
$(document).ready(function(){
var formObj = $("form[role='form']");
console.log(formObj);
//리스트 페이지로 돌아가기
$(".btn-warning").on("click", function(){
self.location = "/board/listAll"
});
//저장
$(".btn-primary").on("click", function(){
formObj.submit();
});
});
</script>
</div>
<!-- /.box-body -->
</form>
<div class="box-footer">
<button type="submit" class="btn btn-primary">SAVE</button>
<button type="submit" class="btn btn-warning">CANCEL</button>
</div>
</div>
<!-- /.box -->
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<%@include file="../include/footer.jsp"%>
</html>
==========================================================================================
read.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 조회</title>
</head>
<body>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">READ BOARD</h3>
</div>
<!-- /.box-header -->
<form role="form" method="post">
<input type='hidden' name='bno' value="${boardVO.bno}">
</form>
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1">Title</label>
<input type="text" name='title' class="form-control" value="${boardVO.title}" readonly="readonly">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Content</label>
<textarea class="form-control" name="content" rows="3" readonly="readonly">${boardVO.content}</textarea>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Writer</label>
<input type="text" name="writer" class="form-control" value="${boardVO.writer}" readonly="readonly">
</div>
<script>
$(document).ready(function(){
var formObj = $("form[role='form']");
console.log(formObj);
//현재 조회 페이지 수정 페이지 이동
$(".btn-warning").on("click", function(){
formObj.attr("action", "/board/modify");
formObj.attr("method", "get");
formObj.submit();
});
//현재 조회 페이지 삭제
$(".btn-danger").on("click", function(){
formObj.attr("action", "/board/remove");
formObj.submit();
});
//리스트 페이지로 돌아가기
$(".btn-primary").on("click", function(){
self.location = "/board/listAll";
});
});
</script>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-warning">Modify</button>
<button type="submit" class="btn btn-danger">REMOVE</button>
<button type="submit" class="btn btn-primary">LIST ALL</button>
</div>
</div>
<!-- /.box -->
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<%@include file="../include/footer.jsp"%>
</html>
==========================================================================================
readPage.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 조회</title>
</head>
<body>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">READ BOARD</h3>
</div>
<!-- /.box-header -->
<form role="form" method="post">
<input type='hidden' name='bno' value="${boardVO.bno}">
<input type="hidden" name="page" value="${cri.page}">
<input type="hidden" name="perPageNum" value="${cri.perPageNum} }">
</form>
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1">Title</label>
<input type="text" name='title' class="form-control" value="${boardVO.title}" readonly="readonly">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Content</label>
<textarea class="form-control" name="content" rows="3" readonly="readonly">${boardVO.content}</textarea>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Writer</label>
<input type="text" name="writer" class="form-control" value="${boardVO.writer}" readonly="readonly">
</div>
<script>
$(document).ready(function(){
var formObj = $("form[role='form']");
console.log(formObj);
//현재 조회 페이지 수정 페이지 이동
$(".btn-warning").on("click", function(){
formObj.attr("action", "/board/modify");
formObj.attr("method", "get");
formObj.submit();
});
//현재 조회 페이지 삭제
$(".btn-danger").on("click", function(){
formObj.attr("action", "/board/remove");
formObj.submit();
});
//리스트 페이지로 돌아가기
$(".btn-primary").on("click", function(){
self.location = "/board/listAll";
});
});
</script>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-warning modifyBtn">Modify</button>
<button type="submit" class="btn btn-danger removeBtn">REMOVE</button>
<button type="submit" class="btn btn-primary goListBtn">LIST ALL</button>
</div>
<script>
$(".btn-primary").on("click", function(){
formObj.attr("method", "get");
formObj.attr("action", "/board/listPage");
formObj.submit();
});
</script>
</div>
<!-- /.box -->
</div>
<!--/.col (left) -->
</div>
<!-- /.row -->
</section>
<!-- /.content -->
</div>
<!-- /.content-wrapper -->
<%@include file="../include/footer.jsp"%>
</html>
==========================================================================================
register.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@include file="../include/header.jsp"%>
<!-- Main content -->
<section class="content">
<div class="row">
<!-- left column -->
<div class="col-md-12">
<!-- general form elements -->
<div class="box box-primary">
<div class="box-header">
<h3 class="box-title">REGISTER BOARD</h3>
</div>
<!-- /.box-header -->
<form role="form" method="post">
<div class="box-body">
<div class="form-group">
<label for="exampleInputEmail1">Title</label> <input type="text"
name='title' class="form-control" placeholder="Enter Title">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Content</label>
<textarea class="form-control" name="content" rows="3"
placeholder="Enter ..."></textarea>
</div>
<div class="form-group">
<label for="exampleInputEmail1">Writer</label> <input type="text"
name="writer" class="form-control" placeholder="Enter Writer">
</div>
</div>
<!-- /.box-body -->
<div class="box-footer">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</form>
</div><!-- /.box -->
</div><!--/.col (left) -->
</div><!-- /.row -->
</section><!-- /.content -->
<%@include file="../include/footer.jsp"%>