fbshowservlet.java~28~

来自「简易的BBS,可以进行排行榜的查询,发布意见,建立一个新的主题」· JAVA~28~ 代码 · 共 192 行

JAVA~28~
192
字号
package com.bbs.servlets;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import org.springframework.jdbc.core.JdbcTemplate;
import com.bbs.connect.DatabaseConnect;
import javax.sql.DataSource;
import com.bbs.po.BBSCritiqueBean;

public class FBShowServlet
    extends HttpServlet {
  private static final String CONTENT_TYPE = "text/html; charset=GBK";
  org.apache.commons.logging.Log log = org.apache.commons.logging.LogFactory.getLog(this.getClass());
  public int curPage = 0; //当前的页值。
  public int maxPage; //最大的页数。
  public int maxRowCount=0; //最大的行数。
  public static int rowsPerPage = 20; //控制分页的行数。
  public List list = null;
  public List TaxisResult = null;
  //初始化maxRowCount、maxPage
  public void setRowcount() {

      if (list!=null)
      this.maxRowCount = list.size();
  }

  public void countMaxPage() {

      if (this.maxRowCount % this.rowsPerPage == 0) {

          this.maxPage = this.maxRowCount / this.rowsPerPage;
      } else {
          this.maxPage = this.maxRowCount / this.rowsPerPage + 1;
      }
    }

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

  //Process the HTTP Get request
  public void doGet(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    response.setContentType(CONTENT_TYPE);
    doPost(request, response);
  }

  //Process the HTTP Post request
  public void doPost(HttpServletRequest request, HttpServletResponse response) throws
      ServletException, IOException {
    String username ="";
    response.setContentType(CONTENT_TYPE);
    request.setCharacterEncoding("GBK");
    try
    {
      String topicname = request.getParameter("topicname");
      String sql = "";
      JdbcTemplate jt = new JdbcTemplate();
      DataSource ds;
      if (topicname!=null)
      {
        sql =
            "select topicName,critiquePerson,critiqueTime,critiqueContext from dbo.bbstable  "
            + "where topicName='" + topicname + "'";
        DatabaseConnect dbc = new DatabaseConnect();
        ds = dbc.DatabaseConnect();
        jt = new JdbcTemplate(ds);
      }

     /*
      String datestr = "2007-07";
      String area = "成都";
      String condition = "";
      //查询结果集
      if (request.getParameter("f_month") != null && request.getParameter("area") != null) {
        datestr = request.getParameter("f_month");
        area = request.getParameter("area");
      }
      else if (request.getParameter("datestr") != null && request.getParameter("placestr") != null)
      {
        datestr = request.getParameter("datestr");
        area = request.getParameter("placestr");
      }
      sql =
          "select sp_id,sp_name,business_code,business_name,fee,fee_income,"
          + "fee_income_rate,into_ratio from dba.das_area_info ";
      condition = " where f_month = '" + datestr + "' and area = '" +
          area + "'";
      sql = sql + condition;*/

      try {
        list = jt.queryForList(sql);
      }
      catch (Exception ex) {
        log.error(ex.toString(), ex);
      }
      log.info("\r\n"+sql+":size="+list.size());
      /*
      for (int j = 0; j < 24; j++) {
            Actor actor = new Actor();
            actor.setSp_id(String.valueOf(j+5));
            actor.setSp_name("sp_name");
            actor.setBusiness_code(String.valueOf(j+5));
            actor.setBusiness_name("business_name");
            actor.setFee(String.valueOf(j+5));
            actor.setFee_income(String.valueOf(j+5.5));
            actor.setFee_income_rate(String.valueOf(j+5.5));
            actor.setInto_ratio(String.valueOf(j+5.5));
          list.add(actor);
      }*/
      //初始化maxRowCount、maxPage
      if (list == null) list = new ArrayList();
      maxRowCount = list.size();
      if (maxRowCount % rowsPerPage == 0) {
        maxPage = maxRowCount / rowsPerPage;
      }
      else {
        maxPage = maxRowCount / rowsPerPage + 1;
      }
      List senddate = new ArrayList(); //传递日期参数
      List sendplace = new ArrayList(); //传递地点参数
      List taxisdatalist = new ArrayList(); //排序后的数据集
      List backresult = new ArrayList(); //返回页面数据
      List backmaxpage = new ArrayList(); //返回页面数据
      List backcurpage = new ArrayList(); //返回当前页
      senddate.add(request.getParameter("f_month"));
      sendplace.add(request.getParameter("area"));
      backmaxpage.add(String.valueOf(maxPage));
      //request.getSession(true).setAttribute("senddate", datestr);
      //request.getSession(true).setAttribute("sendplace", area);
      request.getSession(true).setAttribute("maxPage", backmaxpage);
      taxisdatalist = list;
      /*
      if (request.getParameter("px") != null) {
        if (request.getParameter("px").equals("fee_income")) {
          Comparator comp = new Mycomparator();
          Collections.sort(taxisdatalist, comp);
        }
        if (request.getParameter("px").equals("fee_income_rate")) {
          Comparator comp = new FeeIncomeRate();
          Collections.sort(taxisdatalist, comp);
        }
        if (request.getParameter("px").equals("into_ratio")) {
          Comparator comp = new IntoRatio();
          Collections.sort(taxisdatalist, comp);
        }
      }*/
      if (request.getParameter("page") != null) {
        curPage = Integer.parseInt(request.getParameter("page"));
      }
      if ((curPage == 0||curPage==1) && taxisdatalist != null) {
        for (int i = 0; i < rowsPerPage; i++) {
          if (taxisdatalist.size()==(i+1)||taxisdatalist.size()==0)
          break;
          if (taxisdatalist.get(i) != null)
          backresult.add(taxisdatalist.get(i));
        }
        curPage = 1;
        backcurpage.add(String.valueOf(curPage));
        request.getSession(true).setAttribute("curpage", curPage);
      }
      if (curPage > 1 && taxisdatalist != null) {
        for (int i = 0; i < rowsPerPage; i++) {
          if (taxisdatalist.size()==((curPage-1) * rowsPerPage + i))
          break;
            if (taxisdatalist.get((curPage-1) * rowsPerPage + i) != null)
            backresult.add(taxisdatalist.get((curPage-1) * rowsPerPage + i));
        }
        if (request.getParameter("page")!=null)
        {
          curPage = Integer.parseInt(request.getParameter("page"));
          backcurpage.add(String.valueOf(curPage));
        }
        request.getSession(true).setAttribute("curpage", curPage);

      }
      request.getSession(true).setAttribute("backresult", backresult);

      request.getRequestDispatcher("/bbs.jsp").forward(request, response);
    }catch(Exception e)
    {
      e.printStackTrace();
    }
  }

  //Clean up resources
  public void destroy() {
  }
}

⌨️ 快捷键说明

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