成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > JSP實現(xiàn)添加功能和分頁顯示實例分析

JSP實現(xiàn)添加功能和分頁顯示實例分析

熱門標簽:杭州ai語音電銷機器人功能 電銷機器人好賣么 電銷機器人是有一些什么技術 地圖標注線上教程 四川保險智能外呼系統(tǒng)商家 北票市地圖標注 商洛電銷 杭州語音電銷機器人軟件 高德地圖標注樣式

本文實例講述了JSP實現(xiàn)添加功能和分頁顯示的方法。分享給大家供大家參考。具體如下:

學習目標:

① 進一步掌握MVC設計模式;
② 掌握添加功能的實現(xiàn);
③ 掌握分頁顯示功能的實現(xiàn)。

主要內(nèi)容:

① 通過用戶信息添加功能進一步介紹MVC模式;
② 通過用戶信息的分頁顯示介紹分頁顯示功能的原理和實現(xiàn)。

1、如何采用MVC模式完成用戶添加?

首先考慮與人如何交互:應該有一個輸入用戶信息的界面,包含用戶名和口令,另外需要一反饋的界面。

然后考慮功能如何實現(xiàn):需要在User類中添加一個方法,完成用戶信息的添加。
最后考慮控制器:獲取信息;調(diào)用JavaBean;傳值;選擇界面響應。

2、添加用戶的界面

實際應用中的信息項比較多,并且需要對用戶輸入信息進行驗證。這里重點強調(diào)添加過程,所以對問題進行簡化??梢栽诘卿浗缑娴幕A上修改,參考代碼如下:

%@ page contentType="text/html;charset=gb2312"%>
添加用戶br>
form name="form1" method="post" action="addUser">
  用戶ID:input type="text" name="username">br>
  口令:input type="password" name="userpass">br>
    input type="submit" value="添加">input type="reset" value="重置">
/form>
%@ include file="contact.jsp"%>

3、在User中增加方法

public boolean addUser()
{
   Connection con = null;
   Statement stmt = null;
   boolean b; // 表示添加成功與否
   try{
     // 指出連接數(shù)據(jù)庫所需要的驅(qū)動程序
     Class.forName("oracle.jdbc.driver.OracleDriver");
    // 建立與數(shù)據(jù)庫之間的連接
// 需要把myserver修改為自己的數(shù)據(jù)庫服務器的IP地址
// 把mydb修改成自己的數(shù)據(jù)庫)
    con = DriverManager.getConnection("jdbc:oracle:thin:@myserver:1521:mydb","scott","tiger");
    // 編寫查詢數(shù)據(jù)庫信息的SQL語句
    String sql="insert into usertable(username,userpass) values('"+username+"','"+userpass+"')";
    // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
    stmt = con.createStatement();
    // 執(zhí)行沒有結果集返回的語句,返回的是影響數(shù)據(jù)庫表中記錄的個數(shù)
    int n = stmt.executeUpdate(sql);   
    if(n>0)
      b = true;
    else
      b = false;
   }catch(Exception e){
     b = false;
   }
   finally{
    // 關閉相關對象
    if(stmt!=null) try{ stmt.close(); }catch(Exception ee){}
    if(con!=null) try{ con.close(); }catch(Exception ee){}
   }   
   return b;
}

4、使用Servlet進行控制

參考代碼如下:

package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javabean.*;
import java.util.*;
public class AddUser extends HttpServlet
{
  public void doGet(HttpServletRequest request,HttpServletResponse response)
   throws IOException,ServletException
  {
   request.setCharacterEncoding("gb2312");
   // 第一步:獲取用戶的輸入信息
   String username = request.getParameter("username");
   String userpass = request.getParameter("userpass");
   // 第二步:調(diào)用JavaBean
   User user = new User();
   user.setUsername(username);
   user.setUserpass(userpass);
   boolean b = user.addUser();
   // 第三步:傳值
   String info;
   if(b)
     info="添加成功!";
   else
     info="添加失?。?;
   request.setAttribute("addinfo",info);
   // 第四步:選擇一個界面對用戶進行響應
   String forward="getAllUser";
   RequestDispatcher rd = request.getRequestDispatcher(forward);
   rd.forward(request,response);
  }
  public void doPost(HttpServletRequest request,HttpServletResponse response)
   throws IOException,ServletException
  {
   doGet(request,response);
  }
}

