목차
-
webapp => index.jsp
-
pom.xml 내용추가
-
webapp =>sql 폴더 => table.sql
-
servlet.context.xml 내용추가
-
더이상 bean 설정을 하지않기 위해 autoscan을 하려고한다.
-
kr.spring.board.controller => BoardController
-
webapp => resources => css => style.css (예전에 사용했던걸 그대로 사용)
-
WEB-INF => views => selectList.jsp
-
index.jsp 내용추가
-
kr.spring.board.vo => BoardVO
-
BoardController 내용추가
-
views => insertForm.jsp


webapp => index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello Spring
</body>
</html>

pom.xml 내용추가
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.7.0.0</version>
</dependency>
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions</artifactId>
<version>3.9.3</version>
</dependency>
<!-- 라이브러리 추가 끝 -->
webapp =>sql 폴더 => table.sql
create table aboard(
num number primary key,
writer varchar2(30) not null,
title varchar2(60) not null,
passwd varchar2(12) not null,
content clob not null,
reg_date date not null
);
create sequence aboard_seq;
servlet.context.xml 내용추가
더이상 bean 설정을 하지않기 위해 autoscan을 하려고한다.
<!-- Controller 빈 자동 스캔 -->
<context:component-scan base-package="kr.spring.board.controller"/>
kr.spring.board.controller => BoardController
package kr.spring.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class BoardController {
@RequestMapping("/list.do")
public ModelAndView process() {
ModelAndView mav = new ModelAndView();
mav.setViewName("selectList"); //중간 경로가 없음.
return mav;
}
}
webapp => resources => css => style.css (예전에 사용했던걸 그대로 사용)
@charset "UTF-8";
body{
padding:0;
margin:0;
}
.page-main{
width:800px;
margin:0 auto;/*중앙 정렬*/
}
.result-display{
width:400px;
height:200px;
margin:50px auto;
border:1px solid #000;
display:flex;
align-items:center;/*세로 정렬*/
justify-content:center;/*가로 정렬*/
}
.align-center{
text-align:center;
}
.align-right{
text-align:right;
}
/*목록*/
table{
width:100%;
border:1px solid #000;
border-collapse:collapse;
margin-top:5px;
}
table td, table th{
border:1px solid #000;
padding:5px;
}
/*등록, 수정폼*/
form{
width:500px;
margin:0 auto;
border:1px solid #000;
padding:10px 10px 10px 30px;
}
ul{
list-style:none;
}
label{
width:100px;
float:left; /*태그를 왼쪽으로 정렬*/
}
WEB-INF => views => selectList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 목록</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/style.css" type="text/css">
</head>
<body>
<div class="page-main">
<h2>게시판 목록</h2>
<div class="align-right">
<input type="button" value="글쓰기" onclick="location.href='insert.do'">
</div>
</div>
</body>
</html>
index.jsp 내용추가
redirect 방법 사용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
response.sendRedirect(request.getContextPath()+"/list.do");
%>

kr.spring.board.vo => BoardVO
package kr.spring.board.vo;
import java.sql.Date;
public class BoardVO {
private int num;
private String writer;
private String title;
private String passwd;
private String content;
private Date reg_date;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getReg_date() {
return reg_date;
}
public void setReg_date(Date reg_date) {
this.reg_date = reg_date;
}
@Override
public String toString() {
return "BoardVO [num=" + num + ", writer=" + writer + ", title=" + title + ", passwd=" + passwd + ", content="
+ content + ", reg_date=" + reg_date + "]";
}
}
BoardController 내용추가
package kr.spring.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import kr.spring.board.vo.BoardVO;
@Controller
public class BoardController {
//유효성 체크를 위한 폼 초기화
@ModelAttribute
public BoardVO initCommand() {
return new BoardVO();
}
//폼 호출
@GetMapping("/insert.do")
public String form() {
return "insertForm";
}
@RequestMapping("/list.do")
public ModelAndView process() {
ModelAndView mav = new ModelAndView();
mav.setViewName("selectList"); //중간 경로가 없음.
return mav;
}
}
views => insertForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글쓰기</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/style.css" type="text/css">
</head>
<body>
<div class="page_main">
<h2>글쓰기</h2>
<form:form action="insert.do" modelAttribute="boardVO">
<ul>
<li>
<form:label path="writer">작성자</form:label>
<form:input path="writer"/>
<form:errors path="writer" cssClass="error-color"/>
</li>
<li>
<form:label path="title">제목</form:label>
<form:input path="title"/>
<form:errors path="title" cssClass="error-color"/>
</li>
<li>
<form:label path="passwd">비밀번호</form:label>
<form:password path="passwd"/>
<form:errors path="passwd" cssClass="error-color"/>
</li>
<li>
<form:label path="content">내용</form:label>
<form:textarea path="content"/>
<form:errors path="content" cssClass="error-color"/>
</li>
</ul>
<div class="align-center">
<form:button>등록</form:button>
<input type="button" value="목록" onclick="location.href='list.do'">
</div>
</form:form>
</div>
</body>
</html>

'쌍용교육(JAVA) > Spring' 카테고리의 다른 글
쌍용교육 -JSP수업 83일차 - ch10_SpringMybatis(1) (0) | 2024.06.21 |
---|---|
쌍용교육 -JSP수업 82일차 - ch09_SpringJDBC(2) (0) | 2024.06.20 |
쌍용교육 -JSP수업 81일차 - ch08_SpringMVC(3) (0) | 2024.06.19 |
쌍용교육 -JSP수업 80일차 - ch08_SpringMVC(2) (0) | 2024.06.18 |
쌍용교육 -JSP수업 79일차 - ch08_SpringMVC(1) (0) | 2024.06.17 |


