자바 웹 개발/세션 쿠키 필터 리스너(11)
-
[Web] 리스너 / HttpSessionBindingListener 접속자 표시 / HttpSessionListener 로그인 접속자수 표시
자바 GUI는 이벤트 핸들러를 이용해 화면 기능을 구현한다. 서블릿에서도 이벤트를 추러히는 여러 리스너를 제공한다. Listener추상 메서드기능ServletContextAttributeListenerAttributeAdded()AttributeRemoved()AttributeReplaced()Context 객체에 속성 추가/제거/수정 이벤트 발생 시 처리합니다. HttpSessionListenersessionCreated()sessionDestroyed()세션 객체의 생성/소멸 이벤트 발생 시 처리합니다ServletRequestListenerrequestInitialized()requestDestroyed()클라이언트의 요청 이벤트 발생 시 처리합니다ServletRequestAttributeListen..
2024.08.21 -
[Web] 필터
필터는 브라우저에서 서블릿에 요청하거나 응답할 때 미리 요청이나 응답과 관련해 여러 가지 작업을 처리하는 기능이다. 모든 서브릿에서 공통으로 처리하는 작업을 필터로 처리하면 편한다.일단 login.html와 LoginTest 서블릿을 작성하자. 이름 : 비밀번호 : @WebServlet("/login")public class LoginTest extends HttpServlet{ @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { resp.setContentType("text/html;charset=utf-8"); Pri..
2024.08.21 -
[Web] 서블릿 URL 패턴
URL 정확히 일치)@WebServlet("/first/test")public class TestServlet1 extends HttpServlet{ public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { req.setCharacterEncoding("utf-8"); resp.setContentType("text/html;charset=utf-8"); PrintWriter out = resp.getWriter(); String context = req.getContextPath(); String url = req.getRequestURL().toString(..
2024.08.21 -
[Web] 서블릿 속성과 스코프
서블릿 속성은 ServletContext, HttpSession, HttpServletRequest 세 가지 서블릿 API 클래스에 저장되는 객체(정보)이다. 서블릿의 스코프는 서블릿 API에 바인딩된 속성에 대한 접근 범위를 의미한다. 스코프 종류해당 서블릿 API속성 스코프애플리케이션 스코프ServletContext애플리케이션 전체에 접근세션 스코프HttpServlet브라우저에만 접근리퀘스트 스코프HttpServletRequest해당 요청/응답 사이클에서만 접근 예제를 통해 이를 확인해볼 수 있다. setAttribute 메서드를 이용해서 각 속성을 바인딩하였다. @WebServlet("/set")public class SetAttribute extends HttpServlet{ @Override ..
2024.08.21 -
[Web] encodeURL 사용
브라우저에서 쿠키 기능을 사용할 수 없게 설정했으면 encodeURL 메서드를 이용해야한다. \@WebServlet("/login")public class SessionTest5 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doHandle(req, resp); } @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doHandle(re..
2024.08.19 -
[Web] 세션을 이용한 로그인 정보 바인딩하기
톰캣이 종료되어도 세션이 메모리에서 삭제되지 않는 경우가 있어서 다음과 같이 설정을 해주어야 한다. 주석을 해제한다. login2.html 파일을 작성한다. 아이디 : 비밀번호 : setAttribute() 메서드를 이용해 user_id로 사용자 ID를 바인딩하도록 구현한다. 톰캣을 껐다가 다시 키지 않는한 session이 저장된 user_id대로 로그인 정보가 남아있다. @WebServlet("/login")public class SessionTest4 extends HttpServlet{ @Override protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IO..
2024.08.19