Beim Aufruf eines Servlets wird eine Seite aus einer JSP-Datei geladen
P粉289775043
2023-08-24 12:47:14
<p>Kann ich ein Servlet aus einer JSP-Datei aufrufen, ohne ein HTML-Formular zu verwenden? </p>
<p>Zeigen Sie beispielsweise Ergebnisse aus einer Datenbank in einer HTML-Tabelle während des Ladens der Seite an. </p>
您需要根据您的需求使用RequestDispatcher的forward/include方法来实现相同的效果。
在JSP中,您需要使用以下标签:
jsp:include:
例如:
jsp:forward:
例如:
请查看高级JSP示例:JSP-Servlet通信:
http://www.oracle.com/technology/sample_code/tech/java/jsps/ojsp/jspservlet.html
您可以使用servlet的
doGet()
方法预处理请求并将请求转发到JSP。然后只需在链接和浏览器地址栏中指向servlet URL而不是JSP URL。例如:
请注意,JSP文件放在
/WEB-INF
文件夹中,以防止用户直接访问它而不调用servlet。还请注意,
@WebServlet
仅适用于Servlet 3.0(Tomcat 7等),请参阅@WebServlet注释与Tomcat 7。如果您无法升级,或者由于某种原因需要使用与Servlet 3.0不兼容的web.xml
,则需要手动在web.xml
中以以下方式注册servlet,而不是使用注释:一旦通过注释或XML正确注册了servlet,现在您可以通过http://localhost:8080/context/products打开它,其中
/context
是Web应用程序部署的上下文路径,/products
是servlet的URL模式。如果您在其中有任何HTML<form>
,则只需将其POST到当前URL,如<form method="post">
,并在同一个servlet中添加一个doPost()
来执行后处理工作。请继续阅读以下链接以获取更多关于此的具体示例。另请参阅