프로그래밍/JSP Servlet 74

JSP/Servlet – 필터 체인의 방향 바꾸기

JSP/Servlet – 필터 체인의 방향 바꾸기 필터 클래스에서 로그인 여부를 체크하여 웹페이지의 방향을 결정하려면 sendRedirect 메소드나 forward 메소드를 이용해서 구현할 수 있습니다. 다음 예제는 로그인 여부를 체크하여 웹페이지를 다르게 보여줍니다. 예제는 위와 같이 구성됩니다. LoginCheckFilter.java 에서 필터 클래스를 구현합니다. 그리고 NameList.jsp와 Login.jsp, LoginForm.html는 테스트를 위한 파일입니다. LoginCheckFilter.java package myfilter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain;..

JSP/Servlet - 필터 클래스의 init 메소드와 destroy 메소드 활용

JSP/Servlet – 필터 클래스의 init 메소드와 destroy 메소드 활용 2016/03/14 - [프로그래밍/JSP/Servlet] - JSP/Servlet – 필터(Filter)의 이해 Filter 인터페이스를 구현하면 init 메소드와 destroy 메소드를 구현해야 합니다. 예를 들어 파일을 여는 코드는 init 메소드 안에, 닫는 코드는 destroy 메소드 안에 기술합니다. 다음 예제를 통해 필터 클래스로 로그 파일을 작성해 봅시다. 예제는 위와 같이 구성됩니다. 필터 클래스 LogMessageFilter.java와 필터 클래스를 등록하는 web.xml 그리고 테스트를 위한 filterTest.jsp 파일로 구성됩니다. LogMessageFilter.java package myfilt..

JSP/Servlet – 필터(Filter)의 이해

JSP/Servlet – 필터(Filter)의 이해 필터란 클라이언트와 서버사이에서 request와 response객체를 필터가 먼저 받아 사전작업/사후작업 등 공통적으로 필요한 부분을 처리합니다. 필터에 대한 기본적인 내용은 다음 링크에 설명이 잘되어있습니다. 필터를 이용한 웹 프로그래밍 Part1, 필터란 무엇인가! 필터가 어떤 순서로 동작하기 위해 위와 같이 예제를 구성합니다. 첫 번째로는 필터 클래스를 구현해봅시다. 필터클래스는 Filter 인터페이스를 구현해야 합니다. /WEB-INF/classes/myfilter/SimpleFilter.java package myfilter; import java.io.IOException; import javax.servlet.Filter; import ja..

JSP/Servlet – 커스텀 액션안에 또 다른 커스텀 액션 포함하기

JSP/Servlet – 커스텀 액션안에 또 다른 커스텀 액션 포함하기 테스트 위와 같이 부모 커스텀 액션안에 자식 커스텀 액션이 들어가게 만드려면 두 개의 태그 클래스를 작성해야합니다. 부모 태그 클래스에서는 단순히 JspFragment 객체를 구한다음 invoke 메소드를 호출해주면 됩니다. 하지만 자식 커스텀 액션에서는 먼저 올바른 부모인지 확인하기 위해 다음 메소드를 사용해서 부모 태그 클래스를 가져옵니다. JspTag parent = getParent() 위와 같이 예제 파일을 구성합니다. ListTag.java package tool; import java.io.IOException; import javax.servlet.jsp.JspException; import javax.servlet.j..

JSP/Servlet – 태그 클래스를 이용해서 변수 지원 커스텀 액션 만들기

JSP/Servlet- 태그 클래스를 이용해서 변수 지원 커스텀 액션 만들기 태그 클래스를 이용해서 변수를 리턴하고 싶다면 JspContext 객체의 setAttribute 메소드를 이용하면됩니다. JspContext context = getJspContext(); context.setAttribute("변수이름", "값"); 위와 같이 예제를 구성해줍니다. MinimumTag.java package tool; import java.io.IOException; import javax.servlet.jsp.JspContext; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.SimpleTagSupport; public class..

JSP/Servlet – 태그 클래스를 이용해서 커스텀 액션의 본체 내용을 바꿔보자

