我是servlets和JSP的新手。我正在嘗試從jsp調用記錄器servlet。要求是這樣的,servlet將控制權返回給jsp(在記錄事件之後)。該servlet需要是透明的,即根據日誌記錄功能可能關閉的性能。從JSP調用Servlet
是JSP:包括唯一的方法嗎?還有其他方法嗎?
謝謝,
溫斯頓。
我是servlets和JSP的新手。我正在嘗試從jsp調用記錄器servlet。要求是這樣的,servlet將控制權返回給jsp(在記錄事件之後)。該servlet需要是透明的,即根據日誌記錄功能可能關閉的性能。從JSP調用Servlet
是JSP:包括唯一的方法嗎?還有其他方法嗎?
謝謝,
溫斯頓。
您不能直接從JSP調用servlet。但是,您可以發送redirect。這會告訴瀏覽器它應該在另一個位置查找資源。
從JSP
<%
String destination ="/jsp/destination.jsp";
response.sendRedirect(response.encodeRedirectURL(destination));
%>
從Serlet
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String destination ="/jsp/destination.jsp";
response.sendRedirect(response.encodeRedirectURL(destination));
}
}
如果你的目的是 「記錄」 你應該使用Filter。過濾器就像一個輕量級的servlet,它不會生成自己的內容,而是插入到請求處理過程中,並執行正常的頁面處理。
強烈建議使用模式爲MVC的Servlet/JSP。它將應用程序的數據,用戶界面和控制邏輯分成三個獨立的實體。該請求由Servlet(控制器)處理,它將初始化完成用戶請求所需的任何JavaBean(模型)。然後,Servlet(控制器)將包含JavaBean(模型)的請求轉發到僅包含HTML和JSTL語法的JSP(視圖)頁面。
-1代表「can not」和scriptlet-approach,Filter代表+1,這是正確的方法。 – BalusC 2010-09-07 19:39:07
:(我只是想指出,從jsp調用一個servlet並不是正確的思維方式。無論如何,tks爲-1 + 1 = 0:D – 2010-09-07 22:03:10
其中一種方法是'
這個記錄器servlet會做什麼? – skaffman 2010-09-07 18:23:50