일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 정처기실기정리
- 2020정보처리기사실기
- 자바배열예제
- 2020정보처리기사실기정리
- spring crud게시판
- 날짜지정팝업
- Oracle기초
- 오버라이딩
- 프로그래머스 MYSQL
- spring crud
- html기초
- 게시판만들기
- PLSQL
- jsp 날짜팝업
- 정보처리기사실기정리
- 자바기초
- 스프링게시판만들기
- 스프링 crud
- jsp게시판만들기
- crud게시판
- CRUD게시판만들기
- 오라클설치
- jsp 팝업띄우기
- 2020정보처리기사실기요약
- 프로그래머스 SQL
- 스프링 CRUD게시판
- 자바연산자
- js datepicker
- 자바 정규표현식 예제
- 프로그래머스 쿼리문
- Today
- Total
영보의 SystemOut.log
[Spring] Spring MVC 구조 자유게시판 만들기 - (3) 본문
qh5944.tistory.com/97?category=418956
저번 게시물에 이어서 마지막으로 게시판 총 완성을 시켜보겠습니다.
개념 정리
fList의 인덱스 번호 (varStatus="s")
fList.get(0) => sList.get(0)
${sList[s.index]}
- 여러개의 ArrayList가 들어와도 동시에 출력이 가능하게 함
# download
- 헤더 → 데이터 전송전에 보내는 내용 : 다운로드창을 보여준다 (파일명,파일크기)
- 헤더 → response
- request : 사용자가 요청값 전송 → 사용자 정보(IP)
- response : 응답 (Cookie,Header,HTML)
코드
# DB에 테이블에 컬럼 추가 SQL문
1
2
3
|
ALTER TABLE spring_board ADD filename VARCHAR2(1000);
ALTER TABLE spring_board ADD filesize VARCHAR2(1000);
ALTER TABLE spring_board ADD filecount NUMBER DEFAULT 0;
|
cs |
# applicaition-datasource.xml
경로 : WEB-INF - config - applicaition-datasource.xml
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
32
33
34
35
36
37
38
39
40
41
|
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:p="http://www.springframework.org/schema/p"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.3.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.3.xsd">
<!-- DataSource -->
<!--
maxActive="8"
maxIdle="8"
-->
<bean id="ds"
class="org.apache.commons.dbcp.BasicDataSource"
p:driverClassName="oracle.jdbc.driver.OracleDriver"
p:url="jdbc:oracle:thin:@211.238.142.181:1521:XE"
p:username="hr"
p:password="happy"
/>
<!-- MyBatis에 값을 전송 -->
<bean id="ssf"
class="org.mybatis.spring.SqlSessionFactoryBean"
p:dataSource-ref="ds"
/>
<!-- 인터페이스 구현 -->
<bean id="bmapper"
class="org.mybatis.spring.mapper.MapperFactoryBean"
p:sqlSessionFactory-ref="ssf"
p:mapperInterface="com.sist.dao.BoardMapper"
/>
<bean id="rmapper"
class="org.mybatis.spring.mapper.MapperFactoryBean"
p:sqlSessionFactory-ref="ssf"
p:mapperInterface="com.sist.dao.ReplyMapper"
/>
</beans>
|
cs |
# application-context.xml
경로 : WEB-INF - config -applicaition-context.xml
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
32
33
34
35
36
|
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd">
<context:component-scan base-package="com.sist.*"/>
<!-- RestController에서 데이터 전송시에 한글이 깨진다 -->
<mvc:annotation-driven>
<mvc:message-converters>
<!-- @ResponseBody Content-Type:application/json;charset=UTF-8 -->
<bean class="org.springframework.http.converter.StringHttpMessageConverter">
<property name="supportedMediaTypes">
<list>
<value>text/html;charset=UTF-8</value>
</list>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
<!-- JSP 찾기 -->
<bean id="viewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver"
p:prefix="/"
p:suffix=".jsp"
/>
<!-- id : 대소문자 구분 단어를 반드시 설정
이미 설정되어 있는 디폴트 ID
-->
<bean id="multipartResolver"
class="org.springframework.web.multipart.commons.CommonsMultipartResolver"
/>
</beans>
|
cs |
# ReplyVO
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package com.sist.dao;
import java.util.*;
public class ReplyVO {
private int no;
private int bno;
private String id;
private String name;
private String msg;
private Date regdate;
private String dbday;
public int getNo() {
return no;
}
public void setNo(int no) {
this.no = no;
}
public int getBno() {
return bno;
}
public void setBno(int bno) {
this.bno = bno;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
public Date getRegdate() {
return regdate;
}
public void setRegdate(Date regdate) {
this.regdate = regdate;
}
public String getDbday() {
return dbday;
}
public void setDbday(String dbday) {
this.dbday = dbday;
}
}
|
cs |
# ReplyDAO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
package com.sist.dao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import java.util.*;
@Repository
public class ReplyDAO {
@Autowired
private ReplyMapper mapper;
public List<ReplyVO> replyListData(int bno)
{
return mapper.replyListData(bno);
}
}
|
cs |
# ReplyMapper
1
2
3
4
5
6
7
8
9
10
11
12
|
package com.sist.dao;
import org.apache.ibatis.annotations.Select;
import java.util.*;
public interface ReplyMapper {
// 목록 읽기
@Select("SELECT no,bno,id,name,msg,TO_CHAR(regdate,'YYYY-MM-DD HH24:MI:SS') as dbday "
+"FROM spring_reply "
+"WHERE bno=#{bno} "
+"ORDER BY no DESC")
public List<ReplyVO> replyListData(int bno);
}
|
cs |
실행 화면
list.jsp 실행
시험삼아 넣어본 심청이의 게시물
detail.jsp
심청이 게시물 상세페이지
insert.jsp
list.jsp에서 [새글] 누르고 나오는 글쓰기 화면
파일 업로드도 가능하다.
다시 list.jsp
새 글이 업데이트 된게 보이네요
delete.jsp
상세페이지에서 삭제를 누르고 글쓸 때 사용했던 비밀번호를 치고 삭제
정상적으로 삭제된 화면.
'Spring' 카테고리의 다른 글
[Spring] JSON/ajax 사용하여 영화 출력 게시판 만들기 - (1) (0) | 2020.11.14 |
---|---|
[Spring] MyBatis와 연동하여 음악 게시판 만들기 (0) | 2020.11.14 |
[Spring] Spring MVC 구조 자유게시판 만들기 - (2) (0) | 2020.11.10 |
[Spring] Spring MVC 구조 자유게시판 만들기 - (1) (2) | 2020.11.07 |
[Spring] Spring 데이터 그리드 리스트 출력하기 (0) | 2020.11.03 |