관리 메뉴

me made it !

[JSP] 20230317 JSP 게시판 삭제 기능 구현하기 본문

TIL/JSP

[JSP] 20230317 JSP 게시판 삭제 기능 구현하기

yeoney 2023. 3. 17. 11:19
반응형
else if (str.equals("/board/boardDeleteAction.do")) {
			String bidx = request.getParameter("bidx");
			int bidxInt =Integer.parseInt(bidx);
			String pwd = request.getParameter("pwd");
			
			BoardVo bv =new BoardVo();
			bv.setBidx(bidxInt);
			bv.setPwd(pwd);
			
			BoardDao bd= new BoardDao();
			int value = bd.boardDelete(bv);
			

			if (value == 1) {
				response.sendRedirect(request.getContextPath()+"/board/boardList.do");
			}else {
				response.sendRedirect(request.getContextPath()+"/board/boardDelete.do?bidx="+bidx);
			}
		}

▶parse()


1. parseInt() : String 타입의 숫자를 int 타입으로 변환해주는 메소드 

 parse 에는 여러 종류가 있다....  뭐 parseByte(); , parseFloat(); parseLong(); 등등등 숫자와 관련된 타입은 전부 가능 ! 

참고로 매개변수에 있는 문자열은 꼭 숫자로 되어있어야만한다. 예를들어 "a1234" ,"1234a" ?  - 바로 에러 뜸 

 

 

▶get()


2. getAttribute() , getParameter() 는 object 객체안의 메소드라서 꼭 원하는 형태로 형변환을 해줘야한다!!

 

 

 

▶response.sendRedirect()


3. response.sendRedirect()

특정조건일 때 지정한 페이지로 이동하고 싶은 경우 사용하는 메소드 

 

 

 

<%@ 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>
<script type="text/javascript">
function check(){	

	var fm = document.frm;	
	if (fm.pwd.value == "" ){
		alert("비밀번호를 입력하세요");
		fm.pwd.focus();
		return;
	}
	var flag = confirm("삭제하시겠습니까?");
	
	if(flag ==false){
		return;
	}
	fm.action = "<%=request.getContextPath()%>/board/boardDeleteAction.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:800px;">

<tr>
<td>제목</td>
<td><%=bv.getSubject() %></td>
</tr>

<tr>
<td>비밀번호</td>
<td><input type="password" name="pwd" style="width:90%;"></td>
</tr>
<tr><td colspan=2>
<input type="button" name="btn"  value="확인" onclick="check();">
</td></tr>
</table>
</form>
</body>
</html>

▶flag 객체


4. flag: 논리형 변수 값을 담는 객체 (javascript의 boolean같은 느낌?)

+) if  구문 안에 (flag==false) 는 (!flag)  라고 써도 같은 기능으로 동작한다. 

 

 

▶ confirm()


5. confirm(); 선택창 띄우기 

true false 구분하여 이벤트를 실행시킬 수 있다 

 

 

 

	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;
	}

▶PreparedStatement 클래스


- Statement 클래스의 기능 향상

- 인자와 관련된 작업이 특화(매개변수)

- 코드 안정성 높음. 가독성 높음.

- 코드량이 증가 -> 매개변수를 set해줘야하기 때문에..

- 텍스트 SQL 호출

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;
	
	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;
	}


}

 

 

 

 

 


https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=sangnam18&logNo=110093843511

 

[JSP]request.getParameter() 란? -퍼옴

웹(Web) 환경은 HTTP 프로토콜 위에서 동작하고 있습니다.        &nb...

blog.naver.com

https://deseul.tistory.com/14

 

[JavaScript] flag변수란?

flag변수란 무엇일까? 플래그(flag)란 깃발이라는 뜻인데, 컴퓨터에서 무언가를 기억하거나 또는 다른 프로그램에게 약속된 신호를 남기기 위한 용도로 프로그램에 사용되는 미리 정의된 비트이

deseul.tistory.com

 

 

https://sas-study.tistory.com/160

 

반응형