포스코DX X 비트교육센터 6기 - 갤러리


##

image

-> com.poscodx.mysite.interceptor 패키지에 class 추가.

image

  • 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

  • 패키지 및 클래스파일 만들기

image

  • 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 ---");
	}
}

image

(+) setter, getter 간편하게 사용 -> BeanUtil

image

jblog

image

image

-- 사용자(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;

image

  • 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;