当前位置: 代码迷 >> Java Web开发 >> 一个servlet中有两个doGet方法,调用的是哪一个解决方法
  详细解决方案

一个servlet中有两个doGet方法,调用的是哪一个解决方法

热度:10   发布时间:2016-04-17 11:13:31.0
一个servlet中有两个doGet方法,调用的是哪一个
一个servlet中有两个doGet方法,调用的是哪一个

 package stat;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import java.text.SimpleDateFormat;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.data.xy.XYDataset;

public class StatServlet extends HttpServlet {

  private static final String CONTENT_TYPE = "text/html;charset=UTF-8";

  //Initialize global variables
  public void init() throws ServletException {
  }

  /**
  * 判断是哪种操作
  * 1,forum_delete:删除讨论区
  * 2,forum_add:新增讨论区
  * 3,forum_update:更新讨论区
  * 4,forum_select:获取讨论区列表
  * 5,forum_view:获取某一个讨论区详细信息
  */
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
  ServletException, IOException {
  String type = request.getParameter("type");
  if (type == null) {
  return;
  }
  else if (type.equalsIgnoreCase("dayStat")) { //每日访问量统计
  dayStat(request, response);
  }
  else if (type.equalsIgnoreCase("monthStat")) { //每月访问量统计
  monthStat(request, response);
  }
  else if (type.equalsIgnoreCase("hourStat")) { //每个时间段访问量统计
  hourStat(request, response);
  }
  else if (type.equalsIgnoreCase("browserStat")) { //客户端浏览器统计
  browserStat(request, response);
  }
  else if (type.equalsIgnoreCase("osStat")) { //客户端操作系统统计
  osStat(request, response);
  }
  }
  /**
  * 处理日流量统计
  * 1,获得要统计多少天的流量
  * 2,调用StatHandle的getDayStat方法,获取数据集
  * 3,将数据集保存在session中
  * 4,如果出现异常,将异常信息保存到request对象中
  * 5,如果操作成功,返回line.jsp页面
  * 6,否则返回error.jsp页面
  */
  private void dayStat(HttpServletRequest request,
  HttpServletResponse response) {
  boolean isSuccess = false;
  //操作成功失败标记
  try {
  isSuccess = true;
  int count = Integer.parseInt(request.getParameter("dayCounts"));
  //从请求头中获取dayCounts,该参数表示要统计多少天的流量
  XYDataset data = StatHandle.getDayStat(count);
  //调用StatHandle的getDayStat方法从数据库中获取每天的访问次数并保存在数据集中
  request.getSession().setAttribute("dataset", data);
  //将数据集保存在session对象中,便于外部程序使用
  }
  catch (Exception es) {
  es.printStackTrace();
  isSuccess = false;
  request.setAttribute("error", es.getMessage());
  //如果出现异常,将错误信息保存在request对象的error变量中
  }
  String forward = null;
  if (isSuccess) {
  request.removeAttribute("error");
  forward = "day.jsp";
  //如果操作成功,流程转至line.jsp页面
  }
  else {
  forward = "error.jsp";
  //如果操作失败,流程转至error.jsp页面
  }
  forward(request, response, forward);
  //转发请求
  }

  private void monthStat(HttpServletRequest request,
  HttpServletResponse response) {
  boolean isSuccess = false;
  相关解决方案