jialisoftw

          基于JavaBean,JSP實(shí)現(xiàn)登錄并顯示分頁信息的小系統(tǒng)

          不說廢話,首先,建立要連接的數(shù)據(jù)庫,我的數(shù)據(jù)庫名稱是collage,要顯示的數(shù)據(jù)表是students,有六列,要學(xué)習(xí)并測試的可以自己建立數(shù)據(jù)庫。
          id:int

          name:varchar

          grade:int

          batch:int

          password:int

          gxqm:varchar

           JSP頁面,有三個(gè),login.jsp,loginhandle.jsp,welcome.jsp。java類有三個(gè),Userbean用于映射數(shù)據(jù)對象,UserbeanCl用于業(yè)務(wù)邏輯處理,connDB用于建立數(shù)據(jù)庫連接。直接上代碼吧

          login.jsp頁面

          <%@ page language="java" contentType="text/html; charset=UTF-8"
              pageEncoding="UTF-8"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
          http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>Login in and then enjoy yourself!</title>
          </head>
          <body>
          <center>
          請登錄
          <form name="form1" action="loginhandle.jsp">
          <hr color="cc00aa">
          用戶名: <input type="text" name="user">
          <br>
          密&nbsp;&nbsp;碼: <input type="password" name="password">
          <br>
          <input type="submit" value="登錄">
          <input type="reset" name="重置">
          </form>
          </center>
          </body>
          </html>

          loginhandle頁面:

          <%@ page language="java" import="java.sql.*" import="java.util.*,com.ly.model.UserbeanCl" contentType="text/html; charset=UTF-8"
              pageEncoding="UTF-8"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
          http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>here</title>

          </head>
          <body>
          <center>
            <br>
            <%
             String u = request.getParameter("user");
             String p = request.getParameter("password");
             
                // 一、普通驗(yàn)證 
          /*     if(u.equals("Liyong")&&p.equals("woaini")){
              response.sendRedirect("welcome.jsp?user="+u);//跳轉(zhuǎn)到歡迎界面并傳遞出用戶名user 
              }
              else{  
              response.sendRedirect("login.jsp");
              }
               */
             // 二、直接到數(shù)據(jù)庫中驗(yàn)證
             // DriverManager.registerDriver(new com.mysql.jdbc.Driver());
             //  Class.forName("com.mysql.jdbc.Driver");
          /*   
             try {
              Class.forName("com.mysql.jdbc.Driver");
             } catch (ClassNotFoundException e) {
              e.printStackTrace();
             } 
             Connection ct = DriverManager.getConnection(
               "jdbc:mysql://localhost:3306/collage", "root", "");
             Statement st = ct.createStatement();
             ResultSet rs = st.executeQuery("select password from students where name='"
                 + u + "'");
             if (rs.next()) {
              //說明用戶名存在
              if (rs.getString(1).equals(p)) {
               //密碼正確
               response.sendRedirect("welcome.jsp?user=" + u);//跳轉(zhuǎn)到歡迎界面并傳遞出用戶名user 
              } else {
               response.sendRedirect("login.jsp");

              }
             }
             rs.close();
             st.close();
             ct.close();
          */
             // 三、通過userbeanCl對用戶進(jìn)行驗(yàn)證
             UserbeanCl ubc=new UserbeanCl();
            
             if(ubc.checkUser(u,p))
             {
              response.sendRedirect("welcome.jsp?user=" + u);
              
             }else {
              
              out.println("<script>alert('密碼或者用戶名錯(cuò)誤!');</script>");
              Thread.sleep(1000); 
              response.sendRedirect("login.jsp");
              // return;
                  
             }

            %>
           </center>
          </body>
          </html>

          welcome頁面:

          <%@ page language="java" import="java.util.*,com.ly.model.*"
           contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
          <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
          http://www.w3.org/TR/html4/loose.dtd">
          <html>
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
          <title>Welcome your mother!</title>
          </head>
          <body>
           <center>
            Hello,world! <br>
            <%=request.getParameter("user")%>
            <br> <a href="login.jsp">返回重新登錄</a>
            <hr color="silver">
            <br> 用戶信息列表 <br>
            <%
            int pageNow=1;
            String u=request.getParameter("user");
            String s_pageNow=request.getParameter("pageNow");
            if(s_pageNow!=null){
             pageNow=Integer.parseInt(s_pageNow);  
             
            }
            // 調(diào)用UserbeanCl的方法,完成分頁顯示
            UserbeanCl ubc=new UserbeanCl();
            int pageCount=ubc.pageCount();
            ArrayList al=ubc.getUsersByPage(pageNow);
             
            %>
            <table border="1">
             <tr>
              <td>用戶Id</td>
              <td>姓名</td>
              <td>班級</td>
              <td>批次</td>
              <td>密碼</td>
              <td>個(gè)性簽名</td>
             </tr>
             <%
            for(int i=0;i<al.size();i++){
             Userbean usb=(Userbean)al.get(i);
             // System.out.println("-----------------"+usb.getGxqm());
             %>
             <tr>
              <td><%=usb.getId() %></td>
              <td><%=usb.getName() %></td>
              <td><%=usb.getGrade() %></td>
              <td><%=usb.getBatch() %></td>
              <td><%=usb.getPassword() %></td>
              <td><%=usb.getGxqm() %></td>
             </tr>
             <%

             } 
             
             %>
             
            </table>
            <br><hr color="blue"><br>
            <%
            //顯示上一頁
            out.println("<a href=welcome.jsp?pageNow="+1+"&user="+u+">首頁</a>");
            if(pageNow!=1){
             out.println("<a href=welcome.jsp?pageNow="+(pageNow-1)+"&user="+u+">上一頁</a>");
             
            }
            // 顯示頁碼
            for(int i=pageNow;i<=(pageCount<(pageNow+5)?pageCount:(pageNow+5));i++){
             
             out.println("<a href=welcome.jsp?pageNow="+i+"&user="+u+">["+i+"]</a>");
             
            }
            if(pageNow!=pageCount){
             out.println("<a href=welcome.jsp?pageNow="+(pageNow+1)+"&user="+u+">下一頁</a>");
             
            }
            out.println("<a href=welcome.jsp?pageNow="+pageCount+"&user="+u+">尾頁</a>");
            %>
            
           </center>
          </body>
          </html>

          Userbean.java實(shí)現(xiàn)數(shù)據(jù)對象的封裝

          package com.ly.model;

          public class Userbean {
           private int id;
           private String name;
           private int grade;
           private int batch;
           private int password;
           private String gxqm;
           
           public int getId() {
            return id;
           }
           public void setId(int id) {
            this.id = id;
           }
           public String getName() {
            return name;
           }
           public void setName(String name) {
            this.name = name;
           }
           public int getGrade() {
            return grade;
           }
           public void setGrade(int grade) {
            this.grade = grade;
           }
           public int getBatch() {
            return batch;
           }
           public void setBatch(int batch) {
            this.batch = batch;
           }
           public int getPassword() {
            return password;
           }
           public void setPassword(int password) {
            this.password = password;
           }
           public String getGxqm() {
            return gxqm;
           }
           public void setGxqm(String gxqm) {
            this.gxqm = gxqm;
           }
           
          }


          connDB.java實(shí)現(xiàn)數(shù)據(jù)庫的連接//得到數(shù)據(jù)庫的連接

          //得到數(shù)據(jù)庫的連接
          package com.ly.model;
          import java.sql.*;
          import java.util.*;
          public class connDB {
           private Connection ct=null;
           
           
           public Connection getConn(){
            
            
             try {
              Class.forName("com.mysql.jdbc.Driver");
              ct=DriverManager.getConnection("jdbc:mysql://localhost:3306/collage", "root", "");
             } catch (Exception e) {
              
              e.printStackTrace();
             }
             
           
            return ct;
           }
          }

          UserbeanCl.java實(shí)現(xiàn)業(yè)務(wù)邏輯的處理

          //這是一個(gè)處理類,主要封裝對User表的各種操作,包括增刪改查

          package com.ly.model;

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

          public class UserbeanCl {
           private Statement st = null;
           private ResultSet rs = null;
           private Connection ct = null;
           private int pageSize = 10;
           private int rowCount = 0;
           private int pageCount = 0;

           // 驗(yàn)證用戶是否存在
           public int pageCount() {
            try {
             // 得到連接
             ct = new connDB().getConn(); 
             st=ct.createStatement();
             rs = st.executeQuery("select count(*) from students");
             //
             if(rs.next()){
              
              rowCount=rs.getInt(1);
             }
             if(rowCount%pageSize==0){
              pageCount=rowCount/pageSize;
              
             }else{
              pageCount=rowCount/pageSize+1;    
             }
             
             
            } catch (Exception e) {
             e.printStackTrace();
            } finally {
             shutup();
            }
            return pageCount;

           }

           public ArrayList getUsersByPage(int PageNow) {
            pageCount = pageCount(); 
            
            ct = new connDB().getConn(); 
            int startRow=(PageNow-1)*pageSize;
            ArrayList al = new ArrayList();
            
            try {
             st = ct.createStatement();
             rs=st.executeQuery("SELECT id,name,grade,batch,password,gxqm FROM `students` LIMIT "+startRow+","+pageSize);
             while(rs.next()){
              
              Userbean ub=new Userbean();
              ub.setId(rs.getInt(1));
              ub.setName(rs.getString(2));
              ub.setGrade(rs.getInt(3));
              ub.setBatch(rs.getInt(4));
              ub.setPassword(rs.getInt(5));
              ub.setGxqm(rs.getString(6));
              
              // System.out.println(rs.getString(6));
              
              
              al.add(ub);
              
             }

            } catch (Exception e) {
              e.printStackTrace();
            } finally {
             shutup();
            }

            return al;

           }

           public boolean checkUser(String u, String p) {
            boolean b = false;
            ct = new connDB().getConn();
            try {
             st = ct.createStatement();
             ResultSet rs = st
               .executeQuery("select password from students where name='"
                 + u + "'");
             if (rs.next()) {
              // 說明用戶名存在
              if (rs.getString(1).equals(p)) {
               // 密碼正確
               b = true;
              } else {
               return false;
              }
             }

            } catch (Exception e) {
             e.printStackTrace();
            } finally {
             shutup();
            }
            return b;

           }

           public void shutup() {

            try {
             if (rs != null)
              rs.close();
            } catch (SQLException e) {
             // TODO Auto-generated catch block
             e.printStackTrace();
            } finally {
             try {
              if (st != null)
               st.close();
             } catch (SQLException e) {
              // TODO Auto-generated catch block
              e.printStackTrace();
             } finally {
              try {
               if (ct != null)
                ct.close();
              } catch (SQLException e) {
               // TODO Auto-generated catch block
               e.printStackTrace();
              }
             }
            }

           }

          }

          最終現(xiàn)實(shí)的簡單分頁效果如圖

          好了,基本效果就這樣,當(dāng)然怎么改善就隨你自己的意愿了!

          posted on 2012-10-13 11:54 飛豬一號 閱讀(2284) 評論(1)  編輯  收藏

          評論

          # re: 基于JavaBean,JSP實(shí)現(xiàn)登錄并顯示分頁信息的小系統(tǒng) 2015-03-26 17:34 kad

          十分感謝啊!太有用了!  回復(fù)  更多評論   


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           

          導(dǎo)航

          <2015年3月>
          22232425262728
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          友情鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 开平市| 抚顺县| 汽车| 广丰县| 连云港市| 大理市| 封开县| 紫云| 泉州市| 牟定县| 建平县| 长泰县| 长顺县| 密山市| 文山县| 大洼县| 淅川县| 玉山县| 铜陵市| 元江| 祥云县| 安丘市| 柳林县| 江孜县| 淳安县| 息烽县| 鸡西市| 冷水江市| 凌海市| 合山市| 承德市| 德庆县| 房产| 铁力市| 榆树市| 卢湾区| 安福县| 大渡口区| 镇安县| 贞丰县| 民丰县|