2011-12-08 2 views
0

간단한 카운터 서블릿 애플리케이션을 작성하여 페이지를 방문한 사용자 수를 표시했습니다. jsp 페이지에이 결과를 표시하고 싶습니다. 그러나 나는 그것을 어떻게 할 수 있는가? 다음은 ... (당신이 POST 요청을하는 경우와 doPost) 당신은 doGet을 구현해야한다jsp 페이지에서 서블릿 결과를 표시하는 방법은 무엇입니까?

public class ServerClass extends HttpServlet { 
int counter = 0; 
protected void processRequest(HttpServletRequest request, HttpServletResponse response) 
     throws ServletException, IOException { 
    response.setContentType("text/html;charset=UTF-8"); 
    PrintWriter out = response.getWriter(); 
int local_count; 
synchronized(this) { 
local_count = ++counter; 
} 
out.println("Since loading, this servlet has been accessed " + 
     local_count + " times."); 
out.close(); 
    } 
} 

답변

3

내 코드입니다. normal servlet doXxx methods 중 하나에서 호출하지 않는 한 processRequest으로 전화하지 않습니다.

요청 속성을 통해 변수를 노출 다음 JSP에 전달

// Convention would name the variable localCount, not local_count. 
request.setAttribute("count", local_count); 

:

getServletContext() 
    .getRequestDispatcher("/WEB-INF/showCount.jsp") 
    .forward(request, response); 

사용 JSP EL (표현 언어) 속성 표시 :

Since loading, this servlet has been accessed ${count} times. 

을 지역 카운트 변수가 나타나지 않으면 web.xml 파일이 최신 서블릿 개정.

+0

감사합니다. Dave ..하지만 count 변수에는 null 값이 표시됩니다. 나는 web.xml을 검사했다. 무엇을 해야할지 모르겠다. iam novel to servlet .. – Rosh

+0

@Rosh 지금은'processRequest'를 사용하고 있는데, HTTP'GET' 요청에'doGet'을 사용해야합니다. doGet을 구현 한 후에도 여전히 'null'을 표시하는 경우 자세한 내용을 게시해야합니다. –

+0

고마워요 데이브 .. 지금 작동합니다 .. :) – Rosh

관련 문제