对于学校我们正在学习servlet,虽然我理解它们背后的想法,但我不确定如何在实践中使用它们。对于一项工作的一部分,我们必须在netbeans中创建一个包含按钮的网页,当按下它时,它必须调用一个servlet来显示消息“Hello,World!'。
我有我的网页,' GetHelloMessage.xhtml'
<body>
<div>Click button to show message.</div>
<p></p>
<button type="button">Get Message</button>
</body>
&#39; HelloWorldServlet.java&#39;
@WebServlet(urlPatterns = {"/HelloWorldServlet"})
public class HelloWorldServlet extends HttpServlet
{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<h1>Hello, World!</h1>");
}
}
当用户按下按钮时,如何调用servlet?
答案 0 :(得分:1)
为了使其正常工作,我必须编辑glassfish-web.xml(位于My Project&gt; WEB-INF中)并添加以下代码行:
<servlet>
<servlet-name>HelloWorldServlet</servlet-name>
<servlet-class>HelloWorldServlet</servlet-class>
</servlet>
在GetHelloMessage.xhtml中:
<form action="HelloWorldServlet" method="GET">
<button type="submit">Get Message</button>
</form>
答案 1 :(得分:0)
您需要在按钮标记内使用标记,以便将数据发送到您的servlet,如下所示:
<body>
<div>Click button to show message.</div>
<p></p>
<button type="button"><a href="helloworldservlet.do">Go to Servlet</a>
</button>
</body>
请注意,我使用.do域名和小写字母,您可以使用@WebServlet(urlPatterns = {“/ helloworldservlet.do”})的@WebServlet(“/ helloworldservlet.do”)内容。
就像我说的那样告诉我它是否有效。
答案 2 :(得分:0)
有几种方法可以调用servlet,但只需使用a
或form
标记即可。
<a href='HelloWorldServlet'>Get Message</a>
或
<form action='HelloWorldServlet'>
<button>HelloWorldServlet</button>
</form>