일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- custom vision
- 상자 그림
- Z-점수 기반 이상치 탐지
- 상위포지션
- Q-Q 플롯
- ARIMA 모델링
- 다중상관분석
- 순서형 데이터
- 주성분 줄이기
- 최소-최대 정규화
- 시계열 특성을 고려한 이상치 탐지
- ARMA 모델링
- 군집화 시각화 방법
- 데이터 종류에 따른 분석 방법
- 다변량 분석
- 명목형 데이터
- 선형 판별 분석 LDA
- 데이터 수집 및 전처리
- 지수평활법
- 상관 분석
- Python
- 시계열 상관 분석
- 데이터 분석 프로세스
- 계절성 모델
- 날짜 시간 데이터 전처리
- R과 Python
- 주성분 분석
- 시계열 모델링
- 범주형 데이터
- 데이터의 차원 축소
Archives
- Today
- Total
me made it !
[JSP] 20230316 JSP 게시판 글 내용 수정하기 본문
반응형
package example1230.controller;
import java.io.IOException;
import java.net.InetAddress;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import example1230.domain.BoardVo;
import example1230.service.BoardDao;
@WebServlet("/BoardController")
public class BoardController extends HttpServlet {
private static final long serialVersionUID = 1L;
String str;
public BoardController(String path) {
this.str = path;
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8");
if(str.equals("/board/boardList.do")) {
System.out.println("boardList.do 들어옴");
BoardDao bd = new BoardDao();
ArrayList<BoardVo> blist = bd.boardSelectAll();
request.setAttribute("blist", blist);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardList.jsp");
rd.forward(request, response); //forward 방식 : 같은 영역안에 있는 다른 공간에 정보를 넘겨줌
}
//과제 !
if(str.equals("/board/boardWrite.do")) {
System.out.println("boardWrite.do 들어옴");
BoardDao bd = new BoardDao();
ArrayList<BoardVo> blist = bd.boardSelectAll();
request.setAttribute("blist", blist);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardWrite.jsp");
rd.forward(request, response); //forward 방식 : 같은 영역안에 있는 다른 공간에 정보를 넘겨줌
}
else if(str.equals("/board/boardWriteAction.do")) {
String subject = request.getParameter("subject");
String contents = request.getParameter("contents");
String writer = request.getParameter("writer");
String ip = InetAddress.getLocalHost().getHostAddress();
int midx=10;
//처리하는 부분
BoardVo bv= new BoardVo();
bv.setSubject(subject);
bv.setContent(contents);
bv.setWriter(writer);
bv.setIp(ip);
bv.setMidx(midx);
BoardDao bd = new BoardDao();
int value = bd.boardInsert(bv);
//이동하는 부분
if (value == 1) {
response.sendRedirect(request.getContextPath()+"/board/boardList.do");
}else{
response.sendRedirect(request.getContextPath()+"/board/boardWrite.do");
}
}else if (str.equals("/board/boardContents.do")) {
String bidx = request.getParameter("bidx");
System.out.println("bidx:" + bidx );
int bidxInt = Integer.parseInt(bidx);
BoardDao bd = new BoardDao();
int value = bd.boardViewCnt(bidxInt);
BoardVo bv = bd.boardSelectOne(bidxInt);
request.setAttribute("bv", bv);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardContents.jsp");
rd.forward(request, response);
}else if (str.equals("/board/boardModify.do")) {
System.out.println("boardmodify들어왔음");
String bidx = request.getParameter("bidx");
System.out.println("bidx:" + bidx );
int bidxInt = Integer.parseInt(bidx);
BoardDao bd = new BoardDao();
BoardVo bv = bd.boardSelectOne(bidxInt);
request.setAttribute("bv", bv);
RequestDispatcher rd = request.getRequestDispatcher("/board/boardModify.jsp");
rd.forward(request, response);
}else if(str.equals("/board/boardModifyAction.do")) {
String bidx= request.getParameter("bidx");
int bidxInt =Integer.parseInt(bidx);
String subject =request.getParameter("subject");
String contents =request.getParameter("contents");
String writer =request.getParameter("writer");
//update 메소드 사용
BoardVo bv = new BoardVo();
bv.setBidx(bidxInt);
bv.setSubject(subject);
bv.setContent(contents);
bv.setWriter(writer);
BoardDao bd = new BoardDao();
int value = bd.boardModify(bv);
if(value==1) {
response.sendRedirect(request.getContextPath()+"/board/boardContents.do?bidx="+bidx);
}else {
response.sendRedirect(request.getContextPath()+"/board/boardModify.do?bidx="+bidx);
}
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
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 bidx DESC";
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,subject,content,writer,ip,midx)"
+ "VALUES(bidx_seq.NEXTVAL,?,?,?,?,?)";
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());
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"));
}
} 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) {
int value =0;
String sql = "UPDATE board1230 SET subject=?,content=?, writer=? WHERE bidx=? ";
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());
value = pstmt.executeUpdate();
} catch (Exception e) {
e.printStackTrace();
}finally {
try {
pstmt.close();
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return value;
}
}
<%@ 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>삭제</button>
<button>답변</button>
<button>목록</button>
</td>
</tr>
</table>
</body>
</html>
<%@ 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/boardModifyAction.do";
fm.method="post";
fm.submit();
return;
}
</script>
</head>
<body>
게시판 글수정
<form name="frm">
<input type="hidden" name="bidx" value="<%=bv.getBidx() %>">
<table border=1 style="width:500px;">
<tr>
<td>제목</td>
<td><input type="text" name="subject" value="<%=bv.getSubject() %>"></td>
</tr>
<tr>
<td>내용</td>
<td><textarea name="contents" cols="50" rows="5" ><%=bv.getContent() %></textarea></td>
</tr>
<tr>
<td>작성자</td>
<td><input type="text" name="writer" maxlength=5 value ="<%=bv.getWriter() %>"></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>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import ="java.util.*" %>
<%@ page import ="example1230.domain.BoardVo" %>
<%
ArrayList<BoardVo> blist = (ArrayList<BoardVo>) request.getAttribute("blist");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<style type="text/css">
a:link{
text-decoration:none;
}
</style>
</head>
<body>
게시판 목록
<form name="frm" action="<%=request.getContextPath() %>/board/boardList.do" method="post">
<table style="text-align:left;width:800px;border:0;">
<tr>
<td style="width:600px;"></td>
<td>
<select name="searchType">
<option value="subject">제목</option>
<option value="writer">작성자</option>
</select>
</td>
<td><input type="text" name="keyword" size="10"></td>
<td><input type="submit" name="submit" value="검색"></td>
</tr>
</table>
</form>
<table border=1 style="text-align:left;width:800px;">
<tr>
<td>게시물번호</td>
<td>제목</td>
<td>작성자</td>
<td>날짜</td>
</tr>
<!-- 향상된 for 문 -->
<%for(BoardVo bv: blist){ %>
<tr>
<td><%=bv.getBidx() %></td>
<td><a href="<%=request.getContextPath()%>/board/boardContents.do?bidx=<%=bv.getBidx() %>"><%=bv.getSubject() %></a></td>
<td><%=bv.getWriter() %></td>
<td><%=bv.getWriteday().substring(0,10) %></td>
</tr>
<%} %>
</table>
<table style="border:0, width:300px;width:800px;">
<tr>
<td style="text-align:right;">
◀
</td>
<td style="text-align:center;width:300px;">
1 2 3 4 5 6 7 8 9 10
</td>
<td style="width:200px;text-align:left;">
▶
</td>
</tr>
</table>
<a href="<%=request.getContextPath()%>/board/boardWrite.do">글쓰기</a>
</body>
</html>
반응형
'TIL > JSP' 카테고리의 다른 글
[JSP] 20230317 JSP 회원 아이디 로그인 (0) | 2023.03.17 |
---|---|
[JSP] 20230317 JSP 게시판 삭제 기능 구현하기 (0) | 2023.03.17 |
[JSP] 20230316 JSP 게시판 조회수 설정하기 (0) | 2023.03.16 |
[JSP] 20230315 JAVA 게시판에 글쓰기 (0) | 2023.03.15 |
[JSP] 20230314 JSP 모델2 방식으로 게시판 만들기 (0) | 2023.03.14 |