📌아파치 톰캣 = 웹 서버
: 정적인 부분(HTML) 만 처리 할 수 있는 아파치 + 동적인 부분(Servlet)을 처리할 수 있는 톰캣 합친 서버이다.
📌아파치
: 클라이언트에 요청이 왔을때만 ! 정적 페이지를 제공
📌톰캣 = WAS = 서블릿 컨테이너 (비슷하다)
: 동적 웹(Dynamic Web)을 만들기 위한 웹 컨데이너
정적 페이지를 제외한 요청에 대한 수신
✅ JDBC : 자바 프로그램이 데이터 베이스와 연결되어 데이터를 주고 받을 수 있는 프로그래밍 인터페이스
📌JSP (자바 제공 페이지)
:HTML 코드에 Java코드를 쓸 수 있는 문서(눈에 보이는 코드는 HTML 해석은JAVA)
✅ Servlet (요청에 따라 응답 페이지를 만들어냄) HTML 표기법으로 쓸 수 있게 잠시 JSP 바꿔줄게! 대신 다 되면 다시 JAVA 반환해줘!
Servlet: 자바 소스 코드 속에 HTML이 들어가 있는 상태
Servlet -> RequestDispatcher -> forward(req,resp) -> JSP
(요청 발송자) (전송)
JSP 가 없을때, Servlet으로 응답 화면 만들기 너무 어렵다 ㅠ ㅠ
응답 화면 만드는 부분의 표기법만 HTML 변경하기 위해 나타난 것이 JSP 이다!
PrintWriter out = resp.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
// ...
out.println("</html>");
🔊 JSP 로 응답하기
: 응답 화면을 만드는 servlet의 일을 좀 더 효율적으로 처리 할 수 있는 JSP에게 넘겨줄 예정
- Dispatcher : 필요한 정보를 제공하는 자 == 발송자
req.getRequestDispatcher("JSP경로")
: JSP 경로 작성 규칙 → webapp폴더 기준으로 해서 JSP 파일까지의 모든 경로 작성 !
: HttpServletRequest 객체가 생성될때 내부에 자동으로 요청발송자(RequestDispatcher)가 같이 생성됨
RequestDisapatcher disapatcher = req.RequestDispatcher("/WEB-INF/views/loginResult.jsp");
🔊 JSP 에게 전송할 때 값을 같이 전달하는 방법
- req.setAttribute(String key, Object Value);
: key는 String (문자열) / Value는 모든 객체 (타입 상관없읍)
: Attribute : 속성(데이터값)
req.setAttribute("res", result);
🔊 요청발송자를 이용해서 req,resp 객체를 전송(forward)
- forward : 전송하다, 보내다
dispatcher.forward(req, resp);
'ON > Servlet' 카테고리의 다른 글
[Servlet] JSTL (0) | 2023.07.04 |
---|---|
[Servlet] Serlvet/JSP 내장 객체와 범위 (0) | 2023.07.04 |
[Servlet] EL방식 및 작성법(JSP와 차이) (0) | 2023.07.03 |
[Servlet] 설명 및 순서 정리 (0) | 2023.06.28 |
[Servlet ] JAVA 설정 / 아파치 톰캣 / 오라클 포트 연결 / 서버 연결하기 (0) | 2023.06.28 |