jsp는 url 요청을 할 수 있다 (file을 요청할 수 있다는 것 index.jsp // a.png 등)
즉 톰캣을 안 탈 수도 있다는 것이다 (아파치만을 이용해서 정적파일만 받을 수도 있다는 것)
Spring
톰캣은 WEB-INF 밑에 접근이 불가능하다
이렇게 만들어야 URL요청이 불가능해진다 (URI로 Controller만을 이용해서 접근하도록함, 외부로부터 안전)
JSP파일을 WEB-INF에 넣자
이렇게 만들면 톰캣을 안 탈 수가 없다(컨트롤러를 타야하기 때문)
//templates 폴더 - 머스태치 타임리프 등
톰캣
톰캣이 실행되면 열리는 것
1 카타리나
2 web.xml -> 배포서술자 / 웹서버의 가이드 역할 / 필터 -- 바디에 넣을 문자형식 UTF-8 - 모든 인코딩을 UTF-8 로 만들기 -- 웰컴파일리스트 -- DB Resource -- 커스텀 필터 등록가능(아이피 차단 등 // lucy) -- 서블릿 매핑 -> 자바파일이 아니더라도, 이 파일에서 매핑해줄 수 있다, ( /* -> FrontConroller.java 만 주고 컨트롤러에서 라우팅하게 하자) JSP에서는 쿼리문으로 분기를 하였는데 스프링에서는 URL파라미터를 분기해 줄 수 있다
create user 'spring'@'%' identified by 'bitc5600';
GRANT ALL PRIVILEGES ON *.* TO 'spring'@'%';
create database spring;
use spring;
CREATE TABLE user(
id int auto_increment primary key,
username varchar(100) unique not null,
password varchar(100) not null,
email varchar(100),
profile varchar(200),
createDate timestamp
) engine=InnoDB default charset=utf8;
CREATE TABLE post(
id int auto_increment primary key,
title varchar(100) not null,
content longtext,
userId int,
createDate timestamp,
foreign key (userId) references user (id) on delete set null
) engine=InnoDB default charset=utf8;
CREATE TABLE comment(
id int auto_increment primary key,
userId int,
postId int,
content varchar(300) not null,
createDate timestamp,
foreign key (userId) references user (id) on delete set null,
foreign key (postId) references post (id) on delete cascade
) engine=InnoDB default charset=utf8;
설정을 자바파일로 만들어져야한다 스프링부트에서는 yml에서 설정해놓으면 자동적으로 자바코드로 변환된다