bbsreleaseservlet.java

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

JAVA
198
字号
package com.bbs.servlets;

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

public class BBSReleaseServlet
    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=0; //最大的页数。
  public int maxRowCount=0; //最大的行数。
  public static int rowsPerPage = 10; //控制分页的行数。
  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 {

    response.setContentType(CONTENT_TYPE);
    request.setCharacterEncoding("GBK");
    String username=request.getParameter("accounts");
    request.getSession(true).setAttribute("accounts", username);
    String topicname="";
    /*
    if (request.getParameter("hidtopicname")!=null&&!"".equals(request.getParameter("hidtopicname")))
    {
      topicname=new String(request.getParameter("hidtopicname").getBytes("ISO8859-1"),"GBK");//request.getParameter("hidtopicname");
    }*/
  String str = request.getParameter("topicname");
  char a = str.charAt(0);
  int v =(int)a;
  if((str!=null)&&(v>=19968&&v<=171941))
    {
      topicname = request.getParameter("topicname");
    }
    else
    {
      if (request.getParameter("topicname") != null &&
          !"".equals(request.getParameter("topicname"))) {
        topicname = new String(request.getParameter("topicname").getBytes(
            "ISO8859-1"), "GBK"); //request.getParameter("hidtopicname1");
      }
    }
    List topicnamelist =new ArrayList();
    topicnamelist.add(topicname);
    request.getSession(true).setAttribute("topicname", topicname);
    //System.out.println("content*********:"+request.getParameter("talkContent"));
    String content = request.getParameter("talkContent");//request.getParameter("talkContent");
    if ((content!=null)&&((int)content.charAt(0)>=19968&&(int)content.charAt(0)<=171941))
    {
      content = request.getParameter("talkContent");
    }
    else {
      content =new String(request.getParameter("talkContent").getBytes("ISO8859-1"),"GBK");
    }
    Date datetime = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String issuancetime = sdf.format(datetime);
    String sql="";
    sql =
        "insert into dbo.bbstable (topicName,critiquePerson,critiqueTime,critiqueContent)values('"
        +topicname+"','"+username+"','"+issuancetime+"','"+content+"')";
    DatabaseConnect dbc = new DatabaseConnect();
    DataSource ds = dbc.DatabaseConnect();
    JdbcTemplate jt = new JdbcTemplate(ds);
    jt.execute(sql);

    /*
    try
    {
      sql="";
      JdbcTemplate jt1 = new JdbcTemplate();
      DataSource ds1;
      if (topicname!=null)
      {
        sql =
            "select topicName,critiquePerson,critiqueTime,critiqueContent from dbo.bbstable  "
            +"where topicName ='"+topicname+"' order by critiqueTime";
        DatabaseConnect dbc1 = new DatabaseConnect();
        ds1 = dbc1.DatabaseConnect();
        jt1 = new JdbcTemplate(ds1);
      }

      try {
        list = jt1.queryForList(sql);
      }
      catch (Exception ex) {
        log.error(ex.toString(), ex);
      }

      //初始化maxRowCount、maxPage
      if (list == null) list = new ArrayList();
      maxRowCount = list.size();
      if (maxRowCount % rowsPerPage == 0) {
        maxPage = maxRowCount / rowsPerPage;
      }
      else {
        maxPage = maxRowCount / rowsPerPage + 1;
      }
      List taxisdatalist = new ArrayList(); //排序后的数据集
      List backresult = new ArrayList(); //返回页面数据
      List backmaxpage = new ArrayList(); //返回页面数据
      List backcurpage = new ArrayList(); //返回当前页
      request.getSession(true).setAttribute("maxPage", maxPage);
      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"));
        }
        request.getSession(true).setAttribute("curpage", curPage);

      }

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

    }catch(Exception e)
    {
      e.printStackTrace();
    }*/
    request.getRequestDispatcher("/bbs.jsp?accounts="+username+"&topicname="+topicname).forward(request,response);
  }

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

⌨️ 快捷键说明

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