![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dsMqOE/btq21dcKps6/9rw8I5XiwSj0Owwu1FAjI0/img.png)
사용자가 무엇을 웹상에서 요청을 했을때 반응을 하는 웹을 구현해본다. 먼저 이클립스에서 webapp 디렉토리에 hello.html 이라는 파일을 추가하고 코드를 삽입해보자. hello.html "안녕하세요"를 몇 번 듣고 싶은대요? 안에서 코드를 구현한다. : hello라는 서블릿 매핑 주소. : 입력된 값이 있으면 name에 있는 값으로 주소뒤에 Query값을 만들어준다. : submit버튼을 누르면 form태그에 있는 hello라는 주소에 요청이 간다. 순서. text에 2를 입력하고 submit버튼 -> form 태그의 hello라는 주소를 요청 및 매핑 (localhost:8080/hello) -> text값을 확인하고 값이 있으면 query값으로 만들어준다 (localhost:8080/hello..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eCgj24/btq22aM3c0w/8CYXFeWPwoMzWZgeCTOpWK/img.png)
Get요청, 쿼리 스트링(QueryString)의 개념 http://localhost/hello -> 서버에 어떠하 문서를 요청하는 것 : Get 요청 http://localhost/hello? cnt=3 -> Get요청을 하면서 추가적인 요청을 할 경우 자, 이제 어떻게 하면 이 Get요청과 QueryString을 서버에서 처리할 수 있을까? 코드를 보면서 알아보자. package com.newlecture.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.ht..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bXnP8I/btq2SLHAX0t/XjAMYzxKQ6I51KhamSsE7k/img.png)
서블릿을 출력해보자!package com.newlecture.web; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/hello") public class Nana extends HttpServlet { @Override protected void s..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dguyXk/btq26mTsasz/UaooflqiLBWFFfMJTcBlik/img.png)
*참고: 어노테이션이란? 주석, 메타데이터를 의미! *참고: 메타데이터란? 어플리케이션이 처리할 데이터가 아닌, 컴파일러가 어떻게 처리할지 도와주는 역할! 어노테이션을 이용하면 서블릿 매핑이 훨씬 수월하다. 이거건 서블릿 3.0 이상부터 가능하다고 한다. 먼저 사용을 위해서 web.xml 파일을 수정해주어야 한다. 수정전 코드 web.xml 코드 na com.newlecture.web.Nana na /hello Welcome to Tomcat Welcome to Tomcat 수정 후 코드 web.xml Welcome to Tomcat Welcome to Tomcat 먼저 서블릿 코드들은 이제 필요없으니 지우고~ metadata-complete="true" -> "false"로 수정 해주어야한다. true..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/TCJVp/btq2XiZhdT1/lKiXMEG4rmfB2TIlfv3fj1/img.png)
이클립스를 실행하면 이제 아래의 webapp이라는 디렉토리가 홈 디렉토리가 된다. 그리고 여기에 일단 간단하게 index.html 파일을 생성해보자. 그리고 "안녕하세요" 를 출력해보자! 이제 다 간단하게 Ctrl + F11만 누르면 바로 확인할 수 있다. 여기서 보면 JSPprj라는 Context명이 나타나 있다. 기본 홈이기 때문에 Context명을 사용해서는 안된다. ROOT로 만들어 주자! 여기서 Context root를 "/"로 변경하자! 그 이후에 위의 오른쪽 빨간 사각형의 중지 버튼을 누르고 서버를 멈춘다. 그리고 서버 내의 JSPprj를 del키를 이용해 삭제한다. 이유는 Context명이기 때문에 의미가 없다. 다시 Ctrl+F11로 실행해보자! 자~!! 이제 홈디렉토리가 되어서 Cont..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/d41Mi0/btq2QTSN5Iz/Bn85i2kkibwDvEmRncgcK0/img.png)
이전에 봤던 코드 Nana.java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; public class Nana extends HttpServlet { public void service(HttpServletRequest request , HttpServletResponse response) throws IOException, ServletException { System.out.println("hello Servlet"); } } 여기서 똭 읽어보면 HttpServletRequest는 아~ 입력하는 거겠구나 HttpServletResponse는 출력하는 거겠구나 하는 감이 온다. import javax.servlet.*;..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/eQ1rwZ/btq2NVjgS8v/Fr2LyUFXrK3kWxeTUVXlZK/img.png)
Servlet이란? Server Application Let: 어플리캐이션조각이라고 하며, 수 많은 기능들이 따로 구현되어 있음 예) 사용자가 하나의 list를 요청하면 list라는 서블릿만 실행해서 결과를 보여준다. 사용자가 하나의 reg를 요청하면 reg라는 서블릿만 실행해서 결과를 보여준다. ... 전체 프로그램을 모두 실행시킬 필요가 없다! 보통은 이클립스와 같은 프로그램으로 서블릿 코드를 쉽게 작성하지만 기본을 알기위해서 요로캐 해보자! 서블릿 코드 작성준비물 : Notepad++(메모장), JDK, 톰캣 *참고: WAS란? Web Application Server 먼저 노트패드에 서블릿 코드를 쓰자! Nana.java import javax.servlet.*; //javax.servlet을 사..