package book.suggest;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.Vector;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class SearchSuggest extends HttpServlet {
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
String search = request.getParameter("search");//获得请求中cate的值
//定义查询数据库的SQL语句
String sql = "select title from suggest where title like '"+search+"%' order by title";
Connection conn = null;//声明Connection对象
Statement stmt = null;//声明Statement对象
ResultSet rs = null;//声明ResultSet对象
Vector vData = new Vector();
//response.setContentType("text/xml");//设置返回数据类型为xml格式
java.io.PrintWriter out = response.getWriter();
try {
// 加载数据库驱动类
Class.forName("com.mysql.jdbc.Driver");
// 访问数据库的地址
String url = "jdbc:mysql://localhost:3306/test";
//创建Connection对象
conn = DriverManager.getConnection(url, "root", "821208");
// 创建Statement对象
stmt = conn.createStatement();
// 执行SQL语句,返回记录集
rs = stmt.executeQuery(sql);
//定义AblumEO实体对象
while (rs.next())
{
vData.add(rs.getString("TITLE"));
}
StringBuffer buf = new StringBuffer();
for (int i=0;i<vData.size();i++)
{
String keyword = (String)vData.get(i);
buf.append(keyword+"\n");
}
out.print(buf.toString());
// out.print(parasToXML(vData));//调用parasToXML()方法
} catch (Exception e) {
e.printStackTrace();
} finally {//最后关必记录集,Connection对象
try {
// this will close any associated ResultSets
if (stmt != null)
stmt.close();
if (conn != null)
conn.close();
} catch (SQLException sqle) {
}
}
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, java.io.IOException {
doPost(request, response);
}
/*
public String parasToXML(Vector v) {// 该方法将数据转化成XML格式输出
StringBuffer buf = new StringBuffer();
buf.append("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
buf.append("<pictures>");
for (int i = 0; i < v.size(); i++) {
AlbumEO album = (AlbumEO) v.get(i);
buf.append("<item>");
buf.append("<name>" + album.getAlbumName() + "</name>");
buf.append("<url>" + album.getAlbumURL() + "</url>");
buf.append("<description>" + album.getAlbumDescription()
+ "</description>");
buf.append("</item>");
}
buf.append("</pictures>");
return buf.toString();
}
*/
}
ajax+mysql+jsp仿google搜索匹配



【Ajax+MySQL+JSP 仿Google搜索匹配】 在Web开发中,实时搜索匹配功能是一项常见且重要的需求,Google搜索引擎的搜索建议功能就是一个很好的例子。本项目“ajax+mysql+jsp仿google搜索匹配”旨在模拟Google的搜索建议,提供用户在输入时即刻展示相关搜索词的功能。这一实现涉及到了前端的Ajax技术、后端的Java JSP以及数据库管理MySQL,下面将详细介绍这三个主要部分。 1. **Ajax(Asynchronous JavaScript and XML)**:Ajax的核心是利用JavaScript与服务器进行异步数据交换,使得网页可以在不重新加载整个页面的情况下更新部分内容。在这个项目中,Ajax负责在用户输入关键字时向服务器发送请求,获取匹配的搜索建议,并在页面上动态更新。 2. **JavaScript**:JavaScript是用于网页交互的脚本语言,它在浏览器端运行,处理用户事件(如键盘输入)并更新DOM(文档对象模型)。在搜索匹配功能中,JavaScript监听用户在搜索框中的输入,当输入达到一定长度或满足特定条件时,触发Ajax请求。 3. **JSP(JavaServer Pages)**:JSP是Java的一个面向Web的开发技术,用于生成动态网页内容。在本项目中,JSP作为服务器端的处理程序,接收来自Ajax的请求,处理SQL查询,获取数据库中的匹配数据,并以JSON或其他格式返回给前端。 4. **MySQL数据库**:MySQL是一个广泛使用的开源关系型数据库管理系统。在本项目中,存储了各种可能的搜索关键词和相关数据。当JSP接收到Ajax请求时,它会构建SQL查询语句,从数据库中检索与用户输入相关的数据。 5. **数据库设计**:为了实现搜索匹配,需要创建一个合理的数据库表结构,可能包含搜索词、搜索次数、相关度等字段,以便根据这些信息进行高效的匹配。 6. **数据处理与返回**:JSP从数据库获取到匹配数据后,可能需要进行一些处理,例如排序(基于搜索次数或相关度)、限制返回结果数量等。然后,这些数据被转换为JSON格式,这是Ajax能够理解的数据类型,再通过HTTP响应返回给前端。 7. **前端显示**:前端JavaScript接收到服务器返回的JSON数据后,解析并更新HTML,将搜索建议显示在搜索框下方,供用户选择。 总结,这个项目涵盖了前端交互、后端处理和数据库操作,展示了如何综合运用Ajax、JavaScript、JSP和MySQL技术实现类似Google的搜索匹配功能。通过学习和实践这个项目,开发者可以提升对Web开发全栈流程的理解,尤其是实时交互和数据通信方面的能力。










































- 1

- 粉丝: 3
- 资源: 9
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 芋道sql ruoyi-vue-pro yudao 项目商城模块相关SQL脚本
- Python基础实践_迷你项目集_1741399503.zip
- 编程语言_Python_100天从新手到大师_学习计划_1741398315.zip
- Python脚本自动包含_打包目录管理_1741402582.zip
- 【Java毕业项目】基于Springboot+vue的宠物救助及领养平台的设计与实现(包含:源码+万字LW+数据库文件+开发文档+安装视频+代码讲解视频)
- 51CTO 1、技术解析篇-DeepSeek入门宝典 2、开发实战篇-DeepSeek入门宝典 3、行业应用篇-DeepSeek入门宝典 4、个人使用篇-DeepSeek入门宝典
- 强化学习2024.pdf
- 编程语言_Python_代码示例库_学习辅助_1741398615.zip
- 机器学习_Python_代码库_第二版_1741403567.zip
- paraview将2d数据轴对称处理成三维效果图(标量)
- 强化学习入门 2023.pdf
- 多智能体强化学习.pdf
- 【Java毕业项目】基于Springboot+vue的交通旅游订票系统的设计与实现(包含:项目源码+万字LW+数据库文件+开发文档+安装视频+代码讲解视频)
- AI资源全解析:理论、实践与应用的学习路径及获取方式
- 数据结构学习指南:从资源到实战全方位提升编程技能
- 数据结构的资源,包括书籍、在线课程和网站



- 1
- 2
前往页