Java 역사
- Applet 개념
- 웹 브라우저에서 동작하는 프로그램을 만드는 것
- ~.html
<applet class="Board.class"></applet>
- Servlet: 브라우저에서 실행
- ~.java로 작성하지만 소스 안에 html, css, js 그대로 사용 가능
- java의 문법을 모르는 디자이너와 협업하기에는 어려움
- java 중심 코딩 + html, css, js
- JSP의 탄생(Java Server Page): 브라우저에서 실행
- ~.jsp 문서 안에 html, css, js 그대로 사용 가능하다
- 마크업 중심 코딩 + java
- 2010년 이후
- 디자인 패턴: 설계도
- MVC 구조 개념: Model 2방식
- Model: Java(BusinessLogic, Data Access Object, DTO...)
- View: HTML, CSS, JS, JSP
- Controller: Servlet
- Model과 View 사이에서 클라이언트의 요청(request)를 받아 Model쪽으로 보내고 다시 그 결과 응답(response)를 브라우저로 전송
Servlet 작성
- HttpServlet를 상속받는다
- 반드시 public class로 선언한다.
- 기능 작성: 브라우저에서 출력될 내용이나 비즈니스 로직 실행
- 메소드 재정의
- init()
- 객체가 생성된 후 최초에 딱 한 번 호출되며 생성되는 시점에 해야 할 일을 작성
- service(HttpServletRequest request, HttpServletResponse response)
- 사용자 요청(request)이 들어올 때 마다 호출된다.
- 부모에 정의되는 service 메소드는 사용자 요청이 get방식이면 doGet을 호출하고 post방식이면 doPost를 호출한다.
- doGet(HttpServletRequest request, HttpServletResponse response)
- get 방식일 때 해야할 일 작성
- doPost(HttpServletRequest request, HttpServletResponse response)
- post 방식일 때 해야할 일 작성
- destroy()
- servlet이 종료될 때 해야 할 일 작성
- 작성한 servlet 문서가 브라우저에서 실행되기 위해서 생성 + 등록 과정이 필요
<!-- web.xml 문서에 등록하는 방법-->
<servlet>
<servlet-name></servlet-name>
<servlet-class></servlet-class>
<load-on-startup></load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name></servlet-name>
<url-pattern>/lifeCycle</url-pattern>
</servlet-mapping>
<!-- @annotation 방법 -->
@WebServlet(loadOnStartup = 1, urlPatterns = "/lifeCycle")
응답 코드: status
- 200: 성공
- 404: FileNotFoundException
- 405: 요청 방식을 틀렸을 때
- 400: bad request(parameter로 전달되는 요청에 오류)
- 403: 인증은 하였으나 권한 부족
- 500: 소스 오류
'TIL > Java' 카테고리의 다른 글
[Java] 백엔드 기초 - JSP & Servlet (3) (0) | 2023.07.16 |
---|---|
[Java] 백엔드 기초 - JSP & Servlet (2) (0) | 2023.04.20 |
[Java] 완전탐색: 순열, 조합, 부분집합 (0) | 2023.03.16 |
[Java] API 이용한 정렬 (0) | 2023.03.15 |
[Java] 정렬 - 퀵, 병합 (0) | 2023.03.14 |