oracle+servlet+extjs4 分页表格布局示例代码

Log.java

 

  1 package com.example.entity;
  2 
  3 import java.util.Date;
  4 
  5 public class Log {
  6 
  7     private int id;
  8     private Date timestamp;
  9     private String module;
 10     private String function;
 11     private String method;
 12     private String userId;
 13     private String userName;
 14     private String localIp;
 15     private String remoteIp;
 16     private int type;
 17     private String fileName;
 18     private int fileSize;
 19     private String params;
 20     private int success;
 21     private String error;
 22     public String getError() {
 23         return error;
 24     }
 25     public void setError(String error) {
 26         this.error = error;
 27     }
 28     public String getFileName() {
 29         return fileName;
 30     }
 31     public void setFileName(String fileName) {
 32         this.fileName = fileName;
 33     }
 34     public int getFileSize() {
 35         return fileSize;
 36     }
 37     public void setFileSize(int fileSize) {
 38         this.fileSize = fileSize;
 39     }
 40     public String getFunction() {
 41         return function;
 42     }
 43     public void setFunction(String function) {
 44         this.function = function;
 45     }
 46     public int getId() {
 47         return id;
 48     }
 49     public void setId(int id) {
 50         this.id = id;
 51     }
 52     public String getLocalIp() {
 53         return localIp;
 54     }
 55     public void setLocalIp(String localIp) {
 56         this.localIp = localIp;
 57     }
 58     public String getMethod() {
 59         return method;
 60     }
 61     public void setMethod(String method) {
 62         this.method = method;
 63     }
 64     public String getModule() {
 65         return module;
 66     }
 67     public void setModule(String module) {
 68         this.module = module;
 69     }
 70     public String getParams() {
 71         return params;
 72     }
 73     public void setParams(String params) {
 74         this.params = params;
 75     }
 76     public String getRemoteIp() {
 77         return remoteIp;
 78     }
 79     public void setRemoteIp(String remoteIp) {
 80         this.remoteIp = remoteIp;
 81     }
 82     public int getSuccess() {
 83         return success;
 84     }
 85     public void setSuccess(int success) {
 86         this.success = success;
 87     }
 88     public Date getTimestamp() {
 89         return timestamp;
 90     }
 91     public void setTimestamp(Date timestamp) {
 92         this.timestamp = timestamp;
 93     }
 94     public int getType() {
 95         return type;
 96     }
 97     public void setType(int type) {
 98         this.type = type;
 99     }
100     public String getUserId() {
101         return userId;
102     }
103     public void setUserId(String userId) {
104         this.userId = userId;
105     }
106     public String getUserName() {
107         return userName;
108     }
109     public void setUserName(String userName) {
110         this.userName = userName;
111     }
112     
113 }

 

LogDAO.java

 

 1 package com.example.DAO;
 2 
 3 import java.sql.Connection;
 4 import java.sql.DriverManager;
 5 import java.sql.PreparedStatement;
 6 import java.sql.ResultSet;
 7 import java.sql.SQLException;
 8 import java.util.ArrayList;
 9 import java.util.List;
