⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fenye_test.java

📁 用jsp和servlet开发的简单通讯录
💻 JAVA
字号:
package project1;

import java.io.IOException;
import java.io.PrintWriter;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;

import java.sql.ResultSet;
import java.sql.Statement;

import javax.servlet.*;
import javax.servlet.http.*;

import sun.jdbc.odbc.JdbcOdbcDriver;

public class fenye_test extends HttpServlet {
    private static final String CONTENT_TYPE = "text/html; charset=GB18030";

    public void init(ServletConfig config) throws ServletException {
        super.init(config);
    }

    public void service(HttpServletRequest request, 
                        HttpServletResponse response) throws ServletException, 
                                                             IOException {
        response.setContentType(CONTENT_TYPE);
        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<head><title>list_friends</title></head>");
        out.println("<body>");
        try {
            Connection conn, conn2;
            Statement sql, sql2;
            ResultSet rs, rs2;
            Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conn = DriverManager.getConnection("jdbc:odbc:myaddressBook");
            conn2 = DriverManager.getConnection("jdbc:odbc:myaddressBook");


            sql = 
conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE, 
                     ResultSet.CONCUR_UPDATABLE);
            sql2 = conn.createStatement();
            //设定编码类型,以便正确解码
            request.setCharacterEncoding("GBK");

            /*得到分页页数*/
            rs2 = sql2.executeQuery("select count(*) as count from friends where frd_belong='kent'");
            rs2.next();
            int total = rs2.getInt("count"); //总行数 
            rs2.close();
            sql2.close();
            conn2.close();
            int pagesize = 7; //设定行数
            int pagenumber; //总页数
            
            if (total % pagesize == 0) {
                pagenumber = total / pagesize ;
                out.print("pagenumber="+pagenumber);
            } else {
                pagenumber = total / pagesize + 1;
            }
            //out.print(pagenumber);
            out.print("总共"+pagenumber+"页");
            //获得当前页数
            String pages = request.getParameter("page");
            if (pages == null) {
                pages = "1";
            }
            //打印当前页数
            int currentpage = Integer.valueOf(pages);
            out.print("当前是 第" + currentpage + "页 ");


            String sqlString = 
                "select frd.*,frdtype.* from friends frd, friend_type frdtype where frd.frd_type_id=frdtype.frd_type_id and frd_belong='kent'";
            //执行SQL语句
            rs = sql.executeQuery(sqlString);
            //生成表格头部
            out.print("<p align=center><font size=5>朋友清单</font></p>");
            out.print("<table border=1 align=center width=80%>");
            out.print("<tr>");
            out.print("<td>姓名</td><td>类型</td><td>电话</td><td>电子邮件</td>");
            out.print("</tr>");
            /*控制页面显示*/

            if (currentpage != pagenumber) {
                rs.absolute((currentpage-1)*pagesize+1);                
                for(int i=0;i<pagesize;i++){
                    out.println("<tr>");
                    out.print("<td>");
                    out.print(rs.getString("frd_name"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_type_id"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_tele"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_email"));
                    out.print("</td>");
                    out.print("</tr>");
                    rs.next();
                    
                }
                // 回收数据库连接资源
                rs.close();
                sql.close();
                conn.close();
                out.println("");                
            } 
            else {
                //out.print("使用while循环");
                 rs.absolute((currentpage-1)*pagesize);
                 while (rs.next()) {
                    out.println("<tr>");
                    out.print("<td>");
                    out.print(rs.getString("frd_name"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_type_id"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_tele"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_email"));
                    out.print("</td>");
                    out.print("</tr>");
                }
                // 回收数据库连接资源
                rs.close();
                sql.close();
                conn.close();
                out.println("");
            }


            //设置页面跳转
            if (currentpage == 1) {
                out.print("上一页");
                out.print("  <a href='fenye_test?page=" + (currentpage + 1) + 
                          "'>下一页</a>");
            } else if (currentpage == pagenumber) {
                out.print("<a href='fenye_test?page=" + (currentpage - 1) + 
                          "'>上一页</a>");
                out.print(" 下一页");
            } else {
                out.print("<a href='fenye_test?page=" + (currentpage - 1) + 
                          "'>上一页</a>");
                out.print(" <a href='fenye_test?page=" + (currentpage + 1) + 
                          "'>下一页</a>");
            }
        } catch (Exception ex) {
            out.print("<p align=center><font size=5 color=red>数据库访问出错!</font></p>" + 
                      ex.getMessage());
            ex.printStackTrace();
        }

        out.println("</body></html>");
        out.close();
    }
}

⌨️ 快捷键说明

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