服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

servlet与javabean实现长文本数据分页显示

这是做wap的时候遇到的问题,您遇到类似的问题可以参考一下!
javabean文件:
dataconnection.java;//数据库连接
basicinfo.java;//数据bean容器
datawork.java;//数据操作
servlet文件:
orderinfoservlet.java;//servlet实现长文本数据分页显示
xml配置文件:
web.xml;//servlet配置

dataconnection.java文件内容为:

package wap_cctv_film;

import java.sql.*;

public class dataconnection {

  public static connection getdataconnection() {
    connection conn = null;
    try {
      class.forname("com.microsoft.jdbc.sqlserver.sqlserverdriver").newinstance();
      conn = drivermanager.getconnection("jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=wapvod","cctv_sql_user","cctv_sql_user");
    }
    catch (exception ex) {
      ex.printstacktrace();
    }
    return conn;
  }
}



basicinfo.java文件内容:

package wap_cctv_film;

import java.io.*;

public class basicinfo
    implements serializable {
  private string basicname;
  private int basichits;
  private int basicid;
  private string basictext;
  private int basicisshow;
  private int basictype;
  public string getbasicname() {
    return basicname;
  }

  public void setbasicname(string basicname) {
    this.basicname = basicname;
  }

  public int getbasichits() {
    return basichits;
  }

  public void setbasichits(int basichits) {
    this.basichits = basichits;
  }
  public int getbasicid() {
    return basicid;
  }
  public void setbasicid(int basicid) {
    this.basicid = basicid;
  }
  public string getbasictext() {
    return basictext;
  }
  public void setbasictext(string basictext) {
    this.basictext = basictext;
  }
  public int getbasicisshow() {
    return basicisshow;
  }
  public void setbasicisshow(int basicisshow) {
    this.basicisshow = basicisshow;
  }
  public int getbasictype() {
    return basictype;
  }
  public void setbasictype(int basictype) {
    this.basictype = basictype;
  }

}


datawork.java文件内容:

package wap_cctv_film;

import java.sql.*;
import java.util.*;

public class datawork {
  private connection conn;
  public datawork() {
    this.conn = dataconnection.getdataconnection();
  }
  public basicinfo getbasciinfo(string sql) throws exception {
    statement stmt = conn.createstatement();
    resultset rst = stmt.executequery(sql);
    basicinfo basicinfo = null;
    while (rst.next()) {
      basicinfo = new basicinfo();
      basicinfo.setbasicid(rst.getint("basicid"));
      basicinfo.setbasictype(rst.getint("basictype"));
      basicinfo.setbasicname(rst.getstring("basicname"));
      basicinfo.setbasictext(rst.getstring("basictext"));
      basicinfo.setbasichits(rst.getint("basichits"));
      basicinfo.setbasicisshow(rst.getint("basicisshow"));
    }
    return basicinfo;
  }


orderinfoservlet.java文件内容:

package wap_cctv_film;

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;

public class orderinfoservlet
    extends httpservlet {
  private static final string content_type = "text/vnd.wap.wml;charset=gb2312";

  //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);
    printwriter out = response.getwriter();
    int articleid;
    if (request.getparameter("articleid") == null) {
      articleid = 0;
    }
    else {
      articleid = integer.parseint(request.getparameter("articleid"));
    }
    try {
      datawork getinfo = new datawork();
      basicinfo basicinfo = getinfo.getbasciinfo(
          "select * from basicinfo where basicid=" + articleid);
      out.println("<?xml version='1.0'?>");
      out.println("<wml>");
      out.println("<head>");
      out.println("<meta http-equiv='cache-control' content='max-age=0' />");
      out.println("</head>");
      out.println("<card id='main' title='梦幻掌上剧场--剧情简介--" +
                  basicinfo.getbasicname() +
                  "'>");
      out.println("<p>");
      out.println("《" + basicinfo.getbasicname() + "》剧情简介<br />");
      int pagewords = 199; //每一页显示的字数
      int pagecount; //所有的页数
      int pages; //当前页
      //若pages为空,则付值1;否则等于
      if (request.getparameter("pages") == null) {
        pages = 1;
      }
      else {
        pages = integer.parseint(request.getparameter("pages"));
      }
      int textlen = basicinfo.getbasictext().length();//文本长度
      //求出文本分段得出的总页数;
      if (textlen % pagewords == 0) {
        pagecount = (int) math.ceil(textlen / pagewords);
      }
      else {
        pagecount = (int) math.ceil(textlen / pagewords) + 1;
      }
      //当前页面总文本剩余的长度,得出两种条件选择;
      int lasttextlen = textlen - pages * pagewords;
      //一种是剩余长度大于一页文字的长度,即大于199个字;
      if (lasttextlen > pagewords) {
        out.println(basicinfo.getbasictext().substring( (pages - 1) *
            pagewords,
            pages * pagewords) + "(第" + pages + "/" + pagecount + "页)<br />");
      }
      //一种是剩余文本长度小于一页文字的长度;即是最后一页;
      else if (lasttextlen < pagewords) {
        out.println(basicinfo.getbasictext().substring( (pages - 1) *
            pagewords, textlen - 1) + "(第" + pages + "/" + pagecount +
                    "页)<br />");
      }
      //分页
      int lastpage = pages - 1; //上一页
      int nextpage = pages + 1; //下一页
      //总页数大于一则显示分页
      if (pagecount > 1) {
        if (pages < pagecount) {
          out.println("<a href='?articleid=" + articleid +
                      "&amp;pages=" + nextpage + "'>下一页</a><br />");
        }
        if (pages != 1) {
          out.println("<a href='?articleid=" + articleid +
                      "&amp;pages=" + lastpage + "'>上一页</a><br />");
        }
      }
      out.println("<a href='indexservlet'>[返回首页]</a><br />");
      out.println("<a href='http://wap.monternet.com'>[梦网首页]</a><br />");
      out.println("</p>");
      out.println("</card>");
      out.println("</wml>");
    }
    catch (exception ex) {
    }
  }

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


web.xml文件中新增:

 <servlet>
    <servlet-name>orderinfoservlet</servlet-name>
    <servlet-class>wap_cctv_film.orderinfoservlet</servlet-class>
  </servlet>
 <servlet-mapping>
    <servlet-name>orderinfoservlet</servlet-name>
    <url-pattern>/orderinfoservlet</url-pattern>
  </servlet-mapping>


其他编译配置就不多说了,这里面有什么错误或者您有好的建议请mail:webmaster@aliang.org,谢谢!让我们共同学习!!

扫描关注微信公众号