⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 surveyservlet.java

📁 精通Java核心技术源代码
💻 JAVA
字号:
// ==================== Program Discription ==========================
// 程序名称:示例14-4 : SurveyServlet.java
// 程序目的:处理Http Post的表单请求
// ==============================================================
package examples.servlets;
import java.io.*;
import java.util.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class SurveyServlet extends HttpServlet
{
  String resultsDir;

  public void init(ServletConfig config)
       throws ServletException
  {
    super.init(config);
    resultsDir = getInitParameter("resultsDir");
    if (resultsDir == null) {
      Enumeration initParams = getInitParameterNames();
      System.err.println("The init parameters were: ");
      while (initParams.hasMoreElements()) {
        System.err.println(initParams.nextElement());
      }
      System.err.println("Should have seen one parameter name");
      throw new UnavailableException (this,
                                      "Not given a directory to write survey results!");
    }
  }

  public void doPost(HttpServletRequest req, HttpServletResponse res)
       throws ServletException, IOException
  {
    res.setContentType("text/html");
    PrintWriter toClient = res.getWriter();

    try {
      //Open the file for writing the survey results.
      String surveyName = req.getParameterValues("survey")[0];
      FileWriter resultsFile = new FileWriter(resultsDir
                                              + System.getProperty("file.separator")
                                              + surveyName + ".txt", true);
      PrintWriter toFile = new PrintWriter(resultsFile);
      toFile.println("<BEGIN>");
      Enumeration values = req.getParameterNames();
      while(values.hasMoreElements()) {
        String name = (String)values.nextElement();
        String value = req.getParameterValues(name)[0];
        if(name.compareTo("submit") != 0) {
          toFile.println(name + ": " + value);
        }
      }
      toFile.println("<END>");
      //Close the file.
      resultsFile.close();

      // Respond to client with a thank you
      toClient.println("<html>");
      toClient.println("<title>Thank you!</title>");
      toClient.println("<body bgcolor=#ffffff><p><img src=images/BEA_Button_Final_web.gif align=right>" +
		       "<font face=\"Helvetica\">" +
                       "Thank you for participating</font></body>");
      toClient.println("</html>");

    }
   catch(IOException e) {
      e.printStackTrace();
      toClient.println("A problem occured while recording your answers. " +
                       "Please try again.");
    }

  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -