상세 컨텐츠

본문 제목

[JSP] DB랑 연동해서 jsp 게시판 만들기(이클립스)

JSP_

by 쫑메이 2020. 7. 18. 00:39

본문

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DB 연동해서 

jsp로 게시판 만들어

보자!!!!

 

 

 

 

 

 

 

 


jsp_cmd에서 게시판 테이블 생성하기


 

 

데이터베이스 jspdb5 테이블에서 member, age, gender, email 열 추가하기

 

 

<cmd 창 열고 >

alter table member

add age int;

 

alter table member

add gender varchar(5);

 

alter table member

add email varchar(30);

 

desc member;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


jsp_게시판 테이블 필요한 항목


게시판 테이블 필요한 항목 ==> cmd 창에서 하기

 

제목, 내용, 글쓴이, 날짜, 비밀번호, 조회수

 

 

 

 

 

create table board(

num int primary key,

name varchar(20),

pass varchar(20),

subject varchar(20),

content varchar(20),

readcount int,

date datetime

);

 

 

 

 

 

 

 

 

 

 

 

 

이클립스 가서..

JSP5 폴더 하나 만들어서 게시판 만들기 시작!!!

 

 

 

 

 


jsp(게시판)_ writeForm 만들기


 

(1) 먼저 writeForm jsp 파일을 만들고

 

 

한글 처리

name, pass, subject, content 파라미터 가져오기

int readcount=0, Timestamp date=현 시스템 날짜

1단계_드라이버 불러오기

2단계_데이터베이스 연결

★ num 게시판 글번호 구하기

3단계_게시판 글 번호 구하기

4단계_실행

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


jsp(게시판)_ writePro 만들기


 

 

새로 writePro 파일을 하나 만들자

 

한글 처리

request.setCharacterEncoding(“utf-8”);

name, pass, subject, content 파라미터 가져오기

String name=requeset.getParameter(“name”);

String pass=requeset.getParameter(“pass”);

String subject=requeset.getParameter(“subject”);

String content=requeset.getParameter(“content”);

 

 

int readcount=0, Timestamp date=현 시스템 날짜

int readcount=0;

Timestamp reg_date=new Timestamp(System.currentTimeMillis());

 

1단계_드라이버 불러오기

Class.forName("com.mysql.jdbc.Driver");

 

 

2단계_데이터베이스 연결

String dbUrl="jdbc:mysql://localhost:3306/jspdb5";

String dbUser="jspid";

String dbPass="jsppass";

Connection con=DriverManager.getConnection(dbUrl, dbUser, dbPass);

 

 

 

3단계_게시판 글 번호 구하기

★ num 게시판 글번호 구하기

게시판 글번호 중에 가장 큰 번호를 구해와서 +1

select * from board; => Empty (0.01 sec)

select * from board; => Empty (0.01 sec)

select max(num) from board;

 

 

 

int num=0;

String sql="select max(num) from board";

PreparedStatement pstmt=con.prepareStatement(sql);

ResultSet rs=pstmt.executeQuery();

if(rs.next()){

num=rs.getInt("max(num)")+1;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

String sql="insert into board(num, name, pass, subject, content, readcount, date) values(?,?,?,?,?,?,?)";

PreparedStatement pstmt=con.prepareStatement(sql);

pstmt.setInt(1, num);

pstmt.setString(2, name);

pstmt.setString(3, pass);

pstmt.setString(4, subject);

pstmt.setString(5, content);

pstmt.setInt(6, readcount);

pstmt.setTimestamp(7, reg_date);

 

 

4단계_실행

pstmt.executeUpdate();

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

jsp(게시판)_ 글 목록 listPro 만들기


 

 

글 목록을 만들기 위해 다시 listPro.jsp 파일을 만든다

 

<%

Class.forName("com.mysql.jdbc.Driver");

String dbUrl="jdbc:mysql://localhost:3306/jspdb5";

String dbUser="jspid";

String dbpass="jsppass";

Connection con=DriverManager.getConnection(dbUrl, dbUser, dbpass);

String sql="select * from board";

PreparedStatement pstmt=con.prepareStatement(sql);

 

ResultSet rs=pstmt.executeQuery();

 

%>

 

 

<h1>jsp5/list.jsp</h1>

 

<table border="1">

<tr><td> 글 번호 </td><td> 제목 </td><td> 작성자 </td><td> 날짜 </td> <td> 조회수 </td></tr>

<%

while(rs.next()){

%>

<tr><td><%=rs.getInt("num")%> </td>

<td><%=rs.getString("subject")%></td>

<td><%=rs.getString("name")%> </td>

<td><%=rs.getTimestamp("date")%> </td>

<td><%=rs.getInt("readcount")%> </td></tr><%

}

%>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


jsp(게시판)_ content 만들기


 

 

int num=num 파라미터 가져오기

 

1단계_드라이버 불러오기

2단계_데이터베이스 연결

3단계_조회 수 +1 증가 update readcount=readcount+1 조건

 

4단계_ sql “select where num=?”

5단계_ rs=실행 결과 저장

6단계_ rs=다음 해 이동

 

<%

Class.forName("com.mysql.jdbc.Driver");

String dbUrl="jdbc:mysql://localhost:3306/jspdb5";

String dbUser="jspid";

String dbpass="jsppass";

Connection con=DriverManager.getConnection(dbUrl, dbUser, dbpass);

String sql="select * from board order by num desc" ;

PreparedStatement pstmt=con.prepareStatement(sql);

ResultSet rs=pstmt.executeQuery();

%>

<h1> jsp5/list.jsp </h1>

<table border="1">

<tr><td> 글 번호 </td><td> 제목 </td><td> 작성자 </td><td> 날짜 </td> <td> 조회수 </td></tr>

<%

while(rs.next()){

%>

<tr><td><%=rs.getInt("num")%> </td>

<td><a href="content.jsp? num=<%=rs.getInt("num")%>"><%=rs.getString("subject")%></a></td>

<td><%=rs.getString("name")%> </td>

<td><%=rs.getTimestamp("date")%> </td>

<td><%=rs.getInt("readcount")%> </td></tr><%

}

%>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

jsp(게시판)_ 글(content) 삭제하기: deleteForm


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

jsp(게시판)_ 글(content) 삭제하기: deletePro


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

jsp(게시판)_ 글 수정하기: updateForm.jsp


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


jsp(게시판)_ 글 수정하기: updatePro.jsp

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


ㅣ읽느라 수고 많으셨어요~ㅣ

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

부족한 글을 읽어주셔서 감사드립니다

아직 부족한 게 많으니

틀린 곳이 있다면

조언의 말씀 꼭 부탁드립니다!!!!

 

 

 

 

 

 

 

 


 

 

반응형

관련글 더보기