Servlets Servlet重置按钮

Servlets Servlet重置按钮,servlets,Servlets,每次访问我的页面时,我都有一个命中计数器servlet import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class SimpleCounter extends HttpServlet{ int counter = 0; public void doGet(HttpServletRequest request, HttpServletResponse response)th

每次访问我的页面时,我都有一个命中计数器servlet

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SimpleCounter extends HttpServlet{
  int counter = 0;
  public void doGet(HttpServletRequest request, HttpServletResponse
    response)throws ServletException, IOException {
  response.setContentType("text/html");
  PrintWriter pw = response.getWriter();
  counter++;
  pw.println("the number of times this page was visited:" + counter);
  }
}
上面关于点击计数器的部分可以工作,但我想添加一个重置按钮

我在想一个表单中的按钮,它将使用post并返回到同一页面,再次设置int计数器=0。我如何在底部修复此部件,或者添加重置按钮的权利是什么

pw.println("<form action="counter.java" method="post"> <input type="submit" value="reset"></form>");
pw.println(“”);

无需
表单和
post
请求,只需将
get
请求与简单的
锚定一起使用,请求参数
reset
表示计数器应该重置
reset=true

下面是您的
doGet
方法的外观:

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    response.setContentType("text/html;charset=UTF-8");
    PrintWriter pw = response.getWriter();
    // check if this is a request to reset the counter
    if(Boolean.valueOf(request.getParameter("reset"))) {
        counter = 0;
        // redirect to the same servlet so that you don't have the reset parameter
        // in url bar to avoid accidently resetting the counter on a refresh 
        response.sendRedirect(getServletContext().getContextPath() +
            request.getServletPath());
    } else {
        counter++;
        pw.println("<html><head/><body>");
        pw.println("<span>the number of times this page was visited:" + counter + "</span>");
        // anchor with the parameter reset=true
        pw.println("<a href=\"" + 
            getServletContext().getContextPath() + 
            request.getServletPath() + 
            "?reset=true" + "\">reset counter</a>");
        pw.println("</body></html>");
    }
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{
setContentType(“text/html;charset=UTF-8”);
PrintWriter pw=response.getWriter();
//检查这是否是重置计数器的请求
if(Boolean.valueOf(request.getParameter(“reset”)){
计数器=0;
//重定向到同一个servlet,这样就不会有reset参数
//在url栏中,以避免在刷新时意外重置计数器
response.sendRedirect(getServletContext().getContextPath())+
getServletPath());
}否则{
计数器++;
pw.println(“”);
println(“访问此页面的次数:“+counter+”);
//带有参数reset=true的锚点
pw.println(“”);
pw.println(“”);
}
}

@renkuyang不客气!如果这个答案能帮助你解决问题,那么你可能会接受它!