package db.memo;
import java.sql.Timestamp;
public class MemoDto {
private String num;
private String writer;
private String story;
private String avata;
private Timestamp writeday;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getStory() {
return story;
}
public void setStory(String story) {
this.story = story;
}
public String getAvata() {
return avata;
}
public void setAvata(String avata) {
this.avata = avata;
}
public Timestamp getWriteday() {
return writeday;
}
public void setWriteday(Timestamp writeday) {
this.writeday = writeday;
}
}
package db.memo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import java.util.Vector;
import oracle_db.DBConnect;
public class MemoDao {
DBConnect db=new DBConnect();
public void insertMemo(MemoDto dto) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="insert into memo values(seq1.nextval,?,?,?,sysdate)";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, dto.getWriter());
pstmt.setString(2, dto.getStory());
pstmt.setString(3, dto.getAvata());
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
public List<MemoDto> getAllMemos(){
List<MemoDto> list=new Vector<MemoDto>();
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from memo order by num desc";
try {
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()) {
MemoDto dto=new MemoDto();
dto.setNum(rs.getString("num"));
dto.setWriter(rs.getString("writer"));
dto.setStory(rs.getString("story"));
dto.setAvata(rs.getString("avata"));
dto.setWriteday(rs.getTimestamp("writeday"));
list.add(dto);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(rs, pstmt, conn);
}
return list;
}
public void deleteMemo(String num) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="delete from memo where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, num);
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
public MemoDto getData(String num) {
MemoDto dto=new MemoDto();
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from memo where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, num);
rs=pstmt.executeQuery();
if(rs.next()) {
dto.setNum(rs.getString("num"));
dto.setWriter(rs.getString("writer"));
dto.setStory(rs.getString("story"));
dto.setAvata(rs.getString("avata"));
dto.setWriteday(rs.getTimestamp("writeday"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(rs, pstmt, conn);
}
return dto;
}
public void updateMemo(MemoDto dto) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="update memo set writer=?,story=?,avata=? where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, dto.getWriter());
pstmt.setString(2, dto.getStory());
pstmt.setString(3, dto.getAvata());
pstmt.setString(4, dto.getNum());
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
}
<%@page import="db.memo.MemoDto"%>
<%@page import="db.memo.MemoDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemoDao dao=new MemoDao();
request.setCharacterEncoding("utf-8");
String writer=request.getParameter("writer");
String story=request.getParameter("story");
String avata=request.getParameter("avata");
MemoDto dto=new MemoDto();
dto.setWriter(writer);
dto.setStory(story);
dto.setAvata(avata);
dao.insertMemo(dto);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=East+Sea+Dokdo&family=Moirai+One&family=Nanum+Pen+Script&family=Orbit&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Insert title here</title>
<style>
div.memo{
position: absolute;
font-size: 1.4em;
font-family: Nanum Pen Script;
}
div.button{
left: 150px;
top: 30px;
width: 400px;
height: 100px;
line-height: 100px;
text-align: center;
}
div.addform{
left: 100px;
top: 150px;
width: 500px;
height: 500px;
padding: 20px 20px;
}
div.updateform{
left: 100px;
top: 150px;
width: 500px;
height: 500px;
padding: 20px 20px;
}
div.list{
left: 700px;
top: 100px;
width: 600px;
height: 700px;
padding: 20px 20px;
}
img.avata{
cursor: pointer;
}
img.select{
border: 2px solid pink;
}
span.writeday{
float: right;
color: #bbb;
}
span.writer{
font-weight: bold;
}
span.mod{
margin-left: 200px; cursor: pointer;
}
span.del{
cursor: pointer;
}
</style>
<script>
$(function(){
list();
$("div.addform").hide();
$("div.updateform").hide();
$("#btnadd").click(function(){
$("div.addform").slideToggle('slow');
})
$("img.avata").eq(2).addClass("select");
$("#avata").val($("img.avata").eq(2).attr("src"));
$("img.avata").click(function(){
$(this).addClass("select");
$(this).siblings().removeClass("select");
$("#avata").val($(this).attr("src"));
})
$("img.uavata").click(function(){
$(this).addClass("select");
$(this).siblings().removeClass("select");
$("#uavata").val($(this).attr("src"));
})
$("td.dbsave").click(function(){
var data=$("#addform").serialize();
$.ajax({
type:"post",
url:"memoinsert.jsp",
dataType:"html",
data:data,
success:function(res){
list();
$("#writer").val("");
$("#story").val("");
$("img.avata").removeClass("select");
$("img.avata").eq(2).addClass("select");
$("#avata").val($("img.avata").eq(2).attr("src"));
}
})
})
$(document).on("click","span.del",function(){
var num=$(this).attr("num");
$.ajax({
type:"get",
url:"memodelete.jsp",
dataType:"html",
data:{"num":num},
success:function(){
list();
}
});
});
$(document).on("click","span.mod",function(){
var num=$(this).attr("num");
$("#unum").val(num);
$.ajax({
type:"get",
url:"memoGetData.jsp",
dataType:"json",
data:{"num":num},
success:function(res){
$("#unum").val(res.num);
$("#uwriter").val(res.writer);
$("#ustory").val(res.story);
$("#uavata").val(res.avata);
list();
$("img.uavata").each(function(i,ele){
if($(this).attr("src")==res.avata){
$(this).addClass("select");
} else {
$(this).removeClass("select");
}
});
$("div.addform").hide();
$("div.updateform").show();
}
});
});
$("td.dbupdate").click(function(){
var data=$("#updateform").serialize();
$.ajax({
type:"post",
url:"memoUpdate.jsp",
dataType:"html",
data:data,
success:function(res){
list();
$("#uwriter").val("");
$("#ustory").val("");
$("img.uavata").removeClass("select");
$("img.uavata").eq(2).addClass("select");
$("#uavata").val($("img.uavata").eq(2).attr("src"));
}
})
$("div.updateform").hide();
});
});
function list(){
$.ajax({
type:"get",
dataType:"json",
url:"memolist.jsp",
success:function(data){
var s="";
if(data.length==0){
s+="<h3 class='alert alert-info'>저장된 메모가 없습니다.</h3>"
} else {
$.each(data,function(i,ele){
s+="<table class='table'>";
s+="<tr><td>";
s+="<span class='writer'>작성자: "+ele.writer+"</span>";
s+="<span class='writeday'>"+ele.writeday+"</span>";
s+="<span class='mod' num="+ele.num+" style='color: cornflowerblue;'>수정 |</span>";
s+="<span class='del' num="+ele.num+" style='color: pink;'> 삭제</span>";
s+="<br>";
s+="<pre>"+ele.story;
s+="<img src='"+ele.avata+"' align='right' width='80'>";
s+="</pre>";
s+="</td></tr>";
s+="</table><br>";
});
}
$(".list").html(s);
}
})
}
</script>
</head>
<body>
<div class="memo button">
<button type="button" class="btn btn-info" id="btnadd">메모추가</button>
</div>
<div class="memo addform">
<form id="addform"> <!-- action은 action페이지로 넘어가서 redirect 하는 방식이다. ajax에서는 사용 안한다.-->
<table class="table table-bordered">
<tr>
<th style="width: 120px; background-color: #e0ffff;">작성자</th>
<td>
<input type="text" class="form-control" name="writer" id="writer" style="width: 120px;">
</td>
</tr>
<tr>
<th style="width: 120px; background-color: #e0ffff;">메모</th>
<td>
<textarea class="form-control" name="story" id="story" style="width: 270px; height: 150px;"></textarea> <!-- 수정은 >< 사이에다가 해야한다. -->
</td>
</tr>
<tr>
<th style="width: 120px; background-color: #e0ffff;">아바타</th>
<td>
<input type="hidden" name="avata" id="avata"> <!-- 이미지로 나타난다. 굳이 글씨가 나올 필요가 없으니까 hidden을 사용한다.
<script>
var s="";
for(var i=1;i<=10;i++){
s+="<img src='../img/avata/b"+i+".png' width='50' class='avata'>";
if(i==5){
s+="<br>";
}
}
document.write(s);
</script>
</td>
</tr>
<tr>
<td colspan="2" align="center" style="cursor: pointer; background-color: #e0ffff;" class="dbsave">
DB에 저장하기
</td>
</tr>
</table>
</form>
</div>
<div class="memo updateform">
<form id="updateform"> <!-- action은 action페이지로 넘어가서 redirect 하는 방식이다. ajax에서는 사용 안한다.-->
<!-- hidden 값 넣어주기. (받아온 seq값. ) ) -->
<input type="hidden" name="unum" id="unum" > <!-- 수정폼의 name,id와 update폼의 name,id는 달라야 한다. -->
<!--
<table class="table table-bordered">
<tr>
<th style="width: 120px; background-color: #e0ffff;">작성자</th>
<td>
<input type="text" class="form-control" name="uwriter" id="uwriter" style="width: 120px;">
</td>
</tr>
<tr>
<th style="width: 120px; background-color: #e0ffff;">메모</th>
<td>
<textarea class="form-control" name="ustory" id="ustory" style="width: 270px; height: 150px;"></textarea> <!-- 수정은 >< 사이에다가 해야한다. -->
</td>
</tr>
<tr>
<th style="width: 120px; background-color: #e0ffff;">아바타</th>
<td>
<input type="hidden" name="uavata" id="uavata"> <!-- 이미지로 나타난다. 굳이 글씨가 나올 필요가 없으니까 hidden을 사용한다.
<script>
var s="";
for(var i=1;i<=10;i++){
s+="<img src='../img/avata/b"+i+".png' width='50' class='uavata'>";
if(i==5){
s+="<br>";
}
}
document.write(s);
</script>
</td>
</tr>
<tr>
<td colspan="2" align="center" style="cursor: pointer; background-color: #e0ffff;" class="dbupdate">
DB에 수정하기
</td>
</tr>
</table>
</form>
</div>
<div class="memo list">list</div>
</body>
</html>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.json.simple.JSONArray"%>
<%@page import="java.util.List"%>
<%@page import="db.memo.MemoDao"%>
<%@page import="db.memo.MemoDto"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemoDao dao=new MemoDao();
List<MemoDto> list=dao.getAllMemos();
JSONArray arr=new JSONArray();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm");
for(MemoDto dto:list){
JSONObject ob=new JSONObject();
ob.put("num", dto.getNum());
ob.put("writer", dto.getWriter());
ob.put("story", dto.getStory());
ob.put("avata", dto.getAvata());
ob.put("writeday", sdf.format(dto.getWriteday()));
arr.add(ob);
}
%>
<%=arr.toString()%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="db.memo.MemoDto"%>
<%@page import="db.memo.MemoDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemoDao dao=new MemoDao();
String num=request.getParameter("num");
MemoDto dto=dao.getData(num);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-hh HH:mm");
JSONObject ob=new JSONObject();
ob.put("num", dto.getNum());
ob.put("writer", dto.getWriter());
ob.put("story", dto.getStory());
ob.put("avata", dto.getAvata());
ob.put("writeday", sdf.format(dto.getWriteday()));
%>
<%=ob.toString() %>
<%@page import="db.memo.MemoDto"%>
<%@page import="db.memo.MemoDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
MemoDao dao=new MemoDao();
String num=request.getParameter("unum");
String writer=request.getParameter("uwriter");
String story=request.getParameter("ustory");
String avata=request.getParameter("uavata");
MemoDto dto=new MemoDto();
dto.setNum(num);
dto.setWriter(writer);
dto.setStory(story);
dto.setAvata(avata);
dao.updateMemo(dto);
%>
<%@page import="db.memo.MemoDto"%>
<%@page import="db.memo.MemoDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
MemoDao dao=new MemoDao();
String num=request.getParameter("num");
dao.deleteMemo(num);
%>
![](https://velog.velcdn.com/images/limchard/post/1d5fd158-bc82-40fc-816a-05bd04fa4b98/image.gif)
예제 2
package db.ajaxboard;
import java.sql.Timestamp;
public class AjaxBoardDto {
private String num;
private String writer;
private String subject;
private String story;
private String avata;
private Timestamp writeday;
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getStory() {
return story;
}
public void setStory(String story) {
this.story = story;
}
public String getAvata() {
return avata;
}
public void setAvata(String avata) {
this.avata = avata;
}
public Timestamp getWriteday() {
return writeday;
}
public void setWriteday(Timestamp writeday) {
this.writeday = writeday;
}
}
package db.ajaxboard;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import oracle_db.DBConnect;
public class AjaxBoardDao {
DBConnect db=new DBConnect();
public void insertBoard(AjaxBoardDto dto) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="insert into ajaxboard values(seq1.nextval,?,?,?,?,sysdate)";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, dto.getWriter());
pstmt.setString(2, dto.getSubject());
pstmt.setString(3, dto.getStory());
pstmt.setString(4, dto.getAvata());
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
public ArrayList<AjaxBoardDto> getAllDatas(){
ArrayList<AjaxBoardDto> list=new ArrayList<AjaxBoardDto>();
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from ajaxboard order by num desc";
try {
pstmt=conn.prepareStatement(sql);
rs=pstmt.executeQuery();
while(rs.next()) {
AjaxBoardDto dto=new AjaxBoardDto();
dto.setNum(rs.getString("num"));
dto.setWriter(rs.getString("writer"));
dto.setSubject(rs.getString("subject"));
dto.setStory(rs.getString("story"));
dto.setAvata(rs.getString("avata"));
dto.setWriteday(rs.getTimestamp("writeday"));
list.add(dto);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(rs, pstmt, conn);
} return list;
}
public AjaxBoardDto getData(String num) {
AjaxBoardDto dto=new AjaxBoardDto();
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
ResultSet rs=null;
String sql="select * from ajaxboard where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, num);
rs=pstmt.executeQuery();
if(rs.next()) {
dto.setNum(rs.getString("num"));
dto.setWriter(rs.getString("writer"));
dto.setSubject(rs.getString("subject"));
dto.setStory(rs.getString("story"));
dto.setAvata(rs.getString("avata"));
dto.setWriteday(rs.getTimestamp("writeday"));
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(rs, pstmt, conn);
}
return dto;
}
public void updateBoard(AjaxBoardDto dto) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="update ajaxboard set writer=?,subject=?,avata=?,story=? where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, dto.getWriter());
pstmt.setString(2, dto.getSubject());
pstmt.setString(3, dto.getAvata());
pstmt.setString(4, dto.getStory());
pstmt.setString(5, dto.getNum());
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
public void deleteBoard(String num) {
Connection conn=db.getConnection();
PreparedStatement pstmt=null;
String sql="delete from ajaxboard where num=?";
try {
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, num);
pstmt.execute();
} catch (SQLException e) {
e.printStackTrace();
} finally {
db.dbClose(pstmt, conn);
}
}
}
<%@page import="db.ajaxboard.AjaxBoardDao"%>
<%@page import="db.ajaxboard.AjaxBoardDto"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
String writer=request.getParameter("writer");
String subject=request.getParameter("subject");
String story=request.getParameter("story");
String avata=request.getParameter("avata");
AjaxBoardDto dto=new AjaxBoardDto();
dto.setWriter(writer);
dto.setSubject(subject);
dto.setStory(story);
dto.setAvata(avata);
AjaxBoardDao dao=new AjaxBoardDao();
dao.insertBoard(dto);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=East+Sea+Dokdo&family=Moirai+One&family=Nanum+Pen+Script&family=Orbit&display=swap" rel="stylesheet">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
<title>Insert title here</title>
<style>
div.list,div.detail,div.updateform{
position: absolute;
left: 100px;
top: 100px;
}
div.writeform{
position: absolute;
left: 900px;
top: 150px;
}
span.detail{
cursor: pointer;
}
div.list *,idv.writeform *,div.detail *,div.updateform *{
font-family: Nenum Pen Script;
font-size: 15pt;
}
</style>
<script>
$(function(){
list();
$("div.writeform").hide();
$("div.updateform").hide();
$("#btnwrite").click(function(){
$("div.writeform").toggle('slow');
});
$("#btnadd").click(function(){
var writer=$("#writer").val();
var subject=$("#subject").val();
var avata=$("#avata").val();
var story=$("#story").val();
console.log(writer,subject,avata,story);
$.ajax({
type:"post",
dataType:"html",
url:"insertBoard.jsp",
data:{"writer":writer,"subject":subject,"story":story,"avata":avata},
success:function(){
list();
$("#writer").val("");
$("#subject").val("");
$("#story").val("");
$("div.writeform").hide();
}
});
});
$(document).on("click","span.detail",function(){
var num=$(this).attr("num");
$.ajax({
type:"get",
dataType:"json",
url:"detailBoard.jsp",
data:{"num":num},
success:function(data){
var s="<table class='table table-bordered' style='width:500px;'>";
s+="<tr>";
s+="<td><b style='font-size:1.3em;'>"+data.subject+"</b>";
s+="<span style='float:right; color:gray;'>"+data.writeday+"</span></td></tr>";
s+="<tr><td>";
s+="<img src='"+data.avata+"' width='100' align='left'>";
s+="<br>"+data.writer+"</td></tr>";
s+="<tr height='150'><td><pre>"+data.story+"</pre></td></tr>";
s+="<tr><td align='right' num='"+data.num+"'>";
s+="<button type='button' class='btn btn-default btnadd'>글쓰기</button>";
s+="<button type='button' class='btn btn-warning btnlist'>목록</button>";
s+="<button type='button' class='btn btn-info btnmodify'>수정</button>";
s+="<button type='button' class='btn btn-success btndelete'>삭제</button>";
s+="</td></tr></table>";
$("div.detail").html(s);
$("div.list").hide();
$("div.detail").show();
}
});
});
$(document).on("click",".btnlist",function(){
$("div.list").show();
$("div.detail").hide();
})
$(document).on("click",".btnadd",function(){
$("div.detail").hide();
$("div.list").show();
$("div.writeform").show();
});
$(document).on("click",".btndelete",function(){
var num=$(this).parent().attr("num");
$.ajax({
type:"get",
dataType:"html",
url:"deleteBoard.jsp",
data:{"num":num},
success:function(res){
list();
$("div.detail").hide();
$("div.list").show();
}
})
});
$(document).on("click",".btnmodify",function(){
var num=$(this).parent().attr("num");
$.ajax({
type:"get",
dataType:"json",
url:"detailBoard.jsp",
data:{"num":num},
success:function(data){
$("#unum").val(data.num);
$("#uwriter").val(data.writer);
$("#usubject").val(data.subject);
$("#uavata").val(data.avata);
$("#ustory").val(data.story);
$("div.detail").hide();
$("div.updateform").show();
}
});
})
$("#btnupdate").click(function(){
var data=$("#updatefrm").serialize();
$.ajax({
type:"post",
dataType:"html",
url:"updateBoard.jsp",
data:data,
success:function(){
list();
$("div.updateform").hide();
$("div.list").show();
}
});
});
});
function list(){
$.ajax({
type:"get",
url:"listBoard.jsp",
dataType:"json",
success:function(res){
var s="<table class='table table-bordered' style='width:700px;'>";
s+="<caption align='top'><b>AJAX로 게시판 만들기<b></caption>";
s+="<tr class='table-info'>";
s+="<th width='60'>번호</th>";
s+="<th width='260'>제목</th>";
s+="<th width='120'>작성자</th>";
s+="<th width='160'>작성일</th>";
s+="</tr>";
if(res.length==0){
s+="<tr>";
s+="<td colspan='4' align='center'>";
s+="<b>저장된 글이 없습니다</b>";
s+="</td></tr>";
} else {
$.each(res,function(i,item){
s+="<tr>";
s+="<td align='center'>"+(i+1)+"</td>";
s+="<td>";
s+="<span num='"+item.num+"' class='detail'>"+item.subject+"</span>";
s+="</td>";
s+="<td>"+item.writer+"</td>";
s+="<td>"+item.writeday+"</td>";
s+="</tr>"
});
}
$("#board").html(s);
}
})
}
</script>
</head>
<body>
<div class="list">
<button type="button" class="btn btn-info" id="btnwrite">글쓰기</button>
<div id="board"></div>
</div>
<div class="writeform">
<form>
<table class="table table-borderd" style="width: 300px;">
<caption align="top"><b>게시글추가</b></caption>
<tr>
<th>작성자</th>
<td>
<input type="text" id="writer" style="width: 120px;" class="form-control">
</td>
</tr>
<tr>
<th>제목</th>
<td>
<input type="text" id="subject" style="width: 180px;" class="form-control">
</td>
</tr>
<tr>
<th>상태이미지</th>
<td>
<select id="avata" class="form-control">
<option value="../img/avata/b1.png">i seoul you</option>
<option value="../img/avata/b2.png">24시간이 모자라</option>
<option value="../img/avata/b5.png">HBD</option>
<option value="../img/avata/b8.png">좋댓구알</option>
<option value="../img/avata/b6.png">OTL</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<textarea style="width: 290px; height: 80px;" id="story" class="form-control"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<button type="button" class="btn btn-success" id="btnadd">DB추가</button>
</td>
</tr>
</table>
</form>
</div>
<div class="updateform">
<form id="updatefrm">
<!-- num hidden -->
<input type="hidden" name="unum" id="unum"> <!-- 이게 중요! 기준점 -->
<table class="table table-borderd" style="width: 300px;">
<caption align="top"><b>게시글수정</b></caption>
<tr>
<th>작성자</th>
<td>
<input type="text" id="uwriter" name="uwriter" style="width: 120px;" class="form-control">
</td>
</tr>
<tr>
<th>제목</th>
<td>
<input type="text" id="usubject" name="usubject" style="width: 180px;" class="form-control">
</td>
</tr>
<tr>
<th>상태이미지</th>
<td>
<select id="uavata" name="uavata" class="form-control">
<option value="../img/avata/b1.png">i seoul you</option>
<option value="../img/avata/b2.png">24시간이 모자라</option>
<option value="../img/avata/b5.png">HBD</option>
<option value="../img/avata/b8.png">좋댓구알</option>
<option value="../img/avata/b6.png">OTL</option>
</select>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<textarea style="width: 290px; height: 80px;" id="ustory" name="ustory" class="form-control"></textarea>
</td>
</tr>
<tr>
<td colspan="2" align="center">
<button type="button" class="btn btn-danger" id="btnupdate">DB수정</button>
</td>
</tr>
</table>
</form>
</div>
<div class="detail"></div>
</body>
</html>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="org.json.simple.JSONArray"%>
<%@page import="db.ajaxboard.AjaxBoardDto"%>
<%@page import="java.util.ArrayList"%>
<%@page import="db.ajaxboard.AjaxBoardDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
AjaxBoardDao db=new AjaxBoardDao();
ArrayList<AjaxBoardDto> list=db.getAllDatas();
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
JSONArray arr=new JSONArray();
for(AjaxBoardDto dto:list){
JSONObject ob=new JSONObject();
ob.put("num", dto.getNum());
ob.put("writer", dto.getWriter());
ob.put("subject", dto.getSubject());
ob.put("story", dto.getStory());
ob.put("avata",dto.getAvata());
ob.put("writeday",sdf.format(dto.getWriteday()));
arr.add(ob);
}
%>
<%=arr.toString() %>
<%@page import="db.ajaxboard.AjaxBoardDao"%>
<%@page import="db.ajaxboard.AjaxBoardDto"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("utf-8");
String num=request.getParameter("unum");
String writer=request.getParameter("uwriter");
String subject=request.getParameter("usubject");
String story=request.getParameter("ustory");
String avata=request.getParameter("uavata");
AjaxBoardDto dto=new AjaxBoardDto();
dto.setNum(num);
dto.setWriter(writer);
dto.setSubject(subject);
dto.setStory(story);
dto.setAvata(avata);
AjaxBoardDao dao=new AjaxBoardDao();
dao.updateBoard(dto);
%>
<%@page import="db.ajaxboard.AjaxBoardDao"%>
<%@page import="db.ajaxboard.AjaxBoardDto"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String num=request.getParameter("num");
AjaxBoardDao dao=new AjaxBoardDao();
dao.deleteBoard(num);
%>
<%@page import="java.text.SimpleDateFormat"%>
<%@page import="org.json.simple.JSONObject"%>
<%@page import="db.ajaxboard.AjaxBoardDto"%>
<%@page import="db.ajaxboard.AjaxBoardDao"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String num=request.getParameter("num");
AjaxBoardDao dao=new AjaxBoardDao();
AjaxBoardDto dto=dao.getData(num);
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
JSONObject ob=new JSONObject();
ob.put("num", dto.getNum());
ob.put("writer", dto.getWriter());
ob.put("subject", dto.getSubject());
ob.put("story", dto.getStory());
ob.put("avata",dto.getAvata());
ob.put("writeday",sdf.format(dto.getWriteday()));
%>
<%=ob.toString() %>
![업로드중..]()