둘의 차이가 뭔지 확실히 알고 넘어가자.
스프링을 사용하면서 어디서 스프링이 작용하는지 모른다? 노놉
✅ JSP 스코프에는 Page, Rquest, Session, Application이 있음. 변수의 생존 기간을 제어한다.
@XXXController 뒤에 괄호를 넣어 빈의 이름을 설정할 수 있으나, 클래스 이름과 동일하게 입력하는 것 필요(P.928)
왜? 이름을 다르게 할 경우, 클래스를 찾는 과정에서 충돌이 일어날 수 있음. 따로 입력을 하지 않는 경우, default로 클래스 이름으로 생성이 됨.
예 : @Controller("noticeController")
role -> Spring Security
MVC -> FLUX 아키텍쳐(중심 : 원웨이) -> Redux탄생
front
- jsp : 기존 스프링에서 실습 진행한 내용
- 리액트 : FLUX아키텍쳐, 시큐리티와 함께 사용해보려고 함.
- jstl : 사용자 정의 태그, 라이브러리, 쿠키 세션, 자바 코드 아닌 태그 사용 -> 디자이너/백엔지니어와 같이 관리
프론트 : 리액트(with 리덕스)
백엔드 : SpringBoot
서버 : 파이어베이스
시큐리티 : 스프링 시큐리티
package.json 확인
{
"name": "reduxDemo2",
"version": "0.1.0",
"private": true,
"dependencies": {
"@fortawesome/fontawesome-free": "^6.5.1",
"@testing-library/jest-dom": "^5.14.1",
"@testing-library/react": "^13.0.0",
"@testing-library/user-event": "^13.2.1",
"axios": "^1.6.5",
"bootstrap": "^5.3.2",
"firebase": "^9.18.0",
"firebase-auth": "^0.1.2",
"react": "^18.2.0",
"react-bootstrap": "^2.9.2",
"react-dom": "^18.2.0",
"react-quill": "^2.0.0",
"react-redux": "^9.0.4",
--라우터 설정 위한 의존성
"react-router": "^6.21.1",
"react-router-dom": "^6.21.1",
"react-scripts": "5.0.1",
"redux": "^5.0.1",
"styled-components": "^6.1.6",
"web-vitals": "^2.1.0"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
const logoutAction = () => {
logout(userAuth.auth);
dispatch(setToastMsg(email+"님 로그아웃."));
/*로그아웃 처리되었을 때, 이동할 Path 정보 설정*/
navigate("/");
/*왜 로그아웃 후 리로드를 해야할까?? Local Storage 변경부분은 새로고침이 되어야 확인이 가능하다!!*/
window.location.reload();
} return (
<>
화면 내용
</>
FLUX 아키텍쳐는
원웨이 방식에서 변동값이 있을 때, 신호 변경된 것으로 다시 화면에 띄울 수 있도록!! (Action)