Java+JSP+Oracle+Ajax前台显示数据库数据

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>();

    public 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的结果:
这里写图片描述
这里写图片描述

  • 4
    点赞
  • 39
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Java JSP中使用MySQL实现数据库的增删改查功能,我们可以按照以下步骤进行操作: 1. 建立数据库连接:首先,我们需要使用Java中的JDBC连接MySQL数据库。可以使用`com.mysql.jdbc.Driver`驱动程序来连接数据库。在JSP页面中,我们可以使用`<%@ page import="java.sql.*" %>`导入相关的类和包,然后使用以下代码来建立数据库连接: ```jsp <% String url = "jdbc:mysql://localhost:3306/数据库名称"; String user = "数据库用户名"; String password = "数据库密码"; try{ Class.forName("com.mysql.jdbc.Driver"); Connection con = DriverManager.getConnection(url, user, password); // 在这里进行数据库操作增删改查 con.close(); }catch(Exception e){ out.println(e.getMessage()); } %> ``` 2. 数据库增加数据:使用SQL INSERT语句可以向数据库中插入新的数据。在JSP页面中,可以使用以下代码来插入数据: ```jsp <% Statement stmt = con.createStatement(); String sql = "INSERT INTO 表名 (列1, 列2, 列3) VALUES ('值1', '值2', '值3')"; stmt.executeUpdate(sql); stmt.close(); %> ``` 3. 数据库删除数据:使用SQL DELETE语句可以从数据库中删除数据。在JSP页面中,可以使用以下代码来删除数据: ```jsp <% Statement stmt = con.createStatement(); String sql = "DELETE FROM 表名 WHERE 列 = '条件'"; stmt.executeUpdate(sql); stmt.close(); %> ``` 4. 数据库修改数据:使用SQL UPDATE语句可以修改数据库中的数据。在JSP页面中,可以使用以下代码来修改数据: ```jsp <% Statement stmt = con.createStatement(); String sql = "UPDATE 表名 SET 列1 = '新值' WHERE 列2 = '条件'"; stmt.executeUpdate(sql); stmt.close(); %> ``` 5. 数据库查询数据:使用SQL SELECT语句可以从数据库中查询数据。在JSP页面中,可以使用以下代码来查询数据并在页面上显示结果: ```jsp <% Statement stmt = con.createStatement(); String sql = "SELECT * FROM 表名"; ResultSet rs = stmt.executeQuery(sql); while(rs.next()){ out.println(rs.getString("列名")); } rs.close(); stmt.close(); %> ``` 以上是使用Java JSP和MySQL实现数据库的增删改查的基本步骤。可以根据具体需求和情况进行相应的调整和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值