p.390
사용자마다 스레드가 존재한다.
p.391
유지,보수를 위해 자바(톰캣)와 뷰(html)(브라우저)를 분리하자
p.393
복잡도가 증가하면 쪼개야 한다.
메소드p.394
컴파일 단계
태그 다운로드 : 처리 주체가 브라우저
실행단계
p.399
디렉티브 태그 방식
jsp는 a, b 두 개인데 java 몸통이 하나
java 몸통이 하나기 때문에 a나 b에서 변수를 선언해도 서로 사용 가능
p. 476
액션 태그 방식
java 두 개가 생성되어 b.jsp는 b의 java로 처리를 하고 결과만 a.jsp에 끼워줌
java 몸통이 각각 있기 때문에 서로의 변수 상호 호환 안 됨
include
a.jsp를 처리하다가 include만나면 -- 이동 --> b.jsp를 처리하고 --> 다시 a.jsp로 돌아옴
sendRedirect : url 바뀌는 화면 전환
forward : url 바뀌지 않는 화면 전환
package com.vo;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
//@Getter
//@Setter
//getter, setter를 하나로 합쳐 선언하는 @Data
@Data
@NoArgsConstructor
//@AllArgsConstructor
public class NoticeVO {
private int n_no = 0;
private String n_title = null;
private String n_content = null;
private String n_writer = null;
//@builder : 메소드 오버로딩의 규칙과 상관없이 쓸 수 있다는 장점
@Builder
public NoticeVO(int n_no, String n_title, String n_content, String n_writer) {
super();
this.n_no = n_no;
this.n_title = n_title;
this.n_content = n_content;
this.n_writer = n_writer;
}
}
package com.example.demo.pojo1;
import com.vo.EmpVO;
import com.vo.NoticeVO;
public class LombokTest {
void methodA() {
NoticeVO nvo = NoticeVO.builder().n_no(3).n_title("제목").n_content("내용").n_writer("작성자").build();
System.out.println(nvo.getN_writer());
NoticeVO nvo2 = NoticeVO.builder().n_no(3).build();
System.out.println(nvo2.getN_writer());
NoticeVO nvo3 = NoticeVO.builder().n_title("제목").n_content("내용").n_no(3).n_writer("작성자").build();
System.out.println(nvo3.getN_content());
}
public static void main(String[] args) {
LombokTest lt = new LombokTest();
lt.methodA();
NoticeVO nvo = new NoticeVO();
//getter/setter를 정의하지 않아도 즉시 사용 가능함. lombok을 사용하지 않을 때는 이렇게 했었음
nvo.setN_title("휴관공지"); //n_title 전역변수에 휴관공지가 담김
nvo.setN_title(""); //전역변수이기에 다시 빈 깡통됨
System.out.println(nvo.getN_title()); //28번에서 담은 휴관공지 문자열 출력
EmpVO evo = new EmpVO();
evo = new EmpVO(7566);
//evo = new EmpVO(7566, "SCOTT");
//evo = new EmpVO(7566, "SCOTT", "2000-10-25");
}
}
Front-End
localhost : 3000
화면 - View계층
Back-End
localhost : 8000
따로 서비스 제공하기
리액트를 위한 실습 아니다
뷰 리졸브