基于Java Web的“利用Ajax实现无革新实时表现公告信息”实行 ...

打印 上一主题 下一主题

主题 835|帖子 835|积分 2505

1.实行目标

学习和把握jQuery获取网页元素对象的格式。利用JDBC进行数据库的连接以及利用Statement对象实行SQL查询语句。把握利用Properties类加载Properties文件中参数的方式。利用<jsp:UseBean>标签创建对象。利用$.get方法向服务器发送哀求以及获取服务器中的数据。
2.实行所用方法

上机实践
3.实行步骤及截图

建立数据库表格info:
 

 
 
在web目次下创建index.jsp文件用来向服务器发送哀求,并对服务器返回结果进行展示:
  1. <%@ page contentType="text/html;charset=UTF-8" language="java" %>
  2. <html>
  3. <head>
  4.   <title>index</title>
  5.   <script type="text/javascript"
  6.           src="${pageContext.request.contextPath}/jquery-3.6.0.js"></script>
  7.   <script language="JavaScript">
  8.     function getInfo() {
  9.       $.get("http://localhost:8080/chapter12/getInfo.jsp?nocache="+new  Date().getTime(),function (data) {
  10.         $("#showInfo").html(data);
  11.       });
  12.     }
  13.     $(document).ready(function () {
  14.       getInfo();//调用getInfo()方法获取公告信息
  15.       window.setInterval("getInfo()",600000);
  16.     })
  17.   </script>
  18. </head>
  19. <body>
  20. <section>
  21.   <marquee id="showInfo" direction="up" scrollamount="3">
  22.   </marquee>
  23. </section>
  24. </body>
  25. </html>
复制代码

创建getInfo.jsp文件用于实行SQL语句并对查询结果进行输出:
  1. <%@ page language="java" contentType="text/html;charset=UTF-8"
  2.          pageEncoding="UTF-8" %>
  3. <%@page import="java.sql.*" %>
  4. <jsp:useBean id="conn" class="cn.itcast.dao.ConnDB"
  5.              scope="page"></jsp:useBean>
  6. <ul>
  7.     <%
  8.         ResultSet rs=conn.executeQuery("select title from info order by id desc");
  9.         if(rs.next()){
  10.             do{
  11.                 out.print("<li>"+rs.getString(1)+"</li>");
  12.             }while (rs.next());
  13.         }else{
  14.             out.print("<li>暂无公告信息!</li>");
  15.         }
  16.     %>
  17. </ul>
复制代码

创建创建数据库请问文件ConnDB.java工具类:
  1. package cn.itcast.dao;
  2. import java.io.InputStream;
  3. import java.sql.*;
  4. import java.util.Properties;
  5. public class ConnDB {
  6.     public Connection conn =null;
  7.     public Statement stmt = null;
  8.     public ResultSet rs = null;
  9.     private static String propFileName= "connDB.properties";
  10.     private static Properties prop=new Properties();
  11.     private static String dbClassName ="";
  12.     private static String dbUrl="";
  13.     private static String user="";
  14.     private static String pass="";
  15.     static{
  16.         try{
  17.             //将Properties文件读取到InputStream对象中
  18.             InputStream in=ConnDB.class.getResourceAsStream(propFileName);
  19.             prop.load(in);
  20.             dbClassName = prop.getProperty("DB_CLASS_NAME");
  21.             dbUrl = prop.getProperty("DB_URL");
  22.             user = prop.getProperty("user");
  23.             pass = prop.getProperty("pass");
  24.         }catch (Exception e){
  25.             e.printStackTrace();                             //输出异常信息
  26.         }
  27.     }
  28.     /**
  29.      * 连接数据库
  30.      */
  31.     public  Connection getConection(){
  32.         try{
  33.             Class.forName(dbClassName).newInstance();
  34.             conn = DriverManager.getConnection(dbUrl,user,pass);
  35.         }catch (Exception ee){
  36.             ee.printStackTrace();
  37.         }
  38.         if(conn==null){
  39.             System.err.print("连接失败");
  40.         }
  41.         return conn;
  42.     }
  43.     /**
  44.      * 执行查询
  45.      */
  46.     public ResultSet executeQuery(String sql){
  47.         try{
  48.             conn=getConection();
  49.             stmt =conn.createStatement
  50.                     (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
  51.             rs =stmt.executeQuery(sql);
  52.         }catch (SQLException ex){
  53.             System.err.print(ex.getErrorCode());
  54.         }
  55.         return rs;
  56.     }
  57.     public void close(){
  58.         try{
  59.             if(rs!=null){
  60.                 rs.close();
  61.             }
  62.             if (stmt!=null){
  63.                 stmt.close();
  64.             }
  65.             if (conn!=null){
  66.                 conn.close();
  67.             }
  68.         }catch (Exception e){
  69.             e.printStackTrace();
  70.         }
  71.     }
  72. }
复制代码

连接数据库部分的代码如下图所示


实行SQL语句的函数:

释放资源部分的代码如下图所示:

连接数据库的设置文件connDB.properties如下图所示:

从图中可知已经乐成连接数据库查询到相应数据:

4.实行过程中出现的问题

.properties文件是ideal生成的文本文件,用于存储数据库连接等设置信息。在创建和编辑设置文件时,需要遵循特定的格式要求,并注意掩护敏感信息的安全性和进步设置文件的可维护性。
5.实行心得

jQuery是一个快速、小巧、功能丰富的JavaScript库。它使得HTML文档遍历和操纵、事件处理、动画和Ajax等使命变得更加简单。




免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

美食家大橙子

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表