package kr.co.ezenac.scope;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/set")
public class SetAttribute extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String ctxMesg = "context에 바인딩합니다.";
String sesMesg = "session에 바인딩합니다.";
String reqMesg = "request에 바인딩합니다.";
//HttpSessionContext객체, HttpSession객체, HttpServletRequest객체를 얻은 후 속성을 바인딩 함
ServletContext ctx = getServletContext();
HttpSession session = request.getSession();
ctx.setAttribute("context", ctxMesg);
session.setAttribute("session", sesMesg);
request.setAttribute("request", reqMesg);
out.print("바인딩을 수행합니다.");
}
}
package kr.co.ezenac.scope;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
@WebServlet("/get")
public class GetAttribute extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
ServletContext ctx = getServletContext();
HttpSession session = request.getSession();
//각 서블릿 API에서 바인딩된 속성의 값을 가져옴
String ctxMesg = (String)ctx.getAttribute("context");
String sesMesg = (String)session.getAttribute("session");
String reqMesg = (String)request.getAttribute("request");
out.print("context 값 : " + ctxMesg + "<br>");
out.print("session 값 : " + sesMesg + "<br>");
out.print("request 값 : " + reqMesg + "<br>");
}
}
package kr.co.ezenac.urlpattern;
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("/first/test") //정확히 이름까지 일치하는 URL 패턴
public class UrlTestServlet01 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String context = request.getContextPath(); //컨텍스트 이름만 가져옴
String url = request.getRequestURI().toString(); //전체 URL을 가져옴
String mappint = request.getServletPath(); //서블릿 매핑 이름만 가져옴
String uri = request.getRequestURI(); //URI를 가져옴.
out.print("<html><body bgcolor = 'yellow'>");
out.print("<b>UrlTestServlet01입니다.</b><br>");
out.print("</body></html>");
}
}
package kr.co.ezenac.urlpattern;
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("/first/*") //디렉토리 이름만 일치하는 URL 패턴
public class UrlTestServlet02 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String context = request.getContextPath(); //컨텍스트 이름만 가져옴
String url = request.getRequestURL().toString(); //전체 URL을 가져옴
String mapping = request.getServletPath(); //서블릿 매핑 이름만 가져옴
String uri = request.getRequestURI(); //URI를 가져옴.
out.print("<html><body bgcolor = 'blue'>");
out.print("<b>UrlTestServlet02입니다.</b><br>");
out.print("<b>컨텍스트 이름 : " + context + "</b><br>");
out.print("<b>전체 경로 : " + url + "</b><br>");
out.print("<b>매핑 이름 : " + mapping + "</b><br>");
out.print("<b>URI : " + uri + "</b><br>");
out.print("</body></html>");
}
}
package kr.co.ezenac.urlpattern;
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("*.do") //확장자만 일치하는 패턴
public class UrlTestServlet03 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String context = request.getContextPath(); //컨텍스트 이름만 가져옴
String url = request.getRequestURL().toString(); //전체 URL을 가져옴
String mapping = request.getServletPath(); //서블릿 매핑 이름만 가져옴
String uri = request.getRequestURI(); //URI를 가져옴.
out.print("<html><body bgcolor = 'red'>");
out.print("<b>UrlTestServlet02입니다.</b><br>");
out.print("<b>컨텍스트 이름 : " + context + "</b><br>");
out.print("<b>전체 경로 : " + url + "</b><br>");
out.print("<b>매핑 이름 : " + mapping + "</b><br>");
out.print("<b>URI : " + uri + "</b><br>");
out.print("</body></html>");
}
}
package kr.co.ezenac.urlpattern;
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("/*") //모든 요청 URL 패턴
public class UrlTestServlet03 extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String context = request.getContextPath(); //컨텍스트 이름만 가져옴
String url = request.getRequestURL().toString(); //전체 URL을 가져옴
String mapping = request.getServletPath(); //서블릿 매핑 이름만 가져옴
String uri = request.getRequestURI(); //URI를 가져옴.
out.print("<html><body bgcolor = 'red'>");
out.print("<b>UrlTestServlet02입니다.</b><br>");
out.print("<b>컨텍스트 이름 : " + context + "</b><br>");
out.print("<b>전체 경로 : " + url + "</b><br>");
out.print("<b>매핑 이름 : " + mapping + "</b><br>");
out.print("<b>URI : " + uri + "</b><br>");
out.print("</body></html>");
}
}