본문 바로가기
ETC/개발지식

Java Web Programming -STS #2

by java나유 2022. 10. 12.

2) 서버 측 요청 흐름 제어

=>forward: 현재 요청을 종료시키지 않고 이어나가는 흐름

request와 session 그리고 application 객체 모두 유지됨

url이 변경되지않음.

읽기 작업에서 결과 페이지로 이동시킬 때 주로 이용

 

=>redirect:현재 요청을 종료하고 새로운 흐름을 만드는 것

request객체를 새로 만들어지고 session 그리고 application 객체 모두 유지 됨

url이 변경됨 

삽입, 삭제, 갱신 작업을 수행할 때 주로 사용 하지만 트래픽 제어를 위해 읽기 작업에서 사용하는 경우도 있음 

 

*SPA 프레임워크

ajax는 트래픽이 늘어나서 외국 인터넷 환경에 좋지 않음

 

 

8.Cookie와 Session

=>Http나 Https는 연결을 유지하지 않는다.

또 상태 보존도 하지 않는다.

즉, 요청해서 응답하고 나면 연결이 종료된다.

 

1) Cookie

=>클라이언트에 상태를 보존하는 기술

=>서버에게 요청을 보낼 때 마다 같이 전송

=>보안때문에 잘 사용하지 않는다고 했지만 보안이 중요하지 않은 데이터는 요즘도 쿠키를 많이 이용한다.

=>최근에는 쿠키 대신에 브라우저 저장소(Web Storage, Wb SQL, indexed DB)에 저장하는 것도 권장

 

2)Session

=>서버에 상태를 보존하는 기술

=>하나의 클라이언트가 서버에 접속할 때 생성되고 클라이언트가 접속을 해제할 때 소멸

=>여러 클라이언트를 처리하는 시스템에서 메모리 세션보다 파일이나 데이터 베이스 세션을 이용하는 것을 권장

=>최근에는 Web Socket과 로컬 스토리지를 이용하는 방식으로 구현하기도 한다.

 

9. EL과 JSTL

1)EL

=>Expression Language로 자바의 데이터를 jsp에서 출력하도록 해주는 표현 언어

=>Model2방식에서는 자바 코드를 jsp에 직접사용하는 것을 금기시 하기 때문에 데이터 출력시 EL을 이용함

 

2)JSTL (JSP Standard Tag Library)

=>Apach그룹이 jsp에서 많이 사용할 만한 자바의 기능을 xml태그 형태로 만들어서 제공해주는 라이브러리

 

3)Spring에서는 Tymeleaf나 Velocity등을 이용해 출력하거나 데이터만 출력하기 때문에 사용빈도가 높지 않음

 

10. Filter와 Listener

1)Filter

=>요청을 처리하기 전이나 처리한 후에 수행할 내용을 작성할 수 있는 인터페이스

=>AoP(Aspect of Programming - 관점 지향 프로그래밍)

Common concern(공통 관심 사항 - 프로그래머가 혼자서도 작업이 가능한 영역)과

Business Logic(실제 서비스 로직으로 프로그래머 혼자서는 작업이 불가능한 영역)의 분리

 

2)Listener

=>이벤트 발생 시 호출되는 객체를 위한 인터페이스

=>Java Web에서는 Web Application이 시작하거나 종료할 때 그리고 세션이 만들어지고 소멸될 때 호출되는 Listener 인터페이스 제공

 

11.데이터베이스 연동 방식

1) 순수 JDBC 코드로 연동

=>데이터 베이스 제조사에서 제공하는 API를 직접 이용 

 

2) SQL Mapper이용

=>SQL 별도의 파일이나 인터페이스에 작성하고 이를 불러들이는 방식으로 MyBatis(iBatis)가 대표적

=>구현은 쉽지만 효율이 떨어짐 유지보수도 어려움

=>SI 업계에서 많이 이용

 

3) ORM 이용

=>하나의 클래스와 테이블을 매핑시켜서 SQL없이도 데이터베이스 작업이 가능하도록 해주는 방시긍로 JPA 가 대표적인데 JPA는 인터페이스 이름이고 실제 구현체는 Hibernate를 많이 이용

=>구현이 어렵지만 호율이 좋고 유지보수도 편리

=>최근에 중견 기업에서 대부분 이 방식을 사용하며 다른 언어에서도 이 방식의 프레임워크를 사용하는 경우가 많음

 

 

13.Git

https://capojava.tistory.com/194

728x90

'ETC > 개발지식' 카테고리의 다른 글

Spring MVC project  (0) 2022.10.13
Git 업로드하기  (0) 2022.10.12
Java Web Programming -STS  (0) 2022.10.12
사이트 크롤링이 어려운 case  (0) 2022.09.26
tomcat 서버 오류날 때  (0) 2022.08.17

댓글