此處添加完成之后跳轉(zhuǎn)到userlist.jsp文件處理,但是在顯示之前需要獲取數(shù)據(jù),所以需要先執(zhí)行Servlet,所以專向了getAllUser控制器。

5、修改配置文件

  servlet>
   servlet-name>addUser/servlet-name>
   servlet-class>servlet.AddUser/servlet-class>
  /servlet>
  servlet-mapping>
   servlet-name>addUser/servlet-name>
   url-pattern>/addUser/url-pattern>
  /servlet-mapping>

6、在列表界面顯示提示信息

修改userlist.jsp代碼如下,紅色部分為增加的內(nèi)容:

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
font color="red">
  ${addinfo}
/font>
br>
c:forEach var="user" items="${users}">
  用戶名:${user.username} 口令:${user.userpass} br>
/c:forEach>

7、運行測試

輸入正確的用戶名和口令測試;
輸出已經(jīng)存在的用戶名進行測試。

8、 添加分頁顯示

經(jīng)過不斷的添加,數(shù)據(jù)庫表中已經(jīng)有大量的記錄。當記錄比較多的時候就應該進行分頁顯示。分頁顯示可以采用多種方式:

① 在SQL中進行控制,只查詢需要的記錄;
② 在遍歷結果集的時候,只封裝相關的記錄;
③ 在顯示的時候進行控制。

第一種方式對開發(fā)人員的SQL水平要求比較高,第三種方式傳遞的數(shù)據(jù)量比較大,所以我們介紹第二種。

要完成分頁顯示,需要做3個方面的修改:

① 界面上增加分頁顯示的超鏈接;
② 修改User.java,在遍歷結果集的時候進行控制,另外需要增加獲取頁碼數(shù)的方法;
③ 在控制器中傳遞需要的頁碼和總頁碼。

9、 在界面上增加分頁顯示功能

%@ page contentType="text/html;charset=gb2312"%>
%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
font color="red">
  ${addinfo}
/font>
br>
 a href="getAllUser?pageNo=1">第一頁/a>
 a href="getAllUser?pageNo=${pageNo-1}">上一頁/a>
 a href="getAllUser?pageNo=${pageNo+1}">下一頁/a>
 a href="getAllUser?pageNo=${pageCount}">最后一頁/a>
br>
c:forEach var="user" items="${users}">
  用戶名:${user.username} 口令:${user.userpass} br>
/c:forEach>

其中,pageNo表示當前頁碼,pageCount表示總頁數(shù)。

10、在User.java中增加獲取總頁碼的方法

public int getPageCount()
{
   Connection con = null;
   Statement stmt = null;
   ResultSet rs = null;
   try{
     // 指出連接數(shù)據(jù)庫所需要的驅(qū)動程序
     Class.forName("oracle.jdbc.driver.OracleDriver");
    // 建立與數(shù)據(jù)庫之間的連接
    con = DriverManager.getConnection("jdbc:oracle:thin:@myserver:1521:mydb","scott","tiger");
    // 編寫查詢數(shù)據(jù)庫信息的SQL語句
    String sql="select count(*) from usertable";
    // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
    stmt = con.createStatement();
    // 執(zhí)行SQL語句得到結果集
    rs = stmt.executeQuery(sql);   
    rs.next();
    // 得到總的記錄數(shù)
    int number = rs.getInt(1);
    return (number-1)/10+1; 
   }catch(Exception e){
     return 0;
   }
   finally{
    // 關閉相關對象
    if(rs!=null) try{ rs.close(); }catch(Exception ee){}
    if(stmt!=null) try{ stmt.close(); }catch(Exception ee){}
    if(con!=null) try{ con.close(); }catch(Exception ee){}
   }   
}

11、增加按照頁碼獲取信息的方法

