JSP代码,调用JS文件
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
- <html>
- <head>
- <base href="<%=basePath%>">
- <link rel="stylesheet" type="text/css" href="css/ext-all.css" />
- <script type="text/javascript" src="js/ext-base.js"></script>
- <script type="text/javascript" src="js/ext-all-debug.js"></script>
- <script type="text/javascript" src="js/hello.js"></script>
- </head>
- <body>
- </body>
- </html>
JSP代码,读取数据库信息,并返回JSON数据
- <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
- <%@ page import="java.sql.*"%>
- <%@ page import="dao.Dbdao"%>
- <%@page import="net.sf.json.JSONArray"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme() + "://"
- + request.getServerName() + ":" + request.getServerPort()
- + path + "/";
- %>
- <%
- try {
- Dbdao dd = new Dbdao("com.mysql.jdbc.Driver",
- "jdbc:mysql://localhost:3306/mydata", "root", "admin");
- Connection conn = dd.getConnection();
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery("SELECT * FROM `mydata`");
- Map result = new HashMap();
- List list = new ArrayList();
- while (rs.next()) {
- Map dynBean = new HashMap();
- dynBean.put("company", rs.getString("company"));
- dynBean.put("price", rs.getString("price"));
- dynBean.put("change", rs.getString("change"));
- dynBean.put("pctChange", rs.getString("pctChange"));
- dynBean.put("lastChange", rs.getString("lastChange"));
- list.add(dynBean);
- }
- //使用store接收的功能
- result.put("totalCount", 100);
- result.put("list", list);
- //JSONArray json = JSONArray.fromObject(result);
- //StringBuffer sb = new StringBuffer(json.toString());
- //System.out.println(sb.length());
- //String str=sb.toString().substring(1, sb.length()-1);
- //System.out.println(str);
- //out.write(str);
- //使用jsonStore接收的功能
- JSONArray json = JSONArray.fromObject(list);
- StringBuffer sb = new StringBuffer(json.toString());
- System.out.println(sb.length());
- System.out.println(sb);
- //sb.deleteCharAt(0).deleteCharAt(sb.length()-1);
- System.out.println("==" + sb.toString());
- response.setContentType("application/x-json");
- out.write(sb.toString());
- //sout.write(list.toString());
- } catch (Exception ex) {
- ex.printStackTrace();
- }
- %>
JS文件
- Ext.onReady(function() {
- var store = new Ext.data.JsonStore({
- url: 'extjsjson.jsp',
- autoLoad: true,
- // idProperty: 'company',
- fields: ['company', 'price', 'change', 'pctChange','lastChange'],
- listeners : {
- load : function(store,records,options) {
- alert("JsonStore");
- }
- }
- });
- // var store = new Ext.data.Store({
- // proxy : new Ext.data.HttpProxy({
- // url : 'extjsjson.jsp'
- // }),
- // reader : new Ext.data.JsonReader({
- // root : "list",
- // totalProperty : "totalCount",
- // fields : ['price', 'company', 'change',
- // 'pctChange', 'lastChange']
- // }),
- // remoteSort : true,
- // listeners : {
- // load : function(store, records, options) {
- // alert("Store");
- // }
- // }
- // });
- var grid = new Ext.grid.GridPanel({
- store : store,
- columns : [{
- id : 'company',
- header : 'Company11',
- width : 160,
- sortable : true,
- dataIndex : 'company'
- }, {
- header : 'Price',
- width : 75,
- sortable : true,
- dataIndex : 'price'
- }, {
- header : 'Change',
- width : 75,
- sortable : true,
- dataIndex : 'change'
- }, {
- header : '% Change',
- width : 75,
- sortable : true,
- dataIndex : 'pctChange'
- }, {
- header : 'Last Updated',
- width : 85,
- sortable : true,
- //renderer : Ext.util.Format
- //.dateRenderer('Y-m-d H:i:s'),
- dataIndex : 'lastChange'
- }],
- stripeRows : true,
- autoExpandColumn : 'company',
- height : 500,
- width : 600,
- title : '表格',
- stateful : true,
- stateId : 'grid'
- });
- var win = new Ext.Window({
- width : 600,
- height : 450,
- title : '标题',
- items : [grid],
- buttons : [{
- text : '增',
- // 增加按钮
- handler : function() {
- // insert()
- }
- }, {
- text : '删',
- // 删除按钮
- handler : function() {
- datadelete()
- }
- }, {
- text : '加载数据',
- handler : function() {
- // debugger;
- store.load();
- }
- }]
- }).show();
- });
JAVA文件,DAO层,获取数据库连接
- package dao;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- public class Dbdao {
- private Connection conn;
- private String driver;
- private String url;
- private String username;
- private String pass;
- public Dbdao(String driver, String url, String username, String pass) {
- this.driver = driver;
- this.url = url;
- this.username = username;
- this.pass = pass;
- }
- public String getDriver() {
- return driver;
- }
- public void setDriver(String driver) {
- this.driver = driver;
- }
- public String getUrl() {
- return url;
- }
- public void setUrl(String url) {
- this.url = url;
- }
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPass() {
- return pass;
- }
- public void setPass(String pass) {
- this.pass = pass;
- }
- public Connection getConnection() throws Exception {
- if (conn == null) {
- Class.forName(this.driver);
- conn = DriverManager.getConnection(url, username, this.pass);
- }
- return conn;
- }
- public boolean insert(String sql, Object... args) throws Exception {
- PreparedStatement pstmt = getConnection().prepareStatement(sql);
- for (int i = 0; i < args.length; i++) {
- pstmt.setObject(i +1, args[1]);
- }
- if (pstmt.executeUpdate() != 1) {
- return false;
- }
- return true;
- }
- public ResultSet query(String sql, Object... args) throws Exception {
- PreparedStatement pstmt = getConnection().prepareStatement(sql);
- for (int i = 0; i < args.length; i++) {
- pstmt.setObject(i + 1, args[1]);
- }
- return pstmt.executeQuery();
- }
- public void modify(String sql, Object... args) throws Exception {
- PreparedStatement pstmt = getConnection().prepareStatement(sql);
- for (int i = 0; i < args.length; i++) {
- pstmt.setObject(i + 1, args[1]);
- }
- pstmt.executeUpdate();
- pstmt.close();
- }
- public void closeConn() throws Exception {
- if (conn != null && !conn.isClosed()) {
- conn.close();
- }
- }
- }
浙公网安备 33010602011771号