![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/cwMJdV/btq3bVh79BJ/8zatZVcOttFKNpWLgSr17K/img.png)
서블릿 필터 Servlet Filter 란? 그림을 보고 이해해보자! WAS(우리가 사용하는 Tomcat)에서 Servlet(*. java)를 Request 할 때 Reponse 할 때 이 Filter를 통과해야 한다. 이 필터가 있음으로써 WAS에서 설정을 변경하지 않고도 모든 서블릿에 영향을 준다. Servlet Filter는 값을 전달하는 역할도 하고, 접근권한, 인증까지도 설정할 수 있다. 이제 Servlet Filter를 설정하는 두 가지의 방법에 대해서 알아보자! 이번 예제는 Servlet Filter를 통해서 모든 Servlet의 URI인코딩 방식을 UTF-8로 변환하는 것이다. 1번째 방법. 직접 Web.xml코드를 수정해서 만드는 방법이다. 가장 먼저 Noticereg.java에서 인코딩..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/c06XGD/btq3aurHvZS/oF1TEfURZTLMA4htTJfG91/img.jpg)
전달할 내용이 많지 않을 경우에는 get요청을 사용할 수 있다. 하지만 내용이 많아질 경우에는 어떻게 해야 하나? 예를 들어서 피자가게에서 주문을 할 때 피자 라지 하나 주세요 정도는 get으로 할 수 있다. 그런데 피자 라지고요, 양파는 많이 주시고, 소스는 2배, 페퍼로니도 추가하고, 치즈는 3배로, 크러스트는 반은 고구마, 반은 치즈, 도우는 젤 얇은 걸로 해주시고,,, 누군가 이렇게 주문을 한다면? 서로 불편해진다. 센스 있는 직원이라면 form 줄테니까 여기 적어서 주세요~ 이렇게 할 거다. 이렇게 한 번에 form으로 받는 방법이 POST이다. 자 그러면 코드를 한번 만들어보자! reg.html 파일 생성 제목: 내용: Noticereg.java 파일 생성 package com.newlectu..
![](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..