반응형
noticeView.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="jspservlet.vo.*" %>
<%
request.setCharacterEncoding("UTF-8");
NoticeBoardVO board = (NoticeBoardVO)request.getAttribute("board");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>공지사항 상세페이지</title>
</head>
<body>
<h2>공지사항 상세페이지</h2><hr>
제목 : <span><%= board.getTitle() %></span><br>
글번호 : <span><%= board.getNno() %></span><br>
작성자 : <span><%= board.getUid() %></span><br>
상태 : <span><%= board.getState() %></span><br>
작성일 : <span><%= board.getRdate() %></span><br>
내용 : <span><%= board.getContent() %></span><br>
<!-- 수정하기 버튼 클릭시 수정화면 출력 후 수정화면에서
제목,내용,상태 값 변경 후 저장 버튼 클릭시 실제 notice_board 테이블의 데이터가
저장될 수 있도록 기능을 완성
수정페이지 가상 경로 : /notice/modify.do
수정처리페이지 가상 경로 : /notice/modify.do
수정처리 후 다시 상세페이지로 이동합니다
-->
<button onclick="location.href='<%= request.getContextPath() %>/notice/modify.do?nno=<%= board.getNno() %>';">수정하기</button>
<!--
삭제하기 버튼 클릭시 클릭한 게시글을 데이터베이스에서 삭제 후 게시글 목록페이지로 이동
삭제시 가상경로 : /notice/delete.do
-->
<button onclick="document.dFn.submit();">삭제하기</button>
<form name="dFn" action="<%= request.getContextPath() %>/notice/delete.do" method="post">
<input type="hidden" name="nno" value="<%= board.getNno() %>">
</form>
</body>
</html>
NoticeDeleteController.java
package jspservlet.controller;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
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 jspservlet.util.DBConn;
import jspservlet.vo.NoticeBoardVO;
/**
* Servlet implementation class NoticeDeleteController
*/
@WebServlet("/notice/delete.do")
public class NoticeDeleteController extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public NoticeDeleteController() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String nno = request.getParameter("nno");
Connection conn = null; //DB 연결
PreparedStatement psmt = null; //SQL 등록 및 실행. 보안이 더 좋음!
//try 영역
try{
conn = DBConn.conn();
String sql = "delete from notice_board where nno=?";
psmt = conn.prepareStatement(sql);
psmt.setString(1, nno);
psmt.executeUpdate();
response.sendRedirect(request.getContextPath()+"/board/realList.do");
}catch(Exception e){
e.printStackTrace();
}finally{
try {
DBConn.close(psmt, conn);
}catch(Exception e) {
e.printStackTrace();
}
}
}
}
반응형
'Java' 카테고리의 다른 글
[Servlet] FrontController 글 목록 조회 (0) | 2024.10.20 |
---|---|
[Servlet] Front Controller (0) | 2024.10.19 |
[Servlet] 게시글 수정 (0) | 2024.10.13 |
[Servlet] 공지게시글 상세페이지 조회 (0) | 2024.10.12 |
[Servlet] 공지 게시글 목록 조회하기 (0) | 2024.10.11 |