数据库采用Sql Server2005
项目名称为:Ajax_Demo
1.com.demo.conn包
package com.demo.conn;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
//获取数据库连接的类
public class DBConnection {
//进行数据库的连接的方法
public static Connection getConnection()
{
Connection conn=null;
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conn=DriverManager.getConnection("jdbc:sqlserver://localhost:1433;databaseName=BookShop", "sa", "sa");
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return conn;
}
}
2.com.demo.model包
package com.demo.model;
public class Book {
private Integer id;
private String title;
private Double money;
private Integer click;
private String isbn;
private int wordCount;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public Double getMoney() {
return money;
}
public void setMoney(Double money) {
this.money = money;
}
public Integer getClick() {
return click;
}
public void setClick(Integer click) {
this.click = click;
}
public String getIsbn() {
return isbn;
}
public void setIsbn(String isbn) {
this.isbn = isbn;
}
public int getWordCount() {
return wordCount;
}
public void setWordCount(int wordCount) {
this.wordCount = wordCount;
}
}
3.com.demo.dao包
package com.demo.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import com.demo.conn.DBConnection;
import com.demo.model.Book;
public class NewBookDAO {
private Connection conn=null;
private ResultSet rs=null;
//构造方法
public NewBookDAO()
{
conn=DBConnection.getConnection();
}
//1.查询第一条书籍的ISBN
public String findBookByISBN()
{
String select_sql="select isbn from newBooks where id=4939";
String isbn=null;
try {
PreparedStatement pstm=conn.prepareStatement(select_sql);
rs=pstm.executeQuery();
while(rs.next())
{
isbn=rs.getString("isbn");
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return isbn;
}
//查询一条数据[即Object]
public Book findBookById(int id)
{
String sql="select * from newBooks where id=?";
Book book=new Book();
try {
PreparedStatement pstm=conn.prepareStatement(sql);
pstm.setInt(1, id);
rs=pstm.executeQuery();
if(rs.next())
{
book.setId(new Integer(rs.getInt("id")));
book.setTitle(rs.getString("title"));
book.setMoney(new Double(rs.getDouble("unitPrice")));
book.setClick(new Integer(rs.getInt("clicks")));
book.setIsbn(rs.getString("isbn"));
book.setWordCount(rs.getInt("wordscount"));
rs.close();
return book;
}
else
{
rs.close();
return null;
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
//查询几条数据[即List结合]
public List findBook()
{
ArrayList array=new ArrayList();
String sql="select top 10 * from newBooks";
try {
PreparedStatement pstm=conn.prepareStatement(sql);
rs=pstm.executeQuery();
while(rs.next())
{
Book book=new Book();
book.setId(new Integer(rs.getInt("id")));
book.setTitle(rs.getString("title"));
book.setMoney(new Double(rs.getDouble("unitPrice")));
book.setClick(new Integer(rs.getInt("clicks")));
book.setIsbn(rs.getString("isbn"));
book.setWordCount(rs.getInt("wordscount"));
array.add(book);
}
rs.close();
return array;
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return array;
}
public static void main(String[] args) {
NewBookDAO bookDao=new NewBookDAO();
List lst=bookDao.findBook();
System.out.println(lst.size());
}
}
4.com.demo.control包
package com.demo.control;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.demo.dao.NewBookDAO;
import com.demo.model.Book;
public class BookServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
// 设置输出的信息的格式及字符集
response.setContentType("text/xml; charset=UTF-8");
response.setHeader("Cache-Control", "no-cache");
// 调用DAO层中的方法
NewBookDAO bookDao = new NewBookDAO();
PrintWriter writer = response.getWriter();
///////////////////////////////////////////////
// 读取一个字段的字符串
String isbn = bookDao.findBookByISBN();
//////////////////////////////////////////////
// 返回一个对象
//Book obj = bookDao.findBookById(4948);
//
//writer.write("<Book>");
//writer.println("<id>" + obj.getId() + "</id>");
//writer.println("<title>" + obj.getTitle() + "</title>");
//writer.println("<unitPrice>" + obj.getMoney() + "</unitPrice>");
//writer.println("<clicks>" + obj.getClick() + "</clicks>");
//writer.println("<isbn>" + obj.getIsbn() + "</isbn>");
//writer.println("<wordscount>" + obj.getWordCount()+ "</wordscount>");
//writer.write("</Book>");
// writer.close();
//////////////////////////////////////////////
// 返回一个集合
List lst = bookDao.findBook();
writer.write("<Books>");
for(int i=0;i<lst.size();i++)
{
Book obj=(Book)lst.get(i);
writer.write("<Book>");
writer.println("<id>" + obj.getId() + "</id>");
writer.println("<title>" + obj.getTitle() + "</title>");
writer.println("<unitPrice>" + obj.getMoney() + "</unitPrice>");
writer.println("<clicks>" + obj.getClick() + "</clicks>");
writer.println("<isbn>" + obj.getIsbn() + "</isbn>");
writer.println("<wordscount>" + obj.getWordCount()+ "</wordscount>");
writer.write("</Book>");
}
writer.write("</Books>");
writer.close();
}
}
表示层:jsp页面(index.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 'index.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">
<script type="text/javascript">
var xmlHttp=null;
//创建一个交互的XmlHttpRequest对象
function createXMLHttpRequest()
{
if(window.XmlHttpRequest)
{
xmlHttp=new XmlHttpRequest();
}
if(window.ActiveXObject)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e)
{
xmlHttp=new ActiveXObject("msxml2.XMLHTTP");
}
}
}
//交互的方法
function testAjax()
{
createXMLHttpRequest();
if(xmlHttp!=null)
{
xmlHttp.onreadystatechange=showArray;
xmlHttp.open("GET","BookServlet",true);
xmlHttp.send(null);
}
}
//实现一个字符串的数据显示
function showData()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
//alert(xmlHttp.responseText);
document.getElementById("div_content").innerHTML="";
document.getElementById("div_content").innerHTML=xmlHttp.responseText;
}
}
//实现一个对象的数据显示
function showObject()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
//alert(xmlHttp.responseText);
document.getElementById("div_contentObj").innerHTML="";
var id=xmlHttp.responseXml.getElementsByTagName("id")[0].firstChild.data;
var title=xmlHttp.responseXml.getElementsByTagName("title")[0].firstChild.data;
var unitPrice=xmlHttp.responseXml.getElementsByTagName("unitPrice")[0].firstChild.data;
var clicks=xmlHttp.responseXml.getElementsByTagName("clicks")[0].firstChild.data;
var isbn=xmlHttp.responseXml.getElementsByTagName("isbn")[0].firstChild.data;
var wordscount=xmlHttp.responseXml.getElementsByTagName("wordscount")[0].firstChild.data;
document.getElementById("div_contentObj").innerHTML=id+title+unitPrice+clicks+isbn+wordscount;
}
}
//实现一个集合的数据显示
function showArray()
{
if(xmlHttp.readyState==4&&xmlHttp.status==200)
{
document.getElementById("div_contentArray").innerHTML="";
var txt="";
var ele=xmlHttp.responseXml.documentElement.getElementsByTagName("Book");
for(var i=0;i<ele.length;i++)
{
xx=ele[i].getElementsByTagName("id");
{
txt=txt+xx[0].firstChild.nodeValue;
}
xx=ele[i].getElementsByTagName("title");
{
txt=txt+"---"+xx[0].firstChild.nodeValue+"<br>";
}
}
document.getElementById("div_contentArray").innerHTML=txt;
}
}
</script>
<style type="text/css">
#div_content
{
border:solid gray 1px;
height:100px;
width:200px;
}
#div_contentObj
{
border:solid gray 1px;
height:100px;
width:210px;
}
#div_contentArray
{
border:solid gray 1px;
height:100px;
width:500px;
}
</style>
</head>
<body>
<input type="button" name="btn_ajx" value="Ajax显示字符串数据" onclick="testAjax()">
<br>
<div id="div_content"></div>
<hr>
<input type="button" name="btn_ajxObj" value="Ajax显示对象数据" onclick="testAjax()">
<br>
<div id="div_contentObj"></div>
<hr>
<input type="button" name="btn_ajxArray" value="Ajax显示结合数据" onclick="testAjax()">
<div id="div_contentArray"></div>
</body>
</html>
版权声明:本文为博主原创文章,未经博主允许不得转载。
相关推荐
在这个“Ajax案例(JSP)”中,我们将探讨如何在JSP应用中使用Ajax技术。 首先,了解Ajax的核心概念: 1. **异步通信**:Ajax允许浏览器在不阻塞用户操作的情况下向服务器发送请求,这使得页面在后台与服务器进行...
在"ASP.NET AJAX案例"中,我们可以深入学习如何在实际项目中运用这项技术。这通常包括以下几个方面: 1. **UpdatePanel组件**:这是ASP.NET AJAX中最常见的控件,用于实现页面的部分刷新。通过将控件放入...
在"ajaX案例大全以及基本操作代码"中,我们可以期待看到一系列的实例,涵盖了AJAX的多种应用场景和基本操作。 1. **异步通信**:AJAX的核心是创建XMLHttpRequest对象,这个对象允许浏览器在后台与服务器进行通信。...
在"prototype-AJAX案例"中,你可能会看到这些方法的具体应用,以及如何与服务器进行交互,如何处理返回的数据,以及在成功或失败时如何执行相应的回调函数。通过分析案例代码,你可以深入理解Prototype如何简化AJAX...
在"Ajax案例开发.rar"这个压缩包中,很显然包含了一些关于Ajax应用的实例,这些案例可以帮助我们深入理解Ajax的工作原理和实际应用。 首先,我们需要理解Ajax的核心概念。它主要由以下几个关键组件组成: 1. **...
综上所述,"Ajax案例-经典案例开发大全"涵盖了Ajax在实际开发中的多种应用场景,结合jsp的使用,为开发者提供了丰富的实践素材,有助于提升Web应用程序的性能和用户体验。通过深入学习和实践这些案例,开发者可以更...
以下是基于提供的标题和描述的三个Ajax案例的详细知识点: 案例一:获取服务器时间 在这一案例中,开发者通常会创建一个JavaScript函数,使用Ajax技术向服务器发送一个请求,请求的目标是获取服务器当前的时间。这...
AJAX案例基础学习:AJAX案例.xls
"AJAX案例"这个压缩包很可能是包含了一些实际的AJAX应用示例,对于初学者来说是很好的学习资源。 AJAX的核心在于XMLHttpRequest对象,它允许JavaScript在后台与服务器进行通信。当用户触发一个AJAX请求时,浏览器...
总结来说,"JavaWeb之ajax案例—省市联动"是通过AJAX技术和XML数据交换来实现的一种交互效果。它涉及客户端JavaScript的异步请求、服务器端的数据处理和返回,以及前端的动态渲染。这个案例对于理解和掌握AJAX在实际...
在"采用Json、Jquery实现Ajax案例"中,我们可以学习到以下几个关键知识点: 1. **JSON数据格式**:理解JSON的基本结构,包括对象(键值对,用花括号{}包围)和数组(有序集合,用方括号[]包围)。例如: ``` { ...
这个"机器人Ajax案例.zip"可能包含了一个或多个示例,用于展示如何使用Ajax技术来实现自动化或交互式的机器人功能。让我们深入探讨Ajax的核心概念、工作原理以及在实际项目中的应用。 Ajax的核心是JavaScript,它...
在这个"ajax案例(实例全析)"的压缩包中,我们很可能会找到一系列展示Ajax技术实际应用的示例代码。 ### 1. 基本概念 Ajax的核心是JavaScript对象XMLHttpRequest,它允许JavaScript在后台与服务器通信。通过创建...
综上所述,这些Ajax案例涵盖了从基本的登录验证到复杂的购物网站功能,展示了Ajax在提高网页交互性和效率方面的强大能力。学习和理解这些案例,对于提升前端开发技能,尤其是优化用户体验方面具有重要意义。开发者...
### 知识点详解:很好的Ajax案例分析 #### Ajax(Asynchronous JavaScript and XML)简介 Ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax可以使...
如何创建Ajax案例代码
在AJAX案例中,DAO层通常负责与数据库交互,获取或更新数据,然后将结果返回给前端。然而,题目描述提到的案例没有设计DAO层,这意味着它可能仅涉及前后端的数据交换,而不涉及实际的数据库操作。 总结,AJAX是Web...
本项目是基于Javascript的ajax案例设计源码,包含21个文件,其中HTML文件7个,Java源文件6个,JAR文件3个,JavaScript文件3个,XML文件1个,JSP文件1个。该项目可能是一个展示ajax技术的案例,由于缺乏具体的描述,...
【Ajax图书管理案例详解】 Ajax(Asynchronous JavaScript and XML)技术是现代Web开发中的一个重要工具,它使得网页可以在不刷新整个页面的情况下与服务器进行数据交互,提升了用户体验。在这个"ajax图书管理案例...