`
tianlovv
  • 浏览: 15192 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多

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>


分享到:
评论

相关推荐

    馨玮个人博客 jsp servlet javabean access 分页 jsp留言板

    通过学习和实践这个项目,开发者可以深入理解JSP、Servlet、JavaBean与数据库的协同工作方式,以及如何实现简单的分页功能。此外,UBB的引入也展示了如何增强用户在留言板上的表达能力,提供了一种更丰富的文本格式...

    jsp+servlet+javabean新闻发布系统计算机毕业设计源码

    统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...

    jsp+servlet+javabean新闻发布系统精品毕业设计

    包含在线文本编辑器 登陆后有欢迎信息:“您好,XXX” 后台: 新闻分类管理 分类列表(包含删除、修改) 添加分类 新闻管理 新闻列表(包含删除、修改新闻) 添加新闻(支持新闻、图片上传) 查找新闻 ...

    strut+Hibernian分页程序

    要深入理解这个分页程序,我们需要查看这些文件的内容,包括Struts的配置文件(struts-config.xml)、Hibernate的配置文件(hibernate.cfg.xml)、Action类以及与分页相关的JavaBean和DAO(数据访问对象)。 总结来说,...

    jsp分页程序源代码

    2. **JavaBeans**:在JSP中,经常使用JavaBeans作为数据容器,封装和管理分页所需的参数,如当前页数、每页显示条数等。 3. **JDBC**:由于提到“数据库需要自己建一个”,因此此分页程序可能使用JDBC(Java ...

    博客系统的设计与实现

    博文数据应存储在数据库中,可能还需要实现分页显示、搜索和排序等功能。 4. **心情管理**:类似于微型博客或动态发布,博主可以分享心情。系统需要记录时间戳、心情文字和可能的图片。这同样需要前端的UI设计和...

    MVC和分页1

    加载阶段是Servlet容器加载Servlet类,实例化阶段是Servlet容器创建Servlet实例,初始化阶段是Servlet容器调用Servlet的init()方法,服务阶段是Servlet容器调用Servlet的service()方法,销毁阶段是Servlet容器调用...

    servlet和JSP面试题大全

    6. **out** - 输出对象,类型为`javax.servlet.jsp.JspWriter`,用于向客户端输出数据,如文本或HTML代码。 7. **config** - 配置对象,类型为`javax.servlet.ServletConfig`,提供对Servlet配置信息的访问。 8. **...

    JAVA WEB典型模块与项目实战大全

    3.3 实现spring与struts 2.x集成  3.4 实现spring、struts2.x和hibernate框架集成  3.5 小结  第2篇 典型模块开发  第4章 在线文本编辑器(fckeditor)  4.1 分析fckeditor在线文本编辑器  4.2 ...

    图书管理系统任务书

    该系统的主要功能包括书籍信息的添加、修改、删除和查询,实现分页功能,书籍需要显示封皮。书籍内分单元显示,单元内只显示文本内容。 在开发环境中,我们使用Windows 7操作系统,Dreamweaver 8作为页面开发工具。...

    达内笔记(CoreJava.pdf、EJBNote.pdf、Hibernate.pdf、HTML.pdf、JDBC.pdf、JSP.pdf、Oracle SQL.pdf、Servlet.pdf、Struts.pdf、XML.pdf、分页.pdf、购物车.pdf)

    11. **分页**:分页技术用于在大量数据中分块显示,提高用户体验。在Web开发中,分页常用于搜索结果或列表展示,通过限制每次加载的数据量来优化性能。 12. **购物车**:购物车功能是电商网站的核心部分,涉及商品...

    JAVA WEB典型模块与项目实战大全.part2(第二卷)

    典型模型与项目实战大全&gt;&gt; 出版社: 清华大学出版社; 第1版 (2011年1月1日) 平装: 922页 由于上传限制共分成4卷 请手动搜索其它3卷下载 或点击上传者的链接可直接查到 第1篇 开发工具及框架概述 第1章 开发前奏 第2...

    JAVA WEB典型模块与项目实战大全.part4

    典型模型与项目实战大全&gt;&gt; 出版社: 清华大学出版社; 第1版 (2011年1月1日) 平装: 922页 由于上传限制 共分成4卷 请手动搜索其它3卷下载 第1篇 开发工具及框架概述 第1章 开发前奏 第2章 MyEclipSO开发工具对各种...

    J2EE经典教程

    ##### 7.5 普通用户修改个人信息功能的设计与实现 - 设计个人信息修改页面。 - 使用JavaBean存储用户信息。 - Servlet处理修改请求。 ##### 7.6 普通用户注册功能的设计与实现 - 设计注册页面。 - 使用JavaBean存储...

    JAVA WEB典型模块与项目实战大全.part3(第三卷)

    典型模型与项目实战大全&gt;&gt; 出版社: 清华大学出版社; 第1版 (2011年1月1日) 平装: 922页 由于上传限制共分成4卷 请手动搜索其它3卷下载 或点击上传者的链接可直接查到 第1篇 开发工具及框架概述 第1章 开发前奏 第2...

    笔试JSP2.doc

    分页技术是指在 Web 应用程序中将数据分页显示的技术。常用的分页技术有多种: 1. JSP 分页:使用 JSP 的 pagination 标签来实现分页。 2. MYSQL 分页:使用 MYSQL 的 limit 语句来实现分页。 3. SQL Server 2005 ...

    基于JSP的网络在线考试项目设计与实现(源代码+界面图).zip

    "基于JSP的网络在线考试项目设计与实现"是一个使用Java Server Pages (JSP) 技术开发的在线考试平台。JSP是Java Web开发中的一个重要组成部分,它允许开发者创建动态网页,将业务逻辑和展示逻辑分离,从而提高代码的...

    servlet和JSP面试题大全[参考].pdf

    - 分页通常涉及计算总页数、每页显示行数和当前页数,根据这些信息定位数据库查询结果并展示相应部分。 7. **GET和POST的区别**: - GET是幂等的,数据可见,常用于查询,URL长度有限制。 - POST更安全,数据不...

    jsp网络编程从基础到实践

    实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器...

    JSP网络编程从基础到实践的实例代码

    实例51 分页显示记录 实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器...

Global site tag (gtag.js) - Google Analytics