servlet类
package com.tdb.sevice.controller; import java.util.ArrayList; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.tdb.sevice.model.ContactBean; import com.tdb.sevice.model.PageBean; public class PageServlet extends javax.servlet.http.HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { response.setContentType("text/html"); try { PageBean pagebean = new PageBean(); ContactBean contact = new ContactBean(); System.out.println("servlet测试点1"); int pagecount = pagebean.countPage();//获取总共的页数 System.out.println("servlet测试点2"+pagecount); String topage = request.getParameter("topage");//获取当前的页码 System.out.println("servlet测试点3"+topage); if(topage != null && !topage.trim().equals("")){ if (Integer.parseInt(topage) > pagecount) { //判断当前的页码是否越界,如果是的话就进行处理 topage =String.valueOf(pagecount); System.out.println("servlet测试点4"+topage); } else if (Integer.parseInt(topage) <= 0) { topage = "1"; System.out.println("servlet测试点5"+topage); } }else { topage = "1"; System.out.println("servlet测试点6"+topage); } ArrayList devicebase = contact.getData(topage, pagecount); request.getSession().setAttribute("pagecount", pagecount); request.getSession().setAttribute("topage", topage);//将当前的页码返回给页面,这样进行计算 request.getSession().setAttribute("devicebase", devicebase); response.sendRedirect("main.jsp"); } catch (Exception e) { e.printStackTrace(); } } public void doPost(HttpServletRequest request, HttpServletResponse response) throws javax.servlet.ServletException, java.io.IOException { doGet(request, response); } }
分页javabean
package com.tdb.sevice.model; public class PageBean { public int maxPage; // 一共有多少页 public int maxRowCount; // 一共有多少行 public static final int pagesize = 15; // 每页多少行 public PageBean() { } public int countPage() throws Exception { int maxRowCount=this.MaxCount(); System.out.println("MaxCount="+maxRowCount); if (maxRowCount % this.pagesize == 0) { maxPage = maxRowCount / this.pagesize; } else { maxPage =maxRowCount/ this.pagesize + 1; } return maxPage; } public int MaxCount() throws Exception { ContactBean contact=new ContactBean(); this.maxRowCount = contact.getAvailableCount(); // 得到总行数 return maxRowCount; } }
数据基础javabean
package com.tdb.sevice.model; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import com.tdb.util.MyOracle; public class DeviceBean { private String deviceNo; private String deviceModel; private String deviceScope; private String deviceAddress; private String radminUserName; private String radminPass; private String radminAddress; public String getDeviceNo() { return deviceNo; } public void setDeviceNo(String deviceNo) { this.deviceNo = deviceNo; } public String getDeviceModel() { return deviceModel; } public void setDeviceModel(String deviceModel) { this.deviceModel = deviceModel; } public String getDeviceScope() { return deviceScope; } public void setDeviceScope(String deviceScope) { this.deviceScope = deviceScope; } public String getDeviceAddress() { return deviceAddress; } public void setDeviceAddress(String deviceAddress) { this.deviceAddress = deviceAddress; } public String getRadminUserName() { return radminUserName; } public void setRadminUserName(String radminUserName) { this.radminUserName = radminUserName; } public String getRadminPass() { return radminPass; } public void setRadminPass(String radminPass) { this.radminPass = radminPass; } public String getRadminAddress() { return radminAddress; } public void setRadminAddress(String radminAddress) { this.radminAddress = radminAddress; } private String deviceBase_insert="insert into deviceBase values (?,?,?,?,?,?,?)"; public void insertnavlink() throws Exception { try{ ResultSet rs=null; MyOracle myoracle = new MyOracle(deviceBase_insert); myoracle.setString(1, this.deviceNo); myoracle.setString(2, this.deviceModel); myoracle.setString(3, this.deviceScope); myoracle.setString(4, this.deviceAddress); myoracle.setString(5, this.radminUserName); myoracle.setString(6, this.radminPass); myoracle.setString(7, this.radminAddress); myoracle.executeUpdate(); myoracle.close(); } catch (Exception ex) { throw new Exception("insertnavlink()"+ex.getMessage()); } } /** * 根据编号查询设备基本信息 */ private String deviceBase_select="select * from devicebase where deviceNo = ?"; public DeviceBean getParmslink() throws Exception { DeviceBean db = null; try{ ResultSet rs=null; MyOracle myoracle = new MyOracle(); rs = myoracle.executeQuery(deviceBase_select); db = new DeviceBean(); while(rs.next()){ db.setDeviceNo(rs.getString(1)); db.setDeviceModel(rs.getString(2)); db.setDeviceScope(rs.getString(3)); db.setDeviceAddress(rs.getString(4)); db.setRadminUserName(rs.getString(5)); db.setRadminPass(rs.getString(6)); db.setRadminAddress(rs.getString(7)); } myoracle.close(); } catch (Exception ex) { throw new Exception("getParmslink()"+ex.getMessage()); } return db; } /** * 分页程序 * 查询所有的设备基本信息 * return ArrayList */ public <DeviceBase>ArrayList getListParmslink(int start, int end) throws Exception { String getListParms_select ="SELECT * FROM devicebase WHERE ROWNUM<=" + end + " minus SELECT * FROM devicebase WHERE ROWNUM<="+start; ArrayList al = null; try{ MyOracle myoracle = new MyOracle(); ResultSet rs = myoracle.executeQuery(getListParms_select); //System.out.println("测点一"); al = new ArrayList(); //System.out.println("测点二"); while(rs.next()){ //System.out.println("测点三"); DeviceBean db = new DeviceBean(); // System.out.println("测点四"); db.setDeviceNo(rs.getString(1)); db.setDeviceModel(rs.getString(2)); db.setDeviceScope(rs.getString(3)); db.setDeviceAddress(rs.getString(4)); db.setRadminUserName(rs.getString(5)); db.setRadminPass(rs.getString(6)); db.setRadminAddress(rs.getString(7)); al.add(db); } myoracle.close(); } catch (Exception ex) { throw new Exception("getListParmslink()"+ex.getMessage()); } return al; } String pageSizeSelect = "select count(*) from devicebase"; public int getPageSize(){ MyOracle myoracle; ResultSet rs ; int pageSize = 0; try { myoracle = new MyOracle(); rs = myoracle.executeQuery(pageSizeSelect); rs.next(); pageSize = rs.getInt(1); System.out.println(pageSize); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return pageSize; } /** * 测试数据 * @param args */ public static void main(String []args){ DeviceBean db = new DeviceBean(); try { for(int i=2; i<103; i++){ db.setDeviceNo("Ae-00"+i); db.setDeviceModel("TFDS-30"+i); db.setDeviceScope("长北上行"); db.setDeviceAddress("苏家屯"); db.setRadminUserName("TF"); db.setRadminPass("tf123456"); db.setRadminAddress("192.168.255.255"); db.insertnavlink(); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
分页与数据打交道的桥javabean
package com.tdb.sevice.model;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Vector;
import com.tdb.sevice.model.PageBean;
import com.tdb.util.MyOracle;
public class ContactBean {
/*获取连接数据库工具*/
private MyOracle myOracle ;
/** *返回要查询的记录数 */
public int getAvailableCount() throws Exception {
int ret = 0;
String strSql = "select count(*) from devicebase";
myOracle = new MyOracle();
ResultSet rset = myOracle.executeQuery(strSql);
while (rset.next()) {
ret = rset.getInt(1);
}
myOracle.close();
return ret;
}
/*获取查寻的记录数*/
public ArrayList getData(String topage, int pagecount)
throws Exception {
myOracle = new MyOracle();
int pagesize = PageBean.pagesize;
/*计算查询数据的起始值*/
int pageStart = (Integer.parseInt(topage) - 1) * pagesize;
/*计算查询数据的结束值*/
int pageEnd = pageStart + pagesize;
myOracle = new MyOracle();
String sql = "SELECT * FROM devicebase WHERE ROWNUM<=" + pageEnd + " minus SELECT * FROM devicebase WHERE ROWNUM<="+pageStart;;
ResultSet rs = myOracle.executeQuery(sql);
ArrayList list = new ArrayList();
int j=0;
while(rs.next()){
DeviceBean device = new DeviceBean();
device.setDeviceNo(rs.getString(1));
device.setDeviceModel(rs.getString(2));
device.setDeviceScope(rs.getString(3));
device.setDeviceAddress(rs.getString(4));
device.setRadminUserName(rs.getString(5));
device.setRadminPass(rs.getString(6));
device.setRadminAddress(rs.getString(7));
list.add(j, device);
++j;
}
myOracle.close();
return list;
}
}