从JSP调用Servlet

时间:2010-09-07 18:07:12

标签: jsp servlets

我是servlets和JSP的新手。我试图从jsp调用logger servlet。要求是servlet将控制权返回给jsp(在记录事件之后)。 servlet需要是透明的,即根据性能可以关闭日志记录功能。

JSP:INCLUDE唯一的出路吗?还有其他方法吗?

谢谢,

温斯顿。

1 个答案:

答案 0 :(得分:0)

您不能直接从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。 Filter就像一个轻量级的servlet,它不会生成自己的内容,而是插入请求处理过程并执行除了正常的页面处理之外。

强烈建议以MVC模式方式使用Servlet / JSP。它将应用程序的数据,用户界面和控制逻辑分成三个独立的实体。该请求由Servlet(控制器)处理,它将初始化满足用户请求所需的任何JavaBeans(模型)。然后,Servlet(控制器)将包含JavaBeans(模型)的请求转发到仅包含HTML和JSTL语法的JSP(视图)页面。