[포스코DX|Spring|8주] 34일차 수업
포스코DX X 비트교육센터 6기 - 갤러리
##
-> com.poscodx.mysite.interceptor 패키지에 class 추가.
- SiteInterceptor.java
package com.poscodx.mysite.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.servlet.HandlerInterceptor;
import com.poscodx.mysite.service.SiteService;
import com.poscodx.mysite.vo.SiteVo;
public class SiteInterceptor implements HandlerInterceptor {
@Autowired
private SiteService siteService;
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
throws Exception {
SiteVo siteVo = (SiteVo)request.getServletContext().getAttribute("siteVo");
if(siteVo==null) {
siteVo = siteService.getSite();
request.getServletContext().setAttribute("siteVo", siteVo);
}
return true;
}
}
- spring-servlet.xml의
<mvc:intercpters>에 추가
<mvc:interceptor>
<mvc:mapping path="/**" />
<mvc:exclude-mapping path="/**" />
<bean class="com.poscodx.mysite.interceptor.SiteInterceptor" />
</mvc:interceptor>
ApplicationContextEventListener
- 패키지 및 클래스파일 만들기
- spring-servlet.xml
<!-- ApplicationContextEventListener -->
<bean class="com.poscodx.mysite.event.ApplicationContextEventListener">
</bean>
- ApplicationContextEventListenerjava
package com.poscodx.mysite.event;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.context.event.EventListener;
public class ApplicationContextEventListener {
@EventListener({ContextRefreshedEvent.class})
public void handlerContextRefreshedEvent() {
System.out.println("--- Context Refreshed Event Received ---");
}
}
(+) setter, getter 간편하게 사용 -> BeanUtil
jblog
-- 사용자(user) 테이블 생성
CREATE TABLE user (
id VARCHAR(45) PRIMARY KEY NOT NULL,
name VARCHAR(45) NOT NULL,
password VARCHAR(64) NOT NULL
);
-- 1:1 식별 관계
create table blog(
blog_id VARCHAR(45) PRIMARY KEY NOT NULL,
title varchar(200) not null,
image varchar(200) not null,
foreign key (blog_id) references user (id)
);
-- 1:다 비식별 관계
create table category(
no int not null auto_increment,
name varchar(45) not null,
description varchar(200) not null,
blog_id VARCHAR(45) NOT NULL,
primary key(no),
foreign key (blog_id) references blog (blog_id) ON DELETE CASCADE
);
-- 1: 다 비식별 관계
create table post(
no int not null auto_increment,
title varchar(200) not null,
contents TEXT not null,
category_no int not null,
primary key(no),
foreign key (category_no) references category (no) ON DELETE CASCADE
);
desc user;
desc blog;
desc category;
desc post;
- centOS 에서 서버 만들기
# mysql -u root -p
# create database jblog;
# create user 'jblog'@'192.168.%' identified by 'jblog';
# grant all privileges on jblog.* to 'jblog'@'192.168.%';
# flush privileges;