webapp => index.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
Hello Spring
</body>
</html>

pom.xml 내용추가
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.1.5.RELEASE</version>
</dependency>
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-pool</groupId>
<artifactId>commons-pool</artifactId>
<version>1.3</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.oracle.database.jdbc</groupId>
<artifactId>ojdbc8</artifactId>
<version>19.7.0.0</version>
</dependency>
<dependency>
<groupId>com.atomikos</groupId>
<artifactId>transactions</artifactId>
<version>3.9.3</version>
</dependency>
<!-- 라이브러리 추가 끝 -->
webapp =>sql 폴더 => table.sql
create table aboard(
num number primary key,
writer varchar2(30) not null,
title varchar2(60) not null,
passwd varchar2(12) not null,
content clob not null,
reg_date date not null
);
create sequence aboard_seq;
servlet.context.xml 내용추가
더이상 bean 설정을 하지않기 위해 autoscan을 하려고한다.
<!-- Controller 빈 자동 스캔 -->
<context:component-scan base-package="kr.spring.board.controller"/>
kr.spring.board.controller => BoardController
package kr.spring.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
@Controller
public class BoardController {
@RequestMapping("/list.do")
public ModelAndView process() {
ModelAndView mav = new ModelAndView();
mav.setViewName("selectList"); //중간 경로가 없음.
return mav;
}
}
webapp => resources => css => style.css (예전에 사용했던걸 그대로 사용)
@charset "UTF-8";
body{
padding:0;
margin:0;
}
.page-main{
width:800px;
margin:0 auto;/*중앙 정렬*/
}
.result-display{
width:400px;
height:200px;
margin:50px auto;
border:1px solid #000;
display:flex;
align-items:center;/*세로 정렬*/
justify-content:center;/*가로 정렬*/
}
.align-center{
text-align:center;
}
.align-right{
text-align:right;
}
/*목록*/
table{
width:100%;
border:1px solid #000;
border-collapse:collapse;
margin-top:5px;
}
table td, table th{
border:1px solid #000;
padding:5px;
}
/*등록, 수정폼*/
form{
width:500px;
margin:0 auto;
border:1px solid #000;
padding:10px 10px 10px 30px;
}
ul{
list-style:none;
}
label{
width:100px;
float:left; /*태그를 왼쪽으로 정렬*/
}
WEB-INF => views => selectList.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>게시판 목록</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/style.css" type="text/css">
</head>
<body>
<div class="page-main">
<h2>게시판 목록</h2>
<div class="align-right">
<input type="button" value="글쓰기" onclick="location.href='insert.do'">
</div>
</div>
</body>
</html>
index.jsp 내용추가
redirect 방법 사용
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
response.sendRedirect(request.getContextPath()+"/list.do");
%>

kr.spring.board.vo => BoardVO
package kr.spring.board.vo;
import java.sql.Date;
public class BoardVO {
private int num;
private String writer;
private String title;
private String passwd;
private String content;
private Date reg_date;
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public String getWriter() {
return writer;
}
public void setWriter(String writer) {
this.writer = writer;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Date getReg_date() {
return reg_date;
}
public void setReg_date(Date reg_date) {
this.reg_date = reg_date;
}
@Override
public String toString() {
return "BoardVO [num=" + num + ", writer=" + writer + ", title=" + title + ", passwd=" + passwd + ", content="
+ content + ", reg_date=" + reg_date + "]";
}
}
BoardController 내용추가
package kr.spring.board.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import kr.spring.board.vo.BoardVO;
@Controller
public class BoardController {
//유효성 체크를 위한 폼 초기화
@ModelAttribute
public BoardVO initCommand() {
return new BoardVO();
}
//폼 호출
@GetMapping("/insert.do")
public String form() {
return "insertForm";
}
@RequestMapping("/list.do")
public ModelAndView process() {
ModelAndView mav = new ModelAndView();
mav.setViewName("selectList"); //중간 경로가 없음.
return mav;
}
}
views => insertForm.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>글쓰기</title>
<link rel="stylesheet" href="${pageContext.request.contextPath}/resources/css/style.css" type="text/css">
</head>
<body>
<div class="page_main">
<h2>글쓰기</h2>
<form:form action="insert.do" modelAttribute="boardVO">
<ul>
<li>
<form:label path="writer">작성자</form:label>
<form:input path="writer"/>
<form:errors path="writer" cssClass="error-color"/>
</li>
<li>
<form:label path="title">제목</form:label>
<form:input path="title"/>
<form:errors path="title" cssClass="error-color"/>
</li>
<li>
<form:label path="passwd">비밀번호</form:label>
<form:password path="passwd"/>
<form:errors path="passwd" cssClass="error-color"/>
</li>
<li>
<form:label path="content">내용</form:label>
<form:textarea path="content"/>
<form:errors path="content" cssClass="error-color"/>
</li>
</ul>
<div class="align-center">
<form:button>등록</form:button>
<input type="button" value="목록" onclick="location.href='list.do'">
</div>
</form:form>
</div>
</body>
</html>

'쌍용교육(JAVA) > Spring' 카테고리의 다른 글
쌍용교육 -JSP수업 83일차 - ch10_SpringMybatis(1) (0) | 2024.06.21 |
---|---|
쌍용교육 -JSP수업 82일차 - ch09_SpringJDBC(2) (0) | 2024.06.20 |
쌍용교육 -JSP수업 81일차 - ch08_SpringMVC(3) (0) | 2024.06.19 |
쌍용교육 -JSP수업 80일차 - ch08_SpringMVC(2) (0) | 2024.06.18 |
쌍용교육 -JSP수업 79일차 - ch08_SpringMVC(1) (0) | 2024.06.17 |