일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 계절성 모델
- 시계열 상관 분석
- 범주형 데이터
- 데이터 종류에 따른 분석 방법
- 날짜 시간 데이터 전처리
- Python
- 최소-최대 정규화
- 다중상관분석
- 군집화 시각화 방법
- 주성분 분석
- 데이터의 차원 축소
- Q-Q 플롯
- 순서형 데이터
- ARMA 모델링
- 선형 판별 분석 LDA
- 시계열 모델링
- 다변량 분석
- R과 Python
- 데이터 분석 프로세스
- 명목형 데이터
- Z-점수 기반 이상치 탐지
- ARIMA 모델링
- 상관 분석
- 상위포지션
- 데이터 수집 및 전처리
- 상자 그림
- 주성분 줄이기
- 지수평활법
- custom vision
- 시계열 특성을 고려한 이상치 탐지
Archives
- Today
- Total
me made it !
[JSP] 20230320 JSP 게시판 글에 답글 달기 본문
반응형
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import = "example1230.domain.BoardVo " %>
<% BoardVo bv = (BoardVo)request.getAttribute("bv");%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글답변화면</title>
<script type="text/javascript">
function check(){
var fm = document.frm;
if (fm.subject.value == "" ){
alert("제목을 입력하세요");
fm.subject.focus();
return;
}else if (fm.contents.value == ""){
alert("내용을 입력하세요");
fm.contents.focus();
return;
}else if (fm.writer.value == ""){
alert("작성자를 입력하세요");
fm.writer.focus();
return;
}
fm.action = "<%=request.getContextPath()%>/board/boardReplyAction.do";
fm.method="post";
fm.submit();
return;
}
</script>
</head>
<body>
게시판 글답변
<form name="frm">
<input type="hidden" name="bidx" value="<%=bv.getBidx()%>">
<input type="hidden" name="originbidx" value="<%=bv.getOriginbidx()%>">
<input type="hidden" name="depth" value="<%=bv.getDepth()%>">
<input type="hidden" name="level_" value="<%=bv.getLevel_()%>">
<table border=1 style="width:500px;">
<tr>
<td>제목</td>
<td><input type="text" name="subject"></td>
</tr>
<tr>
<td>내용</td>
<td><textarea name="contents" cols="50" rows="5"></textarea></td>
</tr>
<tr>
<td>작성자</td>
<td><input type="text" name="writer" maxlength=5></td>
</tr>
<tr>
<td>파일첨부</td>
<td><input type="file" name="filename"></td>
</tr>
<tr><td colspan=2>
<input type="button" name="btn" value="확인" onclick="check();">
<input type="reset" name="rst" value="리셋">
</td></tr>
</table>
</form>
</body>
</html>
package example1230.service;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import example1230.dbconn.Dbconn;
import example1230.domain.BoardVo;
public class BoardDao {
private Connection conn;
public BoardDao() {
Dbconn dbconn = new Dbconn();
this.conn = dbconn.getConnection();
}
public ArrayList<BoardVo> boardSelectAll(){
ArrayList<BoardVo> blist = new ArrayList<BoardVo>();
String sql ="select * from board1230 where delyn = 'n' order by originbidx DESC, depth asc";
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()){
BoardVo bv = new BoardVo();
bv.setBidx(rs.getInt("bidx"));
bv.setSubject(rs.getString("subject"));
bv.setContent(rs.getString("content"));
bv.setWriter(rs.getString("writer"));
bv.setWriteday(rs.getString("writeday"));
blist.add(bv);
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
rs.close();
pstmt.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
return blist;
}
public int boardInsert(BoardVo bv) {
int value =0;
String sql = "INSERT INTO board1230(bidx,originbidx,depth,level_,subject,content,writer,ip,midx,pwd)"
+ "VALUES(bidx_seq.NEXTVAL,bidx_seq.NEXTVAL,0,0,?,?,?,?,?,?)";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bv.getSubject());
pstmt.setString(2, bv.getContent());
pstmt.setString(3, bv.getWriter());
pstmt.setString(4, bv.getIp());
pstmt.setInt(5, bv.getMidx());
pstmt.setString(6, bv.getPwd());
value = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
public BoardVo boardSelectOne(int bidx) {
BoardVo bv = null;
String sql = "select * from board1230 where bidx = ?";
PreparedStatement pstmt = null;
ResultSet rs= null;
try {
pstmt =conn.prepareStatement(sql);
pstmt.setInt(1, bidx);
rs =pstmt.executeQuery();
if(rs.next()) {
bv = new BoardVo();
bv.setBidx(rs.getInt("bidx"));
bv.setSubject(rs.getString("subject"));
bv.setContent(rs.getString("content"));
bv.setWriter(rs.getString("writer"));
bv.setViewcnt(rs.getString("viewcnt"));
bv.setOriginbidx(rs.getInt("originbidx"));
bv.setDepth(rs.getInt("depth"));
bv.setLevel_(rs.getInt("level_"));
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
rs.close();
pstmt.close();
conn.close();
}catch(Exception e) {
e.printStackTrace();
}
}
return bv;
}
public int boardViewCnt(int bidx) {
System.out.println("bidx" + bidx);
int value =0;
String sql="UPDATE BOARD1230 SET viewcnt=NVL(viewcnt,0)+1 where bidx=? ";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, bidx);
value = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
// conn.close(); conn 연결을 끊으면 다음 메소드가 동작을 안한다.
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
public int boardModify(BoardVo bv) {
// System.out.println("비밀번호는?"+bv);
int value =0;
String sql = "UPDATE board1230 SET subject=?,content=?, writer=? WHERE bidx=? and pwd=? ";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setString(1, bv.getSubject());
pstmt.setString(2, bv.getContent());
pstmt.setString(3, bv.getWriter());
pstmt.setInt(4, bv.getBidx());
pstmt.setString(5, bv.getPwd());
value = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
public int boardDelete(BoardVo bv) {
int value = 0;
String sql = "UPDATE board1230 SET delyn ='Y' WHERE bidx=? and pwd =?";
PreparedStatement pstmt = null;
try {
pstmt = conn.prepareStatement(sql);
pstmt.setInt(1, bv.getBidx());
pstmt.setString(2, bv.getPwd());
value = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
}
else if (str.equals("/board/boardReply.do")) {
String bidx = request.getParameter("bidx");
String originbidx = request.getParameter("originbidx");
String depth = request.getParameter("depth");
String level_ = request.getParameter("level_");
BoardVo bv = new BoardVo();
bv.setBidx(Integer.parseInt(bidx));
bv.setOriginbidx(Integer.parseInt(originbidx));
bv.setDepth(Integer.parseInt(depth));
bv.setLevel_(Integer.parseInt(level_));
request.setAttribute("bv", bv);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardReply.jsp");
rd.forward(request, response);
}else if (str.equals("/board/boardReplyAction.do")) {
String bidx = request.getParameter("bidx");
String originbidx = request.getParameter("originbidx");
String depth = request.getParameter("depth");
String level_ = request.getParameter("level_");
String subject = request.getParameter("subject");
String contents = request.getParameter("contents");
String writer = request.getParameter("writer");
response.sendRedirect(request.getContextPath()+"/board/boardList.do");
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@page import="example1230.domain.BoardVo" %>
<% BoardVo bv =(BoardVo)request.getAttribute("bv"); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
내용보기
<table border=1 style="width:500px;">
<tr>
<td style="width:50px;">제목</td>
<td><%=bv.getSubject() %></td>
<td> 조회수(<%=bv.getViewcnt() %>)</td>
</tr>
<tr>
<td>파일다운로드</td>
<td></td>
</tr>
<tr>
<td>이미지</td>
<td></td>
</tr>
<tr>
<td style="height:200px;">내용</td>
<td><%=bv.getContent() %></td>
<td></td>
</tr>
<tr>
<td>작성자</td>
<td><%=bv.getWriter() %></td>
<td></td>
</tr>
<tr>
<td colspan=2 style="text-align:right;">
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardModify.do?bidx=<%=bv.getBidx() %>'">수정</button>
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardDelete.do?bidx=<%=bv.getBidx() %>'">삭제</button>
<button onclick = "location.href='<%=request.getContextPath()%>/board/boardReply.do?bidx=<%=bv.getBidx() %>&originbidx=<%=bv.getOriginbidx()%>&depth=<%=bv.getDepth()%>&level_=<%=bv.getLevel_()%>'">답변</button>
<button>목록</button>
</td>
</tr>
</table>
</body>
</html>
package example1230.domain;
public class BoardVo {
private int bidx;
private String subject;
private String contents;
private String writer;
private String delyn;
private String writeday;
private String ip;
private int midx;
private String viewcnt;
private String pwd;
private int originbidx;
public String getContents() {
return contents;
}
public void setContents(String contents) {
this.contents = contents;
}
public int getOriginbidx() {
return originbidx;
}
public void setOriginbidx(int originbidx) {
this.originbidx = originbidx;
}
public int getDepth() {
return depth;
}
public void setDepth(int depth) {
this.depth = depth;
}
public int getLevel_() {
return level_;
}
public void setLevel_(int level_) {
this.level_ = level_;
}
private int depth;
private int level_;
public String getViewcnt() {
return viewcnt;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public void setViewcnt(String viewcnt) {
this.viewcnt = viewcnt;
}
public int getBidx() {
return bidx;
}
public void setBidx(int bidx) {
this.bidx = bidx;
}
public String getSubject() {
return subject;
}
public void setSubject(String subject) {
this.subject = subject;
}
public String getContent() {
return contents;
}
public void setContent(String contents) {
this.contents = contents;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getDelyn() {
return delyn;
}
public void setDelyn(String delyn) {
this.delyn = delyn;
}
public String getWriteday() {
return writeday;
}
public void setWriteday(String writeday) {
this.writeday = writeday;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getMidx() {
return midx;
}
public void setMidx(int midx) {
this.midx = midx;
}
}
반응형
'TIL > JSP' 카테고리의 다른 글
[JSP] 20230320 JSP 페이징 (0) | 2023.03.20 |
---|---|
[JSP] 20230320 JSP 답글은 구분하기 위해 제목 앞에 띄어쓰기와 'ㄴ '넣기 (0) | 2023.03.20 |
[JSP] 20230317 JSP 로그인 하고 게시판에 글쓰기 (0) | 2023.03.17 |
[JSP] 20230317 JSP 회원 아이디 로그인 (0) | 2023.03.17 |
[JSP] 20230317 JSP 게시판 삭제 기능 구현하기 (0) | 2023.03.17 |