10 
11 
12 import com.example.entity.Log;
13 
14 
15 public class LogDAO {
16 
17     private static Connection getConn() {
18         String driver = "oracle.jdbc.driver.OracleDriver";
19         String url = "jdbc:oracle:thin:@192.168.97.201:1521:fznop";
20         String username = "bi_swxt";
21         String password = "swxt2013";
22         Connection conn = null;
23         try {
24             Class.forName(driver);
25             // new oracle.jdbc.driver.OracleDriver();
26             conn = DriverManager.getConnection(url, username, password);
27         }
28         catch (ClassNotFoundException e) {
29             e.printStackTrace();
30         }
31         catch (SQLException e) {
32             e.printStackTrace();
33         }
34 
35         return conn;
36     }
37     
38     public static List<Log> findAll(int start, int limit) {
39         int s = start +1;
40         int e = start + limit;
41         Connection conn = getConn();
42         String sql = "select id,timestamp,module,function,method,user_id,user_name,local_ip," +
43                 "remote_ip,type,file_name,file_size,params,success,error from (select r.*, rownum as d " +
44                 "from (select * from system_log) r where rownum <= " +e + ") where d >= " +s;
45         PreparedStatement pstmt;
46         List<Log> list = new ArrayList<Log>();
47         
48             try {
49                 pstmt = conn.prepareStatement(sql);
50                 ResultSet rs = pstmt.executeQuery();
51                 while (rs.next()) {
52                     Log log = new Log();
53                     log.setId(rs.getInt(1));
54                     log.setTimestamp(rs.getDate(2));
55                     log.setModule(rs.getString(3));
56                     log.setFunction(rs.getString(4));
57                     log.setMethod(rs.getString(5));
58                     log.setUserId(rs.getString(6));
59                     log.setUserName(rs.getString(7));
60                     log.setLocalIp(rs.getString(8));
61                     log.setRemoteIp(rs.getString(9));
62                     log.setType(rs.getInt(10));
63                     log.setFileName(rs.getString(11));
64                     log.setFileSize(rs.getInt(12));
65                     log.setParams(rs.getString(13));
66                     log.setSuccess(rs.getInt(14));
67                     log.setError(rs.getString(15));
68                     list.add(log);
69                 }
70                 rs.close();
71                 pstmt.close();
72                 conn.close();
73             } catch (SQLException e1) {
74                 e1.printStackTrace();
75             }        
76         return list;
77     }
78     
79     public static int getTotal(){
80         Connection conn = getConn();
81         String sql = " select count(*) from system_log";
82         PreparedStatement pstmt;
83         int total = 0;
84         try {
85             pstmt = conn.prepareStatement(sql);
86             ResultSet rs = pstmt.executeQuery();
87             if(rs.next()){
88                 total= rs.getInt(1);
89             }
90         } catch (SQLException e) {
91             // TODO Auto-generated catch block
92             e.printStackTrace();
93         }
94         return total;
95     }
96 }

 

LogServlet.java

 

 1 package com.example.servlet;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 import java.util.List;
 6 
 7 import javax.servlet.ServletException;
 8 import javax.servlet.http.HttpServlet;
 9 import javax.servlet.http.HttpServletRequest;
10 import javax.servlet.http.HttpServletResponse;
11 
12 import com.example.DAO.LogDAO;
13 import com.example.entity.Log;
14 
15 public class LogServlet extends HttpServlet {
16     
17     private static final long serialVersionUID = -4798851845756886622L;
18 
19     @Override
20     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
21             throws ServletException, IOException {
22         int start = Integer.parseInt(req.getParameter("start"));
23         int limit = Integer.parseInt(req.getParameter("limit"));
24         LogDAO logDAO = new LogDAO();
25         List<Log> list = logDAO.findAll(start , limit);
26         int total = logDAO.getTotal();
27         StringBuilder sb = new StringBuilder();
28         sb.append("{results: " + total + ", rows:[");
29         for (Log log : list) {
30             sb.append("{");
31             sb.append("ID : " + log.getId());
32             sb.append(", TIMESTAMP : \‘" + log.getTimestamp() + "\‘");
33             sb.append(", MODULE : \‘" + log.getModule() + "\‘");
34             sb.append(", FUNCTION : \‘" + log.getFunction() + "\‘");
35             sb.append(", METHOD : \‘" + log.getMethod() + "\‘");
36             sb.append(", USER_ID : \‘" + log.getUserId() + "\‘");
37             sb.append(", USER_NAME : \‘" + log.getUserName() + "\‘");
38             sb.append(", LOCAL_IP : \‘" + log.getLocalIp() + "\‘");
39             sb.append(", REMOTE_IP : \‘" + log.getRemoteIp() + "\‘");
40             sb.append(", TYPE : " + log.getType());
41             sb.append(", FILE_NAME : \‘" + log.getFileName() + "\‘");
42             sb.append(", FILE_SIZE : " + log.getFileSize());
43             sb.append(", PARAMS : \‘" + log.getParams() + "\‘");
44             sb.append(", SUCCESS : " + log.getSuccess());
45             sb.append(", ERROR : \‘" + log.getError() + "\‘");
46             sb.append("},");
47         }
48 
49         String json = sb.substring(0, sb.length() - 1);
50 
51         json += "]}";
52         resp.setContentType("text/html");
53         resp.setCharacterEncoding("UTF-8");
54         PrintWriter out = resp.getWriter();
55         out.println(json);
56         out.close();
57     }
58 
59 }

 

