一个来访统计的问题。。
- Java code
<body> <fieldset> <legend>来访调查:</legend> <form action="NewServlet" target="_blank" method="post" > <label>姓名:<input type="text" name="visitor"></label> <label>性别:<input type="text" name="Sex"></label> <input type="submit" value="统计"> </form> </fieldset> </body>
- Java code
import java.io.IOException;import java.io.PrintWriter;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;/** * * @author Administrator */public class NewServlet extends HttpServlet { /** * Processes requests for both HTTP <code>GET</code> and <code>POST</code> methods. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); try { /* TODO output your page here out.println("<html>"); out.println("<head>"); out.println("<title>Servlet NewServlet</title>"); out.println("</head>"); out.println("<body>"); out.println("<h1>Servlet NewServlet at " + request.getContextPath () + "</h1>"); out.println("</body>"); out.println("</html>"); */ int num1, num2, sum; num1 = 0; num2 = 0; sum = 0; try { if ((request.getParameter("Sex")).equals("Female")) { num1 = num1 + 1; } else if ((request.getParameter("Sex")) == "Male") { num2 = num2 + 1; } } catch (Exception e) { out.print("参数不对或无输入"); return; } out.println(num1); sum=num1+num2; out.println(sum); } finally { out.close(); } } // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code."> /** * Handles the HTTP <code>GET</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Handles the HTTP <code>POST</code> method. * @param request servlet request * @param response servlet response * @throws ServletException if a servlet-specific error occurs * @throws IOException if an I/O error occurs */ @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } /** * Returns a short description of the servlet. * @return a String containing servlet description */ @Override public String getServletInfo() { return "Short description"; }// </editor-fold>}
想要根据输入的为Female 或着 Male来统计总人数 但是不知道如何定义用来统计的num1和sum如果按照我上面的方法 每输入一次就会重新赋值为0;我想要保持每一次提交的 该怎么设计这个num1和sum啊?
[解决办法]
将num1 num2 的值写入配置文件,每次去读取配置文件的值。这个操作可以封装一个标签
[解决办法]
1楼说的有道理,数据可以保存在配置文件里面去,每次需要时取出即可。
这个需求用javascript来实现好像会更方便一点,直接定义一个全局变量,无刷新页面的情况下累加即可。
建议楼主考虑一下