我很想知道是否有办法调用GET方法而不必使用<form>
HTML标记。我只想要一个按钮,在单击它时调用我的doGet()
servlet方法。如果我不发送任何数据,我不应该创建一个完整的表单。
我在考虑这样的事情:<button method="get" action="MyServlet">
。对不起,我目前正在学习Java Web开发和HTML,所以这个问题最初可能听起来很愚蠢
答案 0 :(得分:3)
有几个http动词(GET,POST,PUT,DELETE,PATCH)。但是当你谈论老派网络开发时,实际上只有2个(GET和POST)。表单可以选择使用GET或POST提交,但每次在浏览器的地址栏中键入URL时,您实际上都在发出GET请求。这意味着每次点击链接时都会发出GET请求。
这基本上是一个漫长的方式,说明您需要添加的所有内容:
<a href="http://example.com/path/to/whatever?q=ifyouneedtoaddquerystrings">Click On Me!!</a>
此处的踢球者是您无法将数据添加到您的请求正文中。但似乎并不是你需要的。
答案 1 :(得分:0)
<a href="UserController?id=MyString">Click Me</a>
和第二: -
<img width="200" height="180" src="UserController?id=1234" id="id" alt="Image">
和相应的servlet是: -
public class UserController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String text=request.getParameter("id");
try (PrintWriter out = response.getWriter()) {
/* TODO output your page here. You may use following sample code. */
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet UserController</title>");
out.println("</head>");
out.println("<body>");
out.println("<h1>Value of text " +text+"</h1>");
out.println("</body>");
out.println("</html>");
}
}
}
答案 2 :(得分:0)
我只想要一个调用我的doGet()servlet方法的按钮 点击
试试这段代码:
<a href="MyServlet"><button>Call MyServlet</button></a>