站内搜索: 请输入搜索关键词

当前页面: 开发资料首页Java 专题servlet与javabean实现长文本数据分页显示

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

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

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="259" height="86" align="center" valign="top"> </td> <td width="468" valign="top">

这是做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.*;

</td> </tr> <tr> <td height="20" colspan="2">
 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("");
out.println("<head>");
out.println("");
out.println("</head>");
out.println("");
out.println("

");
out.println("《" + basicinfo.getBasicName() + "》剧情简介
");
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 + "页)
");
}

//一种是剩余文本长度小于一页文字的长度;即是最后一页;
else if (lastTextLen < pagewords) {
out.println(basicinfo.getBasicText().substring( (pages - 1) *
pagewords, textLen - 1) + "(第" + pages + "/" + pageCount +"页)
");
}

//分页
int lastPage = pages - 1; //上一页
int nextPage = pages + 1; //下一页
//总页数大于一则显示分页
if (pageCount > 1) {
if (pages < pageCount) {
out.println("下一页
");
}
if (pages != 1) {
out.println("上一页
");
}
}
out.println("[返回首页]
");
out.println("[梦网首页]
");
out.println("

");
out.println("");
out.println("");
}
catch (Exception ex) {
}
}

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


web.xml文件中新增:


orderinfoservlet
wap_cctv_film.OrderInfoServlet


orderinfoservlet
/orderinfoservlet


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


↑返回目录
前一篇: 一个servlet登陆过滤器
后一篇: 用Servlet开发和配置过滤器(字符集设置)