public ArrayList getUserByPage(int pageNo)
{
   int number=10;
   // 每一頁顯示的記錄數(shù)
   int begin = (pageNo * number) - 9;
   int end = pageNo * number;
   int index=1;
   Connection con = null;
   Statement stmt = null;
   ResultSet rs = null;
   ArrayList users = new ArrayList();
   try{
     // 指出連接數(shù)據(jù)庫所需要的驅(qū)動程序
     Class.forName("oracle.jdbc.driver.OracleDriver");
    // 建立與數(shù)據(jù)庫之間的連接
    con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.170:1521:fhdn","scott","tiger");
    // 編寫查詢數(shù)據(jù)庫信息的SQL語句
    String sql="select * from usertable";
    // 創(chuàng)建語句對象,用于執(zhí)行SQL語句
    stmt = con.createStatement();
    // 執(zhí)行SQL語句得到結果集
    rs = stmt.executeQuery(sql);   
    // 遍歷結果集
    while(rs.next())
    {
      // 在begin之前的記錄是不顯示的
      if(indexbegin){
        index++;
        continue;
      }
      // 在end之后的記錄也不顯示
      if(index>end)
        break;
      index++;
      String username = rs.getString(1);
      String userpass = rs.getString(2);
      // java.util.Date birthday = rs.getDate(3);
      // int age = rs.getInt(4);
      User user = new User();
      user.setUsername(username);
      user.setUserpass(userpass);
      users.add(user);
    }
   }catch(Exception e){
     System.out.println(e.getMessage());
   }
   finally{
    // 關閉相關對象
    if(rs!=null) try{ rs.close(); }catch(Exception ee){}
    if(stmt!=null) try{ stmt.close(); }catch(Exception ee){}
    if(con!=null) try{ con.close(); }catch(Exception ee){}
   }   
   return users;
}

12、修改控制器

package servlet;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import javabean.*;
import java.util.*;
public class GetAllUser extends HttpServlet
{
  public void doGet(HttpServletRequest request,HttpServletResponse response)
   throws IOException,ServletException
  {
   // 第一步:獲取用戶的輸入信息
   String pageNo=request.getParameter("pageNo");
   int iPageNo=1;
   if(pageNo!=null)
   {
     iPageNo = Integer.parseInt(pageNo);
   }
   // 第二步:調(diào)用JavaBean
   User user = new User();
   ArrayList users=null;
   users = user.getUserByPage(iPageNo);
   int pageCount=user.getPageCount();
   // 第三步:傳值
   request.setAttribute("users",users);
   request.setAttribute("pageNo",new Integer(iPageNo));
   request.setAttribute("pageCounter",new Integer(pageCount));
   // 第四步:選擇一個界面對用戶進行響應
   String forward="userlist.jsp";
   RequestDispatcher rd = request.getRequestDispatcher(forward);
   rd.forward(request,response);
  }
  public void doPost(HttpServletRequest request,HttpServletResponse response)
   throws IOException,ServletException
  {
   doGet(request,response);
  }
}

13、之后再進行測試運行

14、增加對第一頁和最后一頁的控制

如果已經(jīng)在第一頁,就不能再點擊第一頁或者首頁。如果已經(jīng)在最后一頁,就不能再點擊最后一頁或者下一頁。修改userlist.jsp中代碼如下(部分代碼):

c:if test="${pageNo!=1}">
 a href="getAllUser?pageNo=1">第一頁/a>
 a href="getAllUser?pageNo=${pageNo-1}">上一頁/a>
/c:if>
c:if test="${pageNo!=pageCounter}">
 a href="getAllUser?pageNo=${pageNo+1}">下一頁/a>
 a href="getAllUser?pageNo=${pageCounter}">最后一頁/a>
/c:if>

這里設置為不顯示,也可以設置為不添加超鏈接。

15、增加對異常的處理

如果用戶按照這樣的方式訪問:http://127.0.0.1:8080/ch8/getAllUser?pageNo=aaa,將產(chǎn)生異常。因為頁碼不是數(shù)字,所以需要進行異常處理。修改:

