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

📄 all_friends.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 all_friends 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>");
        HttpSession sess = request.getSession();
        if(sess.getAttribute("token")==null){
            out.print("对不起,请先登录");
            response.setHeader("Refresh","1;URL=login.jsp"); 
        }
        else{
            //设定编码类型,以便正确解码
            request.setCharacterEncoding("GBK");
            
        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='"+sess.getAttribute("token")+"'");
            rs2.next();
            int total = rs2.getInt("count"); //总行数 
            rs2.close();
            sql2.close();
            conn2.close();
            int pagesize = 3; //设定行数
            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;
            currentpage = Integer.valueOf(pages);
            
            //页面跳转
            String jump_page = request.getParameter("jump_page");
            if(jump_page==null||Integer.valueOf(jump_page)>pagenumber)
            ;//什么也不做
            else{
                currentpage=Integer.valueOf(jump_page);
            }
            
            out.print("当前是 第" + currentpage + "页 ");
            



            String sqlString = 
            "SELECT frd_id,frd_name, frd_type, frd_tele, frd_sex, frd_email, frd_birth, frd_describe FROM friends AS f LEFT JOIN friend_type AS ft ON f.frd_type_id=ft.frd_type_id where frd_belong ='"+sess.getAttribute("token")+"'";
            //执行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_tele"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_email"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_describe"));
                    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_tele"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_email"));
                    out.print("</td>");
                    out.print("<td>");
                    out.print(rs.getString("frd_describe"));
                    out.print("</td>");
                    out.print("</tr>");
                }
                // 回收数据库连接资源
                rs.close();
                sql.close();
                conn.close();
                out.println("");
            }


            //设置页面跳转
            out.print("<form name='form12' action='all_friends' action='post'>");
            if (currentpage == 1) {
                out.print("<font size=2>上一页</font>");
                out.print("  <font size=2><a href='all_friends?page=" + (currentpage + 1) + 
                          "'> |下一页 </a></font>");
                out.print("<font size=2>| 首页</font>");
                out.print("<font size=2><a href='all_friends?page="+pagenumber+"'> | 最后一页</a></font>");
            } else if (currentpage == pagenumber) {            
                out.print("<font size=2><a href='all_friends?page=" + (currentpage - 1) + 
                          "'>上一页</a></font>");
                out.print(" <font size=2> | 下一页</font>");
                out.print("<font size=2><a href='all_friends?page=1'> | 首页</a></font>");
                out.print("<font size=2> | 最后一页</font>");
            } else {
                out.print("<font size=2><a href='all_friends?page=" + (currentpage - 1) + 
                          "'>上一页</a></font>");
                out.print(" <font size=2><a href='all_friends?page=" + (currentpage + 1) + 
                          "'> | 下一页</a></font>");
                out.print("<font size=2><a href='all_friends?page=1'> | 首页</a></font>");
                out.print("<font size=2><a href='all_friends?page="+pagenumber+"'> | 最后一页</a></font>");
            }
            //out.print("<font size=2><a href='all_friends?page=1'> | 首页</a></font>");
            //out.print("<font size=2><a href='all_friends?page="+pagenumber+"'> | 最后一页</a></font>");
            
            
            out.print("<font size=2> 跳转到: <input type='text' name='jump_page' maxlength='5' size='5'/></font>");
            out.print("<front size=2><input type='submit' name='submit' value='跳转'/></font>");
            out.print("                 <font size=2><a href='index.jsp'>   返回主页</a></font>");
            out.print("</form>");
            
        } 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 + -