Java 관련/JSP & Servlet
![[JSP & Servlet] JSP 스크립트<%! %>, 스크립트릿<% %>, 주석 <%-- --%>](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FX6ZM6%2FbtrrVplwlMk%2F26DQknjxaGvUjWWIpyLKik%2Fimg.png)
[JSP & Servlet] JSP 스크립트<%! %>, 스크립트릿<% %>, 주석 <%-- --%>
웹서버 프로그래밍을 구현할때 JSP와 Servlet을 이용했었습니다. 이번에는 JSP를 이용해서 웹프로그래밍을 구현해보려고합니다. JSP는 HTML언어에 Java언어를 추가해서 만들기 때문에 자바 언어를 HTML에 삽입을 할 때의 표현식을 알아보겠습니다. 물론 HTML이나 CSS는 언어로 취급안해주는 경우도 있지만 일단 언어라고 가정해보겠습니다! 1. JSP와 Servlet의 차이점 우선 Servlet은 순수 자바 코드로만 이루어져 있습니다. 그렇기 때문에 자바파일을 만들고 코딩을 하게 되는데 Http클래스를 상속받아서 만들게 됩니다. 이 자바 파일을 컴파일 하게되면 class파일로 만들어주게 되죠. 반면에 JSP는 HTML코드와 Java를 합쳐서 JSP를 만들수 있습니다. 또한 JSP를 개발자가 만들어..
![[JSP & Servlet] form 데이터 처리](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcQ0G0t%2FbtrroNavanf%2FZxJdsLWQCmlXK8u4HKKGUk%2Fimg.png)
[JSP & Servlet] form 데이터 처리
로그인이나 회원가입 기능의 경우 여러 정보를 입력하고 submit 버튼인 로그인 혹은 회원가입 버튼을 누르면 form태그 안에 데이터들이 모두다 이동을 합니다. 그런 서버에서 처리를 하는 과정을 알아보려고 합니다. 브라우저가 서버에 데이터를 보내는 경우가 많습니다. 로그인이나 회원가입 뿐만 아니라 설문지의 경우에도 이런것을 사용하는데요. 이런 Data를 요청할때 Request객체에 담아서 서버로 보내게 됩니다. 이렇게 데이터를 요청할때는 get방식과 post방식 두가지가 있는데 이 두가지를 알아보곘습니다. form태그에 대표적인 속성으로 action과 method가 있습니다. method속성을 get으로 해놓고 submit을 누르게 되면 user data가 doGet() 메서드가 받게됩니다. 만약 met..
![[JSP & Servlet] Servlet Life-Cycle과 메서드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcoFWXQ%2Fbtrrun9uWQ8%2FrqOIWeP37I3omfhwlwSxI0%2Fimg.png)
[JSP & Servlet] Servlet Life-Cycle과 메서드
Servlet 생명주기 서블릿은 처음에 생성하게 되는데 그 단계를 init단계라고 합니다. 서블릿이 구현한 방식으로 구현된 기능으로 일을 하면 그것을 서비스 단계라고합니다. 일을 다 끝내고 서블릿이 소멸될때 destroy단계라고합니다. 이 3가지 단계가 Servlet 생성 및 종료인데, 이 생성 및 종료를 준비하는 단계를 PostConstruct라고 합니다. 이후 종료를 한다음 정리하기 위한 단계를 PreDestroy단계라고합니다. 생명주기 관련 메서드 init() 메서드와 destroy() 메서드는 Override해서 사용하기 때문에 이름을 바꿀수 없지만 postConstruct()메서드와 preDestory() 메서드는 각각의 어노테이션을 사용하기 때문에 개발자의 취향에 맞게 이름을 지어도 괜찮습니다..
![[JSP & Servlet] request(요청), response(응답)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F5s1k1%2FbtrroAblgnF%2FEsipkyMuO5gZIjbaiaStjK%2Fimg.png)
[JSP & Servlet] request(요청), response(응답)
1. HttpServlet HttpServlet은 Class긴 class인데 abstract class(추상클래스)입니다. 그림을 보면 ServletEx라는 이름으로 서블릿을 만들었는데 서블릿을 만들려면 반드시 HttpServlet을 상속받아서 만들어야 합니다. HttpServlet은 GenericServlet이라는 추상클래스를 다시 상속하고 있고 GenericServlet은 Servlet과 ServletConfig, Serializable이라는 인터페이스를 상속받고있습니다. 이렇게 많은 인터페이스와 추상클래스를 상속받아서 서블릿을 만드는 이유는 로컬에서 작업하는 것이 아니라 웹서비스는 웹서버, 웹어플리케이션서버와 통신이라고 볼수 있기 때문에 그 과정에서 많은 데이터가 오고가기 때문에 그런 것을 다 구현..
![[JSP & Servlet] Servlet 맵핑](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJ4jqS%2FbtrrpThc1nD%2Fkx9qiqydvFqRhHBuMumiXK%2Fimg.png)
[JSP & Servlet] Servlet 맵핑
JSP와 Servlet을 실행해 봤을때 JSP는 주로 MVC(Model View Controller)패턴에서 View를 만들어줄 때 사용하고 Servlet을 Model과 Controller를 만들때 사용합니다. 또 Servlet을 만들때 URL mapping을 해주었는데요. Servlet 맵핑이란 무었일까요?? 브라우저에서 요청을 보낼때 서블릿을 쉽게 구분할수 있는 요소가 필요합니다. 하지만 위의 그림처럼 full path를 입력해야 구분이 될 경우 복잡할 뿐더러 보안에도 상당히 취약할수 있겠죠. 그래서 path를 mapping하여 좀더 간결한 URL을 만들어줍니다. Servlet Mapping을 하는 방법은 크게 2가지로 web.xml파일을 이용한 매핑이 있고 Java annotation을 활용한 매핑..
![[JSP & Servlet] Servlet 시작하기!](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcZkgKr%2Fbtrrpnpi2NT%2FrzIcK4AJEItqXvk26oELGK%2Fimg.png)
[JSP & Servlet] Servlet 시작하기!
JSP는 기존에 사용하던 HTML문서에 JSP 코드를 삽입하여 확장자를 JSP로 저장하였습니다. 기존의 HTML문서는 정적인 문서이지만 확장자를 JSP로 바꾸고 JSP 문법을 넣음으로서 웹 컨테이너에서 동적으로 사용자의 Request를 동적으로 만들어주었습니다. 웹 컨테이너에서는 개발자가 만든 JSP파일은 java파일을 거처 class파일로까지 만들어 주었습니다. JSP는 HTML안에 JSP코드를 넣는 반면에 Servlet은 순수 Java파일만을 이용하게 됩니다. 이처럼 Java로 만들어진 Servlet은 웹 컨테이너에서 class로 만들어지고 응답하게 됩니다. 웹 컨테이너의 구조입니다. 브라우저에서 요청을 하게되면 웹컨테이너에서는 java파일에서 class파일로 만들어주고 class파일을 obj파일로 ..
![[JSP & Servlet] 웹 컨테이너 구조와 JSP 시작하기](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fbug3xG%2Fbtrrpm4ReEA%2Fjug4KWDs78tP3byyEwClIK%2Fimg.png)
[JSP & Servlet] 웹 컨테이너 구조와 JSP 시작하기
JSP를 시작하기 앞서 웹 JSP를 위해서 Java, tomcat, eclipse등 JDK와 path설정을 해놓으시고 서버로 사용할 tomcat 그리고 IDE인 eclipse가 설치되어있어야합니다! 이클립스에 기본적으로 tomcat을 연결해주세요! 웹 컨테이너의 구조를 먼저 볼까요? 개발자는 jsp파일을 만들어서 서버에 요청을 하게 됩니다. 만약 xxx.jsp파일을 요청했다면 그 파일은 xxx_jsp.java파일로 변환되게 됩니다. 이렇게 변환된 파일은 컴파일 되어 xxx_jsp.class파일이 되게 될것입니다. 이 파일은 오브젝트 파일인 xxx_jsp.obj로 바뀌어 자바 환경에서 실제로 실행이 되게 됩니다. 이렇게 실행된 결과물이 응답될 때는 HTML로 응답이 됩니다. 우리가 이와 같은 것을 WAS(..
![[JSP & Servlet] 웹 프로그램이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FBigRM%2FbtrrsmbFCwe%2F7rp0NStrRB0Qwnba0LA320%2Fimg.png)
[JSP & Servlet] 웹 프로그램이란?
1. 웹 프로그램과 네트워크 웹 프로그램이란 무엇일까요? 우리는 집이나 학교, 회사에서 PC를 사용하고 있습니다. 또한 개인 pc외에도 서버, 스마트폰, 태블릿 등 브라우저가 내장된 컴퓨터는 수 없이 많이 존재하는데요. 여기에서 컴퓨터와 컴퓨터가 온라인 상에서 서로 연결이 되어있는데 이를 네트워크라고 하죠! 네트워크는 많은 서비스를 제공하고 있는데 인터넷 서비스도 이 중 하나입니다. 인터넷 서비스는 브라우저를 통해서 데이터를 주고 받는 서비스입니다. 다시 말해서 웹 프로그램이란, 인터넷 서비스를 이용해서 서로 다른 구성요소들(PC등)이 통신할 수 있는 프로그램이라고 할 수 있습니다. 어떤 pc(브라우저)에서 다른 서버(컴퓨터)로 어떤 정보 요청(request)을 하면, 서버는 다시 요청을 한 쪽으로 응답..