`
wxwxy
  • 浏览: 2528 次
  • 性别: Icon_minigender_2
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论
阅读更多
[b]实现FAQ动态加载用的SQLSERVER2005
index.jsp

<%@ page contentType="text/plain; charset=UTF-8"%>
<%@page import="java.sql.*,ajax.db.DBUtils"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>动态加载的FAQ</title>
<script type="text/javascript">

var xmlHttp;

var currFaqId;   //用于保存当前想要获取的FAQ编号
//用于创建XMLHttpRequest对象

function createXmlHttp(){

if(window.XMLHttpRequest){

xmlHttp=new XMLHttpRequest();

}else{

xmlHttp=new ActiveXObjext("Microsoft.XMLHTTP");
}
}
//获取FAQ信息的调用函数
function loadFAQ(faqId){
currFaqId=faqId;

var currFaqDetail=getFaqDetailDiv(faqId);

if(currFaqDetail.style.display=="none"){

currFaqDetail.style.display="block"

if(currFaqDetail.innerHTML==""){

createXmlHttp();

xmlHttp.onreadystatechange=loadFAQCallback;

xmlHttp.open("GET","read_faq.jsp?faqId="+faqId,true);

xmlHttp.send(null);

}

}else{

currFaqDetail.style.display="none";
}
}




//获取FAQ信息的回调函数
function loadFAQCallback() {

if(xmlHttp.readyState==4){

getFaqDetailDiv(currFaqId).innerHTML=xmlHttp.responseText;
}
}




//根据faqId取得对应的div节点

function getFaqDetailDiv(faqId){

return document.getElementById("faqDetail"+faqId);
}


</script>

</script>
</head>

<body>
<h1>
FAQ(常见问题)
</h1>
<%
String sql = "select id,faq from faq order by id asc";
Connection conn = null;
PreparedStatement pstmt = null;
ResultSet rs = null;
try {
conn = DBUtils.getConnection();
pstmt = conn.prepareStatement(sql);
rs = pstmt.executeQuery();
while (rs.next()) {
%>
<div>
<a href="#" onclick="loadFAQ(<%=rs.getInt(1)%>);return false;"> <%=rs.getString(2)%>
</a>
</div>
<div id="faqDetail<%=rs.getInt(1)%>" style="display: none"></div>
<%
}
} catch (SQLException e) {
System.out.println(e.toString());
} finally {
DBUtils.close(rs);
DBUtils.close(pstmt);
DBUtils.close(conn);
}
%>
</body>
</html>
read_faq.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%@page import="java.sql.*,ajax.db.DBUtils"%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  </head>
 
  <body>
  <%
  out.clear();
  String faqIdStr=request.getParameter("faqId");
  String faqDetail=null;
  if(faqIdStr!=null){
  int faqId=Integer.parseInt(faqIdStr);
  String sql="select detail from faq where id=?";
  Connection conn=null;
  PreparedStatement pstmt=null;
  ResultSet rs=null;
  try{
  conn=DBUtils.getConnection();
  pstmt=conn.prepareStatement(sql);
  pstmt.setInt(1,faqId);
  rs=pstmt.executeQuery();
  if(rs.next()){
  faqDetail=rs.getString(1);
  }
  }catch(SQLException e){
  System.out.println(e.toString());
  }finally{
  DBUtils.close(rs);
  DBUtils.close(pstmt);
  DBUtils.close(conn);
  }
  }
  if(faqDetail !=null){
  out.println(faqDetail);
  }else{
  out.println("无法获取FAQ详细信息");
  }
   %>
  </body>
</html>
DBUtils
package ajax.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ResourceBundle;

public class DBUtils {
private static final String OPTION_FILE_NAME = "ajax_db";

private static String drivers;

private static String url;

private static String user;

private static String password;
static {
/*ResourceBundle res = ResourceBundle.getBundle(OPTION_FILE_NAME);
drivers = res.getString("DRIVERS").trim();
url = res.getString("URL").trim();
user = res.getString("USER").trim();
password = res.getString("PASSWORD").trim();*/
drivers ="com.microsoft.sqlserver.jdbc.SQLServerDriver";
url ="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=aa";
user = "sa";
password = "123456";

}

public static Connection getConnection() throws SQLException {
Connection conn = null;
try {
Class.forName(drivers).newInstance();
conn = DriverManager.getConnection(url, user, password);
} catch (Exception e) {
e.printStackTrace();
}
if (conn == null) {
throw new SQLException("ajax.DBUtils: Cannot get connection.");
}
return conn;
}

public static void close(Connection conn) {
if (conn == null)
return;
try {
conn.close();
} catch (SQLException e) {
System.out.println("ajax.DBUtils: Cannot close connection.");
}
}

public static void close(Statement stmt) {
try {
if (stmt != null) {
stmt.close();
}
} catch (SQLException e) {
System.out.println("ajax.DBUtils: Cannot close statement.");
}

}

public static void close(ResultSet rs) {
try {
if (rs != null) {
rs.close();
}
} catch (SQLException e) {
System.out.println("ajax.DBUtils: Cannot close resultset.");
}
}

}
分享到:
评论

相关推荐

    ASP.NET+ajax经典范例168+精选71例

    此资源包"ASP.NET+ajax经典范例168+精选71例"提供了丰富的实例,旨在帮助开发者深入理解和熟练掌握这两项技术。 ASP.NET是由微软公司开发的一种服务器端的Web应用程序框架,它构建在.NET Framework之上,允许开发者...

    Ajax 经典案例开发大全

    在本“Ajax经典案例开发大全”中,我们将深入探讨Ajax的各种应用场景和开发技巧。 一、Ajax基础 1. XMLHttpRequest对象:Ajax的核心是XMLHttpRequest对象,它允许JavaScript在后台与服务器交换数据并更新部分网页...

    Ajax经典案例开发大全

    《Ajax经典案例开发大全》是一本专注于Ajax技术实践的书籍,涵盖了多个重要且实用的案例。由于文件体积较大,这里仅提供了部分章节的源代码,包括9.1、9.6、9.4、9.2、9.5、9.3这六个章节。以下是对这些章节中可能...

    Ajax经典实例大全

    **Ajax经典实例大全** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个页面的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新。这种技术使得用户界面...

    Ajax经典案例开发大全源文件

    Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发大全源文件Ajax经典案例开发...

    ajax经典demo-初学者的好东西

    在"ajax经典demo-初学者的好东西"这个资源包中,很显然,它为初学者提供了一些经典的Ajax示例,帮助他们快速理解和掌握Ajax的核心概念和技术。下面,我们将详细讨论Ajax的关键组成部分和常见应用。 **一、Ajax的...

    ASP.NET AJAX经典范例168.rar

    在"ASP.NET AJAX经典范例168.rar"这个压缩包中,很可能包含了168个不同的实例,这些实例覆盖了ASP.NET AJAX的各种使用场景和功能,帮助开发者深入理解和应用这项技术。 ASP.NET AJAX的核心组件包括客户端脚本库...

    Ajax经典实例大全(含源码)

    本资源包“Ajax经典实例大全(含源码)”包含了多个实际应用中的Ajax实例,旨在帮助开发者深入理解和掌握Ajax技术。 首先,让我们来看看动态加载数据这一知识点。动态加载是Ajax的核心特性,它使得网页可以在不刷新...

    ajax经典案例(适合初学者参考)

    在“ajax经典案例(适合初学者参考)”这个主题中,我们可以深入探讨以下几个关键知识点: 1. **基础概念**: - **异步通信**:Ajax的核心是浏览器端的JavaScript与服务器之间的异步通信,使得用户可以在等待响应的...

    Ajax经典案例开发大全pdf+随书源码

    **Ajax经典案例开发大全PDF+随书源码** Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这项技术自20世纪末诞生以来,极大地提升了Web应用的用户体验,...

    Ajax经典实例大全pdf 附加源码

    **Ajax经典实例大全** 这本书是Ajax技术学习的重要资源,它为初学者提供了全面而深入的实践指导。Ajax,全称Asynchronous JavaScript and XML(异步JavaScript和XML),是一种在无需刷新整个网页的情况下,能够更新...

    Ajax经典案例开发大全&jQuery实战案例精粹--mini书

    本资料包“Ajax经典案例开发大全&jQuery实战案例精粹--mini书”包含了这两个领域的实用案例,旨在帮助开发者深入理解和掌握这两项技术。 Ajax,全称为异步JavaScript和XML,是一种创建动态网页的技术,它允许在不...

    ajax经典入门详解

    **Ajax经典入门详解** Ajax(Asynchronous JavaScript and XML)是一种创建动态网页的技术,它使得网页可以在不重新加载整个页面的情况下与服务器交换数据并更新部分网页内容。Ajax的核心是利用JavaScript和...

    ajax经典示例代码

    了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. 实例数据库在MySQL 5.0.27 版本下测试通过 2. 将database目录中ajax.sql文件复制到C:\ 3. ...

    Ajax经典源码实例大全

    了解MySQL的用户可以直接使用自己熟悉的方式创建名为ajax的数据库,并将ajax.sql文件导入即可。 下面是简要操作方法: 1. 实例数据库在MySQL 5.0.27 版本下测试通过 2. 将database目录中ajax.sql文件复制到C:\ 3. ...

    Ajax经典程序模块

    **Ajax经典程序模块** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它的核心是利用JavaScript与服务器进行异步数据交换,通过XML或者JSON等格式传输数据,...

    ajax经典实例大全

    **Ajax经典实例大全** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验。在这...

Global site tag (gtag.js) - Google Analytics