如何通过JSP页面调用servlet

Rup*_*esh 19 jsp servlets

我想通过JSP页面调用Servlet.打电话的方法是什么?

Bal*_*usC 34

可以<jsp:include>它.

<jsp:include page="/servletURL" />
Run Code Online (Sandbox Code Playgroud)

然而,通常情况则相反.您调用servlet,然后转发到JSP以显示结果.创建一个Servlet,它在doGet()方法中执行类似的操作.

request.setAttribute("result", "This is the result of the servlet call");
request.getRequestDispatcher("/WEB-INF/result.jsp").forward(request, response);
Run Code Online (Sandbox Code Playgroud)

并在 /WEB-INF/result.jsp

<p>The result is ${result}</p>
Run Code Online (Sandbox Code Playgroud)

现在,调用由它相匹配的URL在Servlet <url-pattern>web.xml,如http://example.com/contextname/servletURL.


如果您的实际问题是"如何将表单提交给servlet?" 那么你只需要在HTML表单中指定servlet URL action.

<form action="servletURL" method="post">
Run Code Online (Sandbox Code Playgroud)

doPost()然后将调用其方法.


也可以看看:


GMs*_*soF 6

您可以RequestDispatcher像往常一样使用它Servlet

<%@ page contentType="text/html"%>
<%@ page import = "javax.servlet.RequestDispatcher" %>
<%
     RequestDispatcher rd = request.getRequestDispatcher("/yourServletUrl");
     request.setAttribute("msg","HI Welcome");
     rd.forward(request, response);
%>
Run Code Online (Sandbox Code Playgroud)

请始终注意,在使用之前不要提交任何响应forward,因为它会导致IllegalStateException.


归档时间:

查看次数:

149617 次

最近记录:

9 年,6 月 前