JSP/Servlet – 태그 클래스를 이용해서 커스텀 액션의 본체 내용을 바꿔보자 이번에는 getJspBody()메소드를 이용해서 커스텀 액션의 본체를 가져온 다음 내용을 바꿔서 출력을 해봅시다. JspFragment body = getJspBody();//커스텀 액션의 본체를 가져옵니다. 다음 StringWriter 클래스를 선언합니다. StringReader 클래스와 StringWriter 클래스는 문자열을 스트림에 기록하거나 읽어낼 때 사용하는 클래스입니다. 즉 목표지점이 string형의 데이터가 되는 것입니다. (스트림에 대한 내용 소설같은 자바9 자바스트림 참조) StringWriter writer = new StringWriter();//객체 생성 body.invoke(write);//본체의..

JSP/Servlet - 태그 클래스를 이용한 본체가 있는 커스텀 액션 만들기

JSP/Servlet – 태그 클래스를 이용한 본체가 있는 커스텀 액션 만들기 태그 클래스에서 본체가 있는 커스텀 액션을 만드려면 2가지 단계를 거쳐야합니다. 첫 번째는 getJspBody 메소드를 호출해서 JspFragment 객체를 가져옵니다. 두 번째는 JspFragment 객체의 invoke 메소드를 호출해서 출력에 사용될 출력 스트림을 파라미터로 넘겨줍니다. JspFragment body = getJspBody();//커스텀 액션의 본체를 가져오는 메소드 body.invoke(out);//이 위치에 본체의 내용을 출력 위와 같이 폴더 및 파일을 구성합니다. /WEB-INF/classes/tool/BoxTag.java package tool; import java.io.IOException; im..

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 클래스 만들기

JSP/Servlet – 동적 애트리뷰트를 지원하는 태그 클래스 만들기 동적 애트리뷰트를 지원하는 태그 클래스를 만들기 위해서는 각각의 애트리뷰트에 대한 set 메소드를 선언할 필요는 없고 setDynamicAttribute메소드 하나만 선언하면 됩니다. @Override public void setDynamicAttribute(String uri, String localName, Object value) throws JspException { } uri는 네임스페이스를 말하며 보통 무시하셔도 좋습니다. localName은 애트리뷰트 이름, value는 애트리뷰트의 값을 의미합니다. 동적 애트리뷰트를 지원하는 태그 클래스의 경우 TLD 파일에 엘리먼트가 필요가 없으며 라는 엘리먼트를 쓰고 그 엘리먼트의 ..

JSP/Servlet – 태그클래스를 이용해서 애트리뷰트가 있는 커스텀 액션 만들기

JSP/Servlet – 태그클래스를 이용해서 애트리뷰트가 있는 커스텀 액션 만들기 태그클래스를 이용해서 애트리뷰트 값을 받으려면 메소드를 따로 선언해야 합니다. 반드시 public으로 선언 맨 앞에 set을 붙이고 애트리뷰트 이름의 첫문자를 대문자로 파라미터 변수를 선언 public void setSize(Integer size){ } 먼저 classes 폴더를 만들고 그 안에 tool 폴더를 만듭니다. 그 다음 태그클래스를 구현하기 위한 NewLineTag.java 파일을 만듭니다. 그리고 TLD파일을 만들어서 커스텀 액션을 등록합니다. web.xml파일에는 TLD파일의 URI와 경로를 명시해줍니다. 마지막으로 TagTest.jsp파일을 만들어서 커스텀 액션을 테스트합니다. NewLineTag.jav..

JSP/Servlet – SimpleTagSupport 클래스를 이용해서 태그 클래스 작성하기

JSP/Servlet – SimpleTagSupport 클래스를 이용해서 태그 클래스 작성하기 SimpleTagSupport 클래스는 태그 클래스라고 해서 커스텀 액션을 만드는데 사용됩니다. 서블릿 대신 JSP로 구현하듯이 태그 파일 대신에 태그 클래스로 작성할 수 있습니다. SimpleTagSupport 클래스를 이용해서 태그 클래스를 만들때 작성해야하는 메소드는 doTag 메소드 하나뿐 입니다. doTag 클래스를 작성할 때는 public으로 선언해야합니다. 파라미터가 없어야합니다. JspException, IOException을 던져야합니다. 이 3가지를 반드시 지켜야 합니다. 태그 클래스안에서 출력을 위해서는 getJspContext 메소드를 호출해서 JspContext 객체를 가져옵니다. 그 다..

반응형