Java+JSP+Oracle+Ajax前台显示数据库数据
2017-03-30 17:45
639 查看
Java+JSP+Oracle+Ajax前台显示数据库数据
在这个例子中,我们将使用Java查询Oracle数据库里面的数据并在前台JSP页面显示。一、准备
Java连接Oracle数据库请参考 Java连接Oracle数据库.note
使用Ajax需要jQuery.js文件,下载:http://www.jq22.com/jquery-info122
必要的连接Oracle的jar包。
所用数据库表数据:
二、创建工程
工程的完整目录为:
JdbcUtils.java
JdbcUtils.java连接数据库
package com.cu.test; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class JdbcUtils { private static final String driverUrl = "oracle.jdbc.driver.OracleDriver"; private static final String url = "jdbc:oracle:thin:@59.71.244.71:1521:ORCL"; private static final String username = "SXUSER"; private static final String password = "1234"; public static Connection getConnection(){ Connection connection = null; try { Class.forName(driverUrl); connection = DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { e.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } System.out.println("连接成功!"); return connection; } }
DataInfo.java
DataInfo用来保存由数据库传来的数据
package com.cu.test; public class DataInfo { public int id,age; public String name,sex; public int getId() { return id; } public void setId(int id) { this.id = id; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getSex() { return sex; } public void setSex(String sex) { this.sex = sex; } }
DataSets.java
DataSets类获取数据库数据,返回存有数据的list
package com.cu.test; import java.sql.Connection; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; public class DataSets { public static String sql="select * from ODBC_IMPORT t"; public static Statement stmt = null; public static ResultSet res = null; public static Connection conn = null; public static ArrayList<DataInfo> list=new ArrayList<DataInfo>(); pub 4000 lic static ArrayList<DataInfo> getDataInfo(){ try { conn=JdbcUtils.getConnection(); stmt = conn.createStatement(); res = stmt.executeQuery(sql); while(res.next()) { DataInfo data=new DataInfo(); data.setId(res.getInt("ID")); data.setName(res.getString("NAME")); data.setAge(res.getInt("AGE")); data.setSex(res.getString("SEX")); list.add(data); } } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } return list; } //将list转成json样式的字符串 public static String dataJson(ArrayList<DataInfo> list){ String json="{\"people\":["; for (DataInfo dataInfo : list) { String line="{\"name\":\""+dataInfo.getName()+ "\",\"id\":"+dataInfo.getId()+","+ "\"age\":"+dataInfo.getAge()+","+ "\"sex\":"+dataInfo.getSex()+"},"+ "\r\n"; json=json+line; } json=json.substring(0, json.length()-3); json=json+"]}"; return json; } }
DataServlet.java
新建DataServlet类,用于将获得的数据传往前台JSP页面
package com.cu.test; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class DataServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf-8"); response.setCharacterEncoding("utf-8"); ArrayList<DataInfo> list=DataSets.getDataInfo(); String json=DataSets.dataJson(list); PrintWriter out = response.getWriter(); out.println(json); out.close(); } }
MyJsp.jsp
前台JSP页面代码,点击按钮显示后台数据
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'MyJsp.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script src="jquery-3.0.0.js" type="text/javascript"></script> <script type="text/javascript"> function myFunction(){ $.ajax({ type:"post", //传输方式为post,所以我们在servlet里面代码是写在doPost()函数中 url:"DataServlet", //这就是使用的servlet的url success:function(data){ document.getElementById("json").innerHTML=data; } }); } </script> </head> <body> <p id="json">数据</p><br> <button onclick="myFunction()">获取数据</button> </body> </html>
运行MyJsp.jsp的结果:
相关文章推荐
- ajax动态查询数据库数据并显示在前台的方法
- JSP列表形式显示数据库中的数据 OracleCachedRowSet 实例
- jsp+oracle实现数据库内容以表格形式在前台显示(包含分页)
- JSP列表形式显示数据库中的数据 OracleCachedRowSet 实例
- JAVA WEB开发从数据库中查询到的数据用list怎么在JSP页面整齐的显示出来,请写代码,
- java连接Postger数据库,并通过Jsp将数据库中数据表的在网页中显示
- (转)JSP数据库操作例程 - 数据分页显示 - JDBC 2.0 - Oracle
- java jsp struts2标签 从数据库中读取含有html标签的数据显示问题
- ajax动态查询数据库数据并显示在前台
- JAVA 使数据库内的每条数据显示在JSP页面上
- oracle 数据库的管理工具 PL/SQL_Developer 的简易使用 与Java 连接并查询显示出数据
- 【Servlet】在Servlet3.0中利用json+ajax把数据库查询出来的数据推向前台显示,无额外的json解析包
- 请问如何在Web页面中点击一个button之后,用jsp从数据库中读取数据显示到表格里
- java 中如何在JTABLE中显示连接数据库表中的数据
- 使用 JFreeChart 显示您的 Oracle 数据库数据
- jsp中从数据库得数据的显示格式控制和html超链接传值写法
- AJAX自学练习二:无刷新从数据库后台取数据显示
- AJAX自学练习二:无刷新从数据库后台取数据显示
- JSP数据库操作例程数据分页显示
- [学习笔记]java+oracle 存+ jsp 储图片到数据库中 b---读取