블로그 이미지
헤이장

Notice

Recent Post

Recent Comment

Recent Trackback

calendar

1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
  • total
  • today
  • yesterday
2009. 7. 27. 13:27 Web/Jsp

<init-param> 서블릿 초기화 파라미터 

서블릿은 init(ServletConfig) 에서 부터 ServletConfig 를 가지게 된다
생성자에서는 없다

서블릿 클래스에 코딩하지 않고 DD 파일에 정의해두면 변경시 서블릿을 바꿀 필요도 다시 컴파일 할 필요도 없다

 web.xml
 <servlet>
        <servlet-name>InitParamTest</servlet-name>
        <servlet-class>InitTestClass</servlet-class>
        <init-param>
            <param-name>email</param-name>
            <param-value>remns@naver.com</param-value>
        </init-param>
        <init-param>
            <param-name>addr</param-name>
            <param-value>busan, korea</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>InitParamTest</servlet-name>
        <url-pattern>/init</url-pattern>
    </servlet-mapping>
</servlet>

 InitTestClass.java
 public class InitTestClass extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.print("email : " + getServletConfig().getInitParameter("email") + "<br/>");
        out.print("addr : " + getServletConfig().getInitParameter("addr"));
    }
}


결과
     email : remns@naver.com
     addr : busan, korea

 

<context-param> 컨텍스트 초기화 파라미터

모든 웹 애플리케이션에서 파라미터를 공유하기 위해서 사용한다

web.xml 
    <servlet>
      ...생략...
    </servlet>

    <context-param>
        <param-name>id</param-name>
        <param-value>remns</param-value>
    </context-param>


 ContextTestClass.java
 public class ContextTestClass extends HttpServlet {

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        PrintWriter out = resp.getWriter();
        out.print(getServletContext().getInitParameter("id");
    }
}

posted by 헤이장
2009. 7. 27. 13:22 Web/Jsp

 DownJar.java

// import 생략

public class DownJar extends HttpServlet { 

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
                                                                        throws ServletException, IOException {
        resp.setContentType("application/jar");
        ServletContext ctx = getServletContext();
        InputStream is = ctx.getResourceAsStream("/dwr.jar");
        int read = 0;
        byte[] bytes = new byte[1024];

        OutputStream os = resp.getOutputStream();
        while ((read = is.read(bytes)) != -1) {
            os.write(bytes, 0, read);
        }
        os.flush();
        os.close();
    }
}


경로에 있는 파일을 읽어 출력 스트림에 기록한다

posted by 헤이장
2009. 7. 27. 13:08 Web/Jsp

< 리다이렉트 >

 - 다른 URL 로 가라고 브라우저에게 지시하는 것

  • 클라이언트에서 일어난다
  • 요청 주소가 바뀐다
  • 요청과 응답 객체를 전달하지 않는다
  •  response.sendRedirect("Redirect.jsp");



< 요청디스패치 >

- 서버상에 있는 다른 컴포넌트로 작업을 넘기는 것

  • 서버에서 일어난다
  • 요청 주소가 바뀌지 않는다
  • 요청과 응답 객체를 전달한다
     
     RequestDispatcher view = request.getRequestDispatcher("ReqDispatcher.jsp"); 
     view.forward(request, response);

posted by 헤이장