切换导航
首页
技术问答
编程语言
前端开发
移动开发
开发工具
程序设计
行业应用
CMS系统
服务器
频道导航
▸ PHP
▸ Java
▸ Java SE
▸ Python
▸ C#
▸ C&C++
▸ Ruby
▸ VB
▸ asp.Net
▸ Go
▸ Perl
▸ netty
▸ Django
▸ Delphi
▸ Jsp
▸ .NET Core
▸ Spring
▸ Flask
▸ Springboot
▸ SpringMVC
▸ Lua
▸ Laravel
▸ Mybatis
▸ Asp
▸ Groovy
▸ ThinkPHP
▸ Yii
▸ swoole
▸ HTML
▸ HTML5
▸ JavaScript
▸ CSS
▸ jQuery
▸ Bootstrap
▸ Angularjs
▸ TypeScript
▸ Vue
▸ Dojo
▸ Json
▸ Electron
▸ Node.js
▸ extjs
▸ Express
▸ XML
▸ ES6
▸ Ajax
▸ Flash
▸ Unity
▸ React
▸ Flex
▸ Ant Design
▸ Web前端
▸ 微信小程序
▸ 微信公众号
▸ iOS
▸ Android
▸ Swift
▸ Hybrid
▸ Cocos2d-x
▸ Flutter
▸ Xcode
▸ Silverlight
▸ cocoa
▸ Cordova
前端之家
Ajax
dwr和jquery实现谷歌关键字搜索
dwr和jquery实现谷歌关键字搜索
2020-06-06
Ajax
前端之家
前端之家
收集整理的这篇文章主要介绍了
dwr和jquery实现谷歌关键字搜索
,
前端之家
小编觉得挺不错的,现在分享给大家,也给大家做个参考。
创建web项目,
添加
Struts2
支持
并将
MysqL
驱动,dwr
文件
导入,导入jquery的js
文件
和google的
logo
图片
。 1.实现DAO,在src下创建名为dao的包,并在其中创建名为Db.java的类,该类如下: package dao; import java.
sql
.Connection; import java.
sql
.DriverManager; import java.
sql
.ResultSet; import java.
sql
.
sql
Exception; import java.
sql
.Statement; public class Db { static { try { Class.forName("com.
MysqL
.jdbc.Driver"); } catch (ClassNotFoundException e) { e.printStackTrace(); } } public static Connection getConnection() { Connection con = null; String url = "jdbc:
MysqL
://127.0.0.1:3306/test"; String userName = "root"; String pwd = "root"; try { con = DriverManager.getConnection(url,userName,pwd); } catch (
sql
Exception e) { e.printStackTrace(); } return con; } public ResultSet getKeyWord(String key){ String
sql
= "select name from google where name like \""+key+"%\""; System.out.println(
sql
); Connection con = getConnection(); ResultSet rs =null; Statement stm = null; try { stm = con.createStatement(); rs = stm.executeQuery(
sql
); } catch (
sql
Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return rs; } }
方法
getKeyWord通过传递过来的关键字,实现模糊
查询
。最终返回rs对象,后边的Action类
调用
时,会将这个结果集 对象rs转换为list对象,然后让
前台
的Javascript
调用
输出
结果。 其中,表google创建语句如下: create table google(id int primary key auto_increament,name varchar(32) not null); 插入测试的数据: insert into google(name) values("aaa"); insert into google(name) values("bbb"); insert into google(name) values("ccc"); insert into google(name) values("abc"); insert into google(name) values("aredsc"); insert into google(name) values("sieln"); insert into google(name) values("aba"); 2.实现Action:项目中的Action类实现的是一个调度的
功能
。在src目录下创建一个Action包,并在其中创建名问 KeyAction.java的类,如下: package action; import java.
sql
.ResultSet; import java.
sql
.ResultSet
Meta
Data; import java.
sql
.
sql
Exception; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import com.opensymphony.xwork2.ActionSupport; import dao.Db; public class KeyAction extends ActionSupport { private static final long serialVersionUID = 1L; public List getName(String key) throws
sql
Exception { Db db = new Db(); ResultSet rs = db.getKeyWord(key); List list = new ArrayList(); ResultSet
Meta
Data md = rs.get
Meta
Data(); int columnCount = md.getColumnCount(); // Map rowData; while (rs.next()) { Map rowData = new HashMap(); for (int i = 1; i <= columnCount; i++) { rowData.put(md.getColumnName(i),rs.getObject(i)); } list.add(rowData); } return list; } } KeyAction.java主要的作用是调度到层的Db.java类,
获取
数据库
查询
的结果集并将结果集转换成list对象,通过 dwr以供JavaScript
调用
。并使用Jquery
显示
。可以看出这个Action提供了一个getName
方法
,它根据参数(这个参 数是视图
页面
中通过JavaScript传入的)做
查询
并将结果集转换为list对象返回。 index.jsp实现视图: <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Struts2 Ajax Google</title> <script type='text/javascript' src='/struts2ajaxgoogle/dwr/engine.js'></script> <script type='text/javascript' src='/struts2ajaxgoogle/dwr/interface/KeyWrod.js'></script> <script type="text/javascript" src="jq/jquery-1.6.2.js"></script> <script type="text/javascript"> $(document).ready(function() { $("#serch").keyup(function() { var key = $("#serch").val(); KeyWrod.getName(key,callback); }); function callback(date) { var key = ""; for(i=0;i<date.length;i++){ key = key+date[i].name+"<br>"; } $("#result").html("<b>"+key+"</b>"); } }); </script> </head> <body> <center> <img src="img/
logo
_cn.png" style="padding-top: 58px;"> <br> <br> <input type="text" id="serch" style="width: 600px; height: 38px; font-size: 20px; font-weight: bold;" /> <input type="button" id="sub" value="Google
搜索
" style="height: 40px" /><br/> <div id="result"></div> </center> </body> </html> Jquery
获取
搜索
框中的输入,然后交给dwr。dwr
调用
Action中的getName
方法
,并将参数传递给getName
方法
,最终Action会 返回给dwr一个list,dwr会将list交给Jquery
显示
出来。 web.xml配置: <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping> <filter> <filter-name>struts2</filter-name> <filter-class> org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app> dwr.xml配置: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://directwebremoting.org/dwr/dwr30.dtd"> <dwr> <allow> <create creator="new" javascript="KeyWrod"> <param name="class" value="action.KeyAction" /> <include method="getName"/> </create> </allow> </dwr> dwr.xml中指定
生成
的JavaScript
名称
是keyWord,在视图的
页面
中可以通过这个
名称
来
调用
KeyAction.java中的
方法
。<include method="getName"> 指定getName
方法
才可以被dwr
调用
,其他的访问不到。到这里已经全部完成了。
上一篇:dwr框架使用初步
下一篇:ajax请求返回的Json格式数据循环输
猜你在找的Ajax相关文章
网页的异步请求(Ajax)
JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表...
作者:前端之家 时间:2021-01-14
手动实现AJAX
AJAX 每日更新前端基础,如果觉得不错,点个star吧 😃 https://github.com/Win...
作者:前端之家 时间:2020-12-19
axios异步提交表单数据的不同形式
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使...
作者:前端之家 时间:2020-12-12
php的ajax简单实例
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈...
作者:前端之家 时间:2020-11-11
Json与Ajax(注册实例)
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: "./serv...
作者:前端之家 时间:2020-11-07
jSon和Ajax登录功能,ajax数据交互案例
ajax实例,检测用户与注册 检测用户名是否被占用: 在用户填写完用户名之后,ajax会异步向...
作者:前端之家 时间:2020-11-07
关于AjaxControlToolkit的样式问题
网(LieHuo.Net)教程 技术文章一直都是转载的,从来没有自创过.终于遇到AjaxControlToolkit,...
作者:前端之家 时间:2020-11-04
一个简单的AJAX实现(HELLO AJAX)
客户端部分: <html> <head> <meta http-equiv="Content-Type" ...
作者:前端之家 时间:2020-11-04
AJAX中文乱码的两类问题及解决之策
1)发送路径中的参数有中文,在服务器段接收参数值是乱码 例如: var url=”a.jsp?na...
作者:前端之家 时间:2020-11-04
实例:AJAX返回xml代码如何在网页中显示
建站学院(LieHuo.Net)文档 今天来学习一篇实例代码教程:AJAX返回xml代码如何在网页中显...
作者:前端之家 时间:2020-11-04
编程分类
HTML
HTML5
JavaScript
CSS
jQuery
Bootstrap
Angularjs
TypeScript
Vue
Dojo
Json
Electron
Node.js
extjs
Express
XML
ES6
Ajax
Flash
Unity
React
Flex
Ant Design
Web前端
微信小程序
微信公众号
最新文章
• 网页的异步请求(Ajax)
• 手动实现AJAX
• axios异步提交表单数据的不
• php的ajax简单实例
• Json与Ajax(注册实例)
• Ajax基础原理与应用
• jSon和Ajax登录功能,ajax
• 关于AjaxControlToolkit的
• 一个简单的AJAX实现(HELLO
• AJAX中文乱码的两类问题及
热门标签
更多 ►
关闭广告
单独headers
封装代码
提示错误
整数正则
非0开头
跳页
出页码
antd table
提示URL未注册
公众号支付
vue hash模式
iSlider
车牌键盘
循环图片
echarts 双折
左右布局
DllPlugin
对象创建
打字游戏
圈选
两栏
云函数
蒙版
ES2020
橱窗
无缝滚动轮播
色块碰撞
组件销毁
文档操作