반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- C
- sql
- 웹개발기초
- MVC
- 자바
- 데이터베이스
- CSS
- 웹개발
- 리액트프로젝트
- Programming
- mysql
- html
- msa개념
- DB
- two pointers
- coding test
- 웹개발자
- SpringFramework
- servlet
- jsp
- 안드로이드
- BCIT
- 밤비노
- microservices
- jvm메모리구조
- Bambino
- MSA
- Java
- job
- 코드잇
Archives
- Today
- Total
초보 개발자의 기록
이미지 보드 본문
728x90
regist_form.jsp
regist.jsp
imageBoard.java -VO
imageBoardDAO.java
MariaDB[db1202]
CREATE TABLE imageBoard(
board_id INT PRIMARY KEY AUTO_INCREMENT
, author VARCHAR(20)
, title VARCHAR(100)
, content TEXT
, regdate TIMESTAMP DEFAULT NOW();
, hit INT DEFAULT 0
, filename VARCHAR(30)
) DEFAULT CHARACTER SET UTF8;
결과>
regist_from.jsp
<%@ page contentType="text/html;charset=utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
body {font-family: Arial, Helvetica, sans-serif;}
* {box-sizing: border-box;}
input[type=text], input[type=file], select, textarea {
width: 100%;
padding: 12px;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
margin-top: 6px;
margin-bottom: 16px;
resize: vertical;
}
input[type=button] {
background-color: #4CAF50;
color: white;
padding: 12px 20px;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=button]:hover {
background-color: #45a049;
}
.container {
border-radius: 5px;
background-color: #f2f2f2;
padding: 20px;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script>
/*
GET : Http 프로토콜에서 헤더 정보에 데이터를 실어 나른다..아무래도 헤더이다 보니, 전송가능한 양이 미미하다..
현실비유) 편지봉투에 데이터 노출하여 보내는 꼴임..
POST : Http프로토콜에서 바디영역에 데이터를 실어 나른다. 몸체이다 보니 전송량에 한계가 없다..
현실비유) 편지지에 데이터를 숨겨 보내는 꼴임..
*/
$(function(){
$("input[type='button']").click(function(){
//입력양식을 서버에 전송!!
$("form").attr({
method:"post",
action:"/imageboard/regist.jsp"
});
$("form").submit(); //전송행위!!!
});
});
</script>
</head>
<body>
<div class="container">
<form enctype="multipart/form-data">
<label for="fname">First Name</label>
<input type="text" id="fname" name="author" placeholder="Your name..">
<label for="lname">title</label>
<input type="text" id="lname" name="title" placeholder="Your title..">
<label for="subject">Content</label>
<textarea id="subject" name="content" placeholder="Write something.." style="height:200px"></textarea>
<label for="la_photo">파일 선택</label>
<input type="file" id="la_photo" name="photo">
<input type="button" value="전송">
</form>
</div>
<div style="text-align:center">
Copyright All reserved java board
</div>
</body>
</html>
imageBoard.java
package board.model;
public class ImageBoard {
private int board_id;
private String author;
private String title;
private String content;
private String regdate;
private int hit;
private String filename;
public int getBoard_id() {
return board_id;
}
public void setBoard_id(int board_id) {
this.board_id = board_id;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public String getRegdate() {
return regdate;
}
public void setRegdate(String regdate) {
this.regdate = regdate;
}
public int getHit() {
return hit;
}
public void setHit(int hit) {
this.hit = hit;
}
public String getFilename() {
return filename;
}
public void setFilename(String filename) {
this.filename = filename;
}
}
imageBoardDAO.java
/*
* ImageBoard 테이블에 대한 CRUD만을 전담하는 DAO 정의
* */
package board.model;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import db.DBManager;
public class ImageBoardDAO {
DBManager dbManager=new DBManager();//ImagesBoardDAO의 인스턴스가 생성될때
//DBManager의 인스턴스도 같이 생성됨
//create(insert)
public int insert(ImageBoard board) {
Connection con=null;
PreparedStatement pstmt=null;
int result=0;
String sql="insert into imageboard(author,title,content,filename) values(?,?,?,?)";
con=dbManager.getConnection();
try {
pstmt=con.prepareStatement(sql);
pstmt.setString(1, board.getAuthor());
pstmt.setString(2, board.getTitle());
pstmt.setString(3, board.getContent());
pstmt.setString(4,board.getFilename());
result=pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
dbManager.release(con, pstmt);
}
return result;
}
//selectAll()
public ArrayList selectAll() {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ArrayList<ImageBoard> list = new ArrayList<ImageBoard>();
String sql="select * from imageboard";
con = dbManager.getConnection();
try {
pstmt = con.prepareStatement(sql);
rs = pstmt.executeQuery();
while(rs.next()) { //ImageBoard 를 레코드 만큼 생성하여 list에 추가
ImageBoard board = new ImageBoard();
board.setBoard_id(rs.getInt("board_id"));
board.setAuthor(rs.getString("author"));
board.setTitle(rs.getString("title"));
board.setContent(rs.getString("content"));
board.setRegdate(rs.getString("regdate"));
board.setHit(rs.getInt("hit"));
board.setFilename(rs.getString("filename"));
list.add(board);
}
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbManager.release(con, pstmt, rs);
}
return list;
}
//select
public ImageBoard select(int board_id) {
Connection con = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
ImageBoard board = null;
String sql="select * from imageboard where board_id=?";
con = dbManager.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, board_id);
rs = pstmt.executeQuery();
if(rs.next()) { //레코드가 있다면,
board = new ImageBoard();
board.setBoard_id(rs.getInt("board_id"));
board.setAuthor(rs.getString("author"));
board.setTitle(rs.getString("title"));
board.setContent(rs.getString("content"));
board.setRegdate(rs.getString("regdate"));
board.setHit(rs.getInt("hit"));
board.setFilename(rs.getString("filename"));
}
pstmt = con.prepareStatement("update imageboard set hit = hit+1 where board_id=?");
pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
dbManager.release(con, pstmt, rs);
}
return board;
}
//update
public int update(ImageBoard board) {
Connection con = null;
PreparedStatement pstmt = null;
String sql="update imageboard set author=?, title=?,content=?, filename=? where board_id=?";
int result = 0;
con = dbManager.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setString(1, board.getAuthor());
pstmt.setString(2, board.getTitle());
pstmt.setString(3, board.getContent());
pstmt.setString(4, board.getFilename());
pstmt.setInt(5, board.getBoard_id());
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
dbManager.release(con, pstmt);
}
return result;
}
//delete
public int delete(int board_id) {
Connection con = null;
PreparedStatement pstmt = null;
int result = 0;
String sql="delete from imageboard where board_id=?";
con = dbManager.getConnection();
try {
pstmt = con.prepareStatement(sql);
pstmt.setInt(1, board_id);
result = pstmt.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}finally {
dbManager.release(con, pstmt);
}
return result;
}
}
jenkwon92/JavaEE_Workspace
Korea it academy JavaEE class. Contribute to jenkwon92/JavaEE_Workspace development by creating an account on GitHub.
github.com
728x90
반응형
'JAVA > JSP' 카테고리의 다른 글
Tomcat 바이너리에 jar등록 (0) | 2020.12.12 |
---|---|
Tomcat 이용환경변경 (0) | 2020.12.11 |
이미지 업로드- commons(Apache) (0) | 2020.12.08 |
이미지 업로드-cos.jar(Oreilly) (0) | 2020.12.07 |
객체 (0) | 2020.12.06 |