復制代碼 代碼如下:
iPageNo = Integer.parseInt(pageNo);

為:
復制代碼 代碼如下:
try{ iPageNo = Integer.parseInt(pageNo); }catch(Exception e){}

希望本文所述對大家的JSP程序設計有所幫助。

您可能感興趣的文章:
  • JSP實現(xiàn)的簡單分頁示例
  • JSP+EXt2.0實現(xiàn)分頁的方法
  • jsp分頁顯示完整實例
  • JSP自定義分頁標簽TAG全過程
  • jsp分頁顯示的實現(xiàn)代碼
  • json實現(xiàn)jsp分頁實例介紹(附效果圖)
  • JSP分頁顯示的實例代碼
  • jsp讀取數(shù)據(jù)庫實現(xiàn)分頁技術簡析
  • 一個通用的jsp分頁PageBean
  • jsp hibernate的分頁代碼
  • 一個實用的JSP分頁代碼
  • JSP實現(xiàn)的簡單分頁顯示效果代碼

標簽:西藏 紅河 丹東 云浮 貴州 青島 江西 宿州

巨人網(wǎng)絡通訊聲明:本文標題《JSP實現(xiàn)添加功能和分頁顯示實例分析》,本文關鍵詞  JSP,實現(xiàn),添加,功能和,分頁,;如發(fā)現(xiàn)本文內(nèi)容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JSP實現(xiàn)添加功能和分頁顯示實例分析》相關的同類信息!
  • 本頁收集關于JSP實現(xiàn)添加功能和分頁顯示實例分析的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    欧美疯狂爱爱xxxxbbbb| 欧美精品乱码视频一二专区| a在线视频v视频| 精品国产欧美一区二区三区成人| 黄色小视频免费观看| 青柠在线免费观看| 青春草在线观看视频| 久久精品亚洲一区| 欧美激情va永久在线播放| 精品国产不卡| 成人激情文学综合网| 岛国在线视频| 欧美在线观看视频一区二区三区| 久草在线成人| 欧美黄色一级网站| 日韩午夜av一区| 男女性色大片免费观看一区二区| 黄色aaa毛片| 金瓶狂野欧美性猛交xxxx| 亚洲av成人无码网天堂| 精品人妻一区二区三区日产乱码| 久久精品在线播放| 亚洲一级黄色大片| 91精品国产入口在线| 欧美日韩国产一区精品一区| eeuss影院www在线| a级网站在线播放| 久久精品国产亚洲a∨麻豆| 国产专区在线播放| 毛片在线能看| 国产综合久久久| 日韩一区二区在线观看视频| 免费看黄视频网站| 四虎国产成人永久精品免费| 精品毛片在线观看| 豆国产96在线|亚洲| 国产chinasex对白videos麻豆| 亚洲人成精品久久久久久| 老司机午夜免费福利| av三级影院| 日韩av在线播放网址| 亚洲永久一区二区三区在线| 亚洲欧洲www| 亚洲一区二区欧美| 国产一区二区免费视频| 日韩精品成人一区二区在线观看| 久久久91精品国产一区二区精品| 911福利视频| 中文字幕欧美色图| 国产内射老熟女aaaa∵| 成人午夜电影在线观看| 波多野结衣久久| 高清在线观看日韩| 国产偷久久久精品专区| 国产毛片毛片| 国产成人福利视频| 成人在线免费观看视频网站| 国产一区二区视频在线| 欧美日韩免费在线| 国产精品亚洲综合色区韩国| 亚洲高清视频中文字幕| 中文字幕超清在线免费观看| 男生和女生一起差差差视频| 久草免费在线观看| |精品福利一区二区三区| 日韩一区二区三区在线视频| 国产又爽又黄免费软件| 日本一区二区成人在线| 久久www人成免费看片中文| 色综合久久88| 精品乱码一区二区三区四区| 最近中文字幕免费视频| 国产精品美女久久久久aⅴ国产馆| 国产精品久久久久久久蜜臀| 欧洲精品二区| 蜜臀av性久久久久蜜臀av| 亚洲国产欧美在线观看| 成年人av电影| 亚洲国产一区二区视频| 欧美色图在线视频| 中文字幕在线观看亚洲| 肉肉视频在线观看| 国产乱人乱偷精品视频| 欧美日本在线观看| 久久精品99久久香蕉国产色戒| 五月婷中文字幕| 57pao国产成永久免费视频| 欧美粗暴jizz性欧美20| 四虎最新网站| 麻豆国产精品一区二区三区| 羞羞视频在线观看免费| 中文字幕精品一区二| 国产在线播放观看| 国模一区二区| 一本一道久久综合狠狠老| 精品久久久一区| 自拍偷拍国产| 国产一区 二区 三区一级| 韩国久久久久久| 亚洲男女一区二区三区| 欧美xxxxbbbb在线播放| 国产成人啪精品午夜在线观看| 欧美三级电影在线看| 高清国语自产拍免费视频国产| 日本wwwwww| 久久久精品国产免费观看同学| 国产粉嫩一区二区三区在线观看| 一道本视频在线观看| 精品视频1区2区3区| 日韩一区二区电影网| 日韩av免费网站| 999日本视频| √…a在线天堂一区| 成人春色激情网| 久久久无码中文字幕久...| 日本成人在线免费观看| 亚洲精品国产品国语在线app| 美女午夜精品| 草裙成人精品一区二区三区| 青青草视频在线免费观看| 国产东北露脸精品视频| 祥仔av免费一区二区三区四区| 自拍网站在线观看| av中文字幕网| 视频精品二区| 久久精品动漫| 国产aaaaa毛片| 国产真实有声精品录音| 成人午夜激情免费视频| 日韩精品久久一区| 亚洲精品乱码久久久久久日本蜜臀| 亚洲黄色免费| 桃乃木かなav在线播放| japanese中文字幕| 久久精品美女| 国产亚洲一区二区精品| 欧美久久综合网| 国产手机av在线| 91在线视频| 亚洲欧美一区二区三区久本道91| 毛片在线导航| 精品亚洲美女网站| 中文字幕网址在线| 久久久免费看| xxxxxx欧美| 午夜剧场在线免费观看| 成人激情诱惑| 日韩视频精品在线| av大片在线免费观看| 婷婷亚洲最大| 欧美成人第一页| 国产精品区一区二区三区| 日韩精品欧美精品| 亚洲无中文字幕| 欧美成人精品一区二区免费看片| 福利一区和二区| 精品视频一区二区三区四区| www.avtt| 国产乱人伦偷精品视频不卡| 91视频在线观看免费| 欧美色欧美亚洲另类二区| jizzjizzjizz中国| 中日韩免费视频中文字幕| 国产99久久精品一区二区永久免费| 肉色丝袜一区二区| 天堂在线视频免费观看| 亚洲免费中文| 性色一区二区| 免费影视观看网站入口| 中文字幕一区二区三区最新| 国产日韩精品视频一区二区三区| 91影视免费在线观看| 亚洲黄色a级片| 色哦色哦哦色天天综合| 亚洲春色在线视频| 久久久久人妻一区精品色欧美| 精品久久毛片| 一级做a爱视频| 久久久久久久久久久久久久一区| 香港经典三级在线| 国产99久久久国产精品| 国产高潮国产高潮久久久91| 91精品一区国产高清在线gif| 欧美极品少妇xxxxⅹ免费视频| 亚洲精品视频久久| 国产成人无码aa精品一区| 美洲天堂一区二卡三卡四卡视频| 亚洲精品国产精品国自产| 国产亚洲美女精品久久久| 国产免费高清| 国内精品视频一区二区三区八戒| 国产美女视频一区二区二三区| 精品久久久久久久久久岛国gif| 谁有免费的黄色网址| 欧美中文在线免费| fc2人成共享视频在线观看| 欧美在线观看你懂的| 香蕉久久免费影视| 在线国产伦理一区| 免费在线黄色片| 国产又黄又大又粗的视频| 日韩在线观看免费高清| 艳色歌舞团一区二区三区| 成人午夜视频网站| 午夜小视频免费| aa片在线观看视频在线播放| 日本黄色免费在线| 136国产福利精品导航| 91丨精品丨国产| 肉丝美足丝袜一区二区三区四| 成人激情动漫在线观看| 精品国产综合| 成人在线视频电影| 亚洲电影中文字幕| 99麻豆久久久国产精品免费优播| 欧美 国产 精品| 久草福利资源在线观看| 国产三级按摩推拿按摩| 波兰性xxxxx极品hd| 亚洲欧美自偷自拍| 最新中文字幕在线观看| 男人的天堂av网站| 欧美综合在线视频观看| 99久久精品国产成人一区二区| 91看片免费版| 99久久人妻精品免费二区| 精品视频成人| 国产精品白丝jk黑袜喷水| 久久er99热精品一区二区三区| 激情视频免费观看在线| 亚洲综合成人网| 天堂精品视频| 亚洲一二三四在线观看| 亚洲精品国产一区黑色丝袜| 欧美成人精品一区二区男人小说| 精品中文字幕在线观看| 99高清视频有精品视频| 欧美日本不卡视频| 97人人做人人人难人人做| 97超级碰碰碰久久久| 99在线视频免费观看| 91精品国产一区| 毛片毛片毛片毛片毛片毛片| 在线能看的av网站| 欧美精品久久久久久久久老牛影院| 久久久久久久久黄色| 欧美韩国日本不卡| 久久综合亚洲社区| 一个人免费观看在线视频www| 亚洲欧美日韩国产手机在线| 欧美精品aaaa| 国产调教视频在线观看| 爽好多水快深点欧美视频| 久久综合精品国产一区二区三区| 国产精品不卡在线| 亚洲国产wwwccc36天堂| 精品国产一区二区三区不卡| 麻豆国产精品视频| 国产一区视频在线看| 久久久亚洲精品视频| 一区二区不卡在线| www欧美在线观看| 福利小视频在线| 免费国产自久久久久三四区久久| www.五月婷| jizz中文字幕| 国产精品免费看一区二区三区| 久久久久久久久久一区| 亚洲国产婷婷| 日韩欧美三级在线| 久久久久久免费视频| 欧美乱大交xxxxx另类电影| 国产一区二区三区香蕉| 欧美一区二区成人| 成人手机在线电影| 国产肥臀一区二区福利视频| 亚洲另类色综合网站| 欧美精品久久一区二区三区| 免费一级片91| 亚洲少妇久久久| 北条麻妃99精品青青久久| 色综合天天狠天天透天天伊人| 极品少妇一区二区三区| 屁屁影院在线观看| 激情成人在线视频| 欧美特级xxxxbbbb毛片| 国产精品久久一区| 日韩av片专区| 久久免费精品国产久精品久久久久| 日韩男人天堂| 欧美一级特黄aaaaaa大片在线观看| 国产精品黑丝在线播放| 97国产精品免费视频| 98精品在线视频| 欧美一级电影在线| 夫妻免费无码v看片| 中文字幕成在线观看| yy6080久久伦理一区二区| 中文字幕精品av| 亚洲免费高清视频在线| 成人h在线播放| 韩国成人二区| 草草在线视频| 中出一区二区| 日韩手机在线| av小说在线播放| 欧美精品在线第一页| 精品伦精品一区二区三区视频| 国产精品自拍小视频| 国产一区二区三区在线播放免费观看| 国产精品theporn88| 精品视频一二三| 欧美在线播放高清精品| 亚洲草久电影| 九九九九九九精品任你躁| 欧美成人免费在线观看| 视频一区欧美日韩| 国产精品成人va在线观看| 日韩一区二区三区视频在线观看| 日本欧美韩国国产| 91超薄肉色丝袜交足高跟凉鞋| 精品国产一区二区三区| 91成人免费电影| 中文字幕亚洲高清| 成年网站免费观看| 麻豆视频在线看| 亚洲xxxx做受欧美| 精品熟女一区二区三区|