grid.js

 

 1 Ext.onReady(function(){
 2         var itemsPerPage = 10;
 3         
 4         var store = Ext.create(‘Ext.data.Store‘,{
 5             autoLoad: {start: 0, limit: itemsPerPage},
 6             fields: [‘ID‘,‘TIMESTAMP‘,‘MODULE‘,‘FUNCTION‘,‘METHOD‘,‘USER_ID‘,‘USER_NAME‘
 7                 ,‘LOCAL_IP‘,‘REMOTE_IP‘,‘TYPE‘,‘FILE_NAME‘,‘FILE_SIZE‘,‘PARAMS‘,‘SUCCESS‘,‘ERROR‘],//定义字段
 8             pageSize: itemsPerPage,
 9             proxy: {
10                  type: ‘ajax‘,
11                  url: ‘log.do‘,             
12                  reader: {
13                        type: ‘json‘,
14                        root: ‘rows‘,
15                        totalProperty: ‘results‘
16                  }
17             }
18         });
19         //创建Grid表格组件
20         Ext.create(‘Ext.grid.Panel‘,{
21             title : ‘Grid表格示例‘,
22             renderTo: Ext.getBody(),
23             width:1300,
24             height:330,
25             frame:true,
26             store: store,
27            
28             columns: [//配置表格列
29                 {header: "ID", width: 80, dataIndex: ‘ID‘, sortable: true},
30                 {header: "TIMESTAMP", width: 80, dataIndex: ‘TIMESTAMP‘, sortable: true},
31                 {header: "MODULE", width: 80, dataIndex: ‘MODULE‘, sortable: true},
32                 {header: "FUNCTION", width: 80, dataIndex: ‘FUNCTION‘, sortable: true},
33                 {header: "METHOD", width: 80, dataIndex: ‘METHOD‘, sortable: true},
34                 {header: "USER_ID", width: 80, dataIndex: ‘USER_ID‘, sortable: true},
35                 {header: "USER_NAME", width: 80, dataIndex: ‘USER_NAME‘, sortable: true},
36                 {header: "LOCAL_IP", width: 80, dataIndex: ‘LOCAL_IP‘, sortable: true},
37                 {header: "REMOTE_IP", width: 80, dataIndex: ‘REMOTE_IP‘, sortable: true},
38                 {header: "TYPE", width: 80, dataIndex: ‘TYPE‘, sortable: true},
39                 {header: "FILE_NAME", width: 80, dataIndex: ‘FILE_NAME‘, sortable: true},
40                 {header: "FILE_SIZE", width: 80, dataIndex: ‘FILE_SIZE‘, sortable: true},
41                 {header: "PARAMS", width: 80, dataIndex: ‘PARAMS‘, sortable: true},
42                 {header: "SUCCESS", width: 80, dataIndex: ‘SUCCESS‘, sortable: true},
43                 {header: "ERROR", width: 80, dataIndex: ‘ERROR‘, sortable: true}
44             ],
45             bbar:[{
46                 xtype: ‘pagingtoolbar‘,
47                 store: store,
48                 displayInfo: true,
49                 displayMsg: ‘显示第 {0} 条到 {1} 条记录,一共 {2} 条‘,
50                 emptyMsg: "当前查询条件无数据,请重新查询"
51             }]
52         });
53     });

 

index.jsp

 

 1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 2 <html>
 3     <head>
 4         <title>MyTestWeb</title>
 5         <link type="text/css" rel="stylesheet" href="resource/common/extjs/resources/css/ext-all-neptune.css" />
 6     </head>
 7     <body >
 8         <script type="text/javascript" src="resource/common/extjs/ext-all.js"></script>
 9         <script type="text/javascript" src="resource/common/extjs/locale/ext-lang-zh_CN.js"></script>
10         <script type="text/javascript" src="resource/common/extjs/packages/ext-theme-neptune/build/ext-theme-neptune.js"></script>
11         <script type="text/javascript" src="resource/grid/grid.js"></script>
12         <%--<div >
13         </div>
14     --%></body>
15 </html>

 

web.xml

 

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
 5     http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 6     
 7     <servlet>
 8         <servlet-name>Log</servlet-name>
 9         <servlet-class>
10             com.example.servlet.LogServlet
11         </servlet-class>
12     </servlet>
13     <servlet-mapping>
14         <servlet-name>Log</servlet-name>
15         <url-pattern>/log.do</url-pattern>
16     </servlet-mapping>
17 
18     <welcome-file-list>
19         <welcome-file>index.jsp</welcome-file>
20     </welcome-file-list>
21 </web-app>

 

oracle+servlet+extjs4 分页表格布局示例代码

上一篇:一款连接SqlServer的数据库工具


下一篇:SharePoint 2010 自定义基于SQL表单身份验证的登录页面