如何获取数据库中的表,生成html页面的table

如何获取数据库中的表,生成html页面的table,第1张

html只能通过ajax接口跟后台数据库接口通信,然后取出来的数据在页面上显示。

以下是一个例子:

html文件suggest.html:

<html>

<head>

<meta http-equiv="content-type" content="text/htmlcharset=UTF-8">

<script language="JavaScript" type="text/javascript" src="ajax_search.js"></script>

<style type="text/css" media="screen">

body {

font: 11px arial

}

.suggest_link {

background-color: #FFFFFF

padding: 2px 6px 2px 6px

cursor:hand

}

.suggest_link_over {

background-color: #E8F2FE

padding: 2px 6px 2px 6px

}

#search_suggest {

position:relative

background-color: #FFFFFF

text-align: left

border: 1px solid #000000

left: -12px

top: 1px

height: 74px

width: 170px

display:none

}

</style>

</head>

<body background="bg.gif">

<center>

<h3>实现搜索提示</h3>

<div style="width: 500px">

<input type="text" id="txtSearch" name="txtSearch" onKeyUp="searchSuggest()" autocomplete="off" />

<input type="submit" id="cmdSearch" name="cmdSearch" value="搜索"/><br />

<div id="search_suggest"></div>

</div>

</center>

</body>

</html>

ajax_search.js:

var searchReq = createAjaxObj()

function createAjaxObj()

{

var httprequest=false

if (window.XMLHttpRequest) //为非IE浏览器生成XmlHttpRequest对象

{

httprequest=new XMLHttpRequest()

if (httprequest.overrideMimeType) httprequest.overrideMimeType('text/xml')

}

else if (window.ActiveXObject) //为IE浏览器生成XmlHttpRequest对象

{

try

{

httprequest=new ActiveXObject("Msxml2.XMLHTTP")

}

catch (e)

{

try

{

httprequest=new ActiveXObject("Microsoft.XMLHTTP")

}

catch (e){}

}

}

return httprequest

}

function searchSuggest()

{

if (searchReq.readyState == 4 || searchReq.readyState == 0)

{

var str = escape(document.getElementById('txtSearch').value)

searchReq.open("GET", 'search?search=' + str, true)//向服务器端发送请求

searchReq.onreadystatechange = handleSearchSuggest//设置回调函数

searchReq.send(null)

}

}

function handleSearchSuggest()

{ //这是回调函数,处理从服务器端返回的信息

if (searchReq.readyState == 4)

{

var ss = document.getElementById('search_suggest')

ss.innerHTML = ''

var str = searchReq.responseText.split("\n")

for(i=0i <str.length - 1i++)

{

var suggest = '<div onmouseover="javascript:suggestOver(this)" '

suggest += 'onmouseout="javascript:suggestOut(this)" '

suggest += 'onclick="javascript:setSearch(this.innerHTML)" '

suggest += 'class="suggest_link">' + str[i] + '</div>'

ss.innerHTML += suggest

ss.style.display="block"

}

}

}

function suggestOver(div_value)

{

div_value.className = 'suggest_link_over'

}

function suggestOut(div_value)

{

div_value.className = 'suggest_link'

}

function setSearch(value)

{

document.getElementById('txtSearch').value = value

document.getElementById('search_suggest').innerHTML = ''

document.getElementById('search_suggest').style.display="none"

}

servlet文件SearchSuggest.java:

package com

import java.sql.Connection

import java.sql.DriverManager

import java.sql.ResultSet

import java.sql.SQLException

import java.sql.Statement

import java.util.ArrayList

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

{

response.setCharacterEncoding("UTF-8")

String search = request.getParameter("search")//接受参数值

String sql = "select GoodsName from Goods where GoodsName like '"+search+"%' order by GoodsName"//设置查询语句

Connection conn = null

Statement stmt = null

ResultSet rs = null

ArrayList vData = new ArrayList()

java.io.PrintWriter out = response.getWriter()

try {

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver")//注册数据库连接驱动

String MdbPath = "F:/sneaker/Tomcat/webapps/search/database/#costume.mdb"

String url= "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)}DBQ=" + MdbPath

conn = DriverManager.getConnection(url)

stmt = conn.createStatement()

rs = stmt.executeQuery(sql)//执行查询

while (rs.next())

{

vData.add(rs.getString("GoodsName"))

}

StringBuilder buf = new StringBuilder()

for (int i=0i<vData.size()i++)

{

String keyword = (String)vData.get(i)

buf.append(keyword+"\n")

}

out.print(buf.toString())//向客户端输出信息

} catch (Exception e) {

e.printStackTrace()

} finally {

try {

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)

1、百度下拉的定义

百度下拉又称百度推荐词,英文名为Baidu Suggest Word。是百度为方便用户搜索而提供的一种关键词联想服务,提高了用户搜索效率。大部分人在搜索某一个关键词时并不知道该如何组织语言以便更加精确的达到搜索目的,百度下拉为此提供了便捷。

百度下拉框又叫百度联想区,当用户输入一个字或词,搜索引擎会智能输出与之相关联且流量最大的关键词,所以当客户去搜索某个产品或服务时,一眼就会看到这些加粗的黑体字,就会认为这些是大家最关注、最受欢迎和好评的商家或品牌,直接吸引用户选择查看。

2、百度下拉的原理

百度从每天数以亿计的用户搜索词中,分析提炼出搜索量巨大的词条,生成百度推荐词数据库。之后,当用户在搜索框输入文字的过程中,百度动态就从该数据库中提取出以用户已经输入的字打头的词条,并动态的生成下拉菜单。

举例,当我们在百度输入“营销”这两个字的时候,百度就从推荐词条库中检索出以“营销”这两个字打头的词条,并根据搜索量从大到小排序,组建成下拉菜单。百度下拉菜单的最大数量为10条。

百度下拉框存在的下拉词,每天的点击浏览量都很高,这意味着很多企业都想实现,在网民搜索自己的行业关键词的时候,下拉中的词条是行业关键词和自己品牌词或其他营销类词的整体呈现。

下拉框刷词是性价比比较高的一种网络推广方式,效果不错,很多公司并没有意识到这种对于他们而言相对新型专业的广告方式,还是通过贴小广告、挂牌子的方式做宣传。下拉框刷词有很大的针对性,能够把信息有效传达到目标客户,因为只有有相应需求的人才会去百度搜索相关的信息,而此时下拉框刷词的效果就能凸显出来了。

3、那么该如何做百度下拉呢?

百度搜索展示的下拉框以及相关搜索是霸占首页的重要内容,对用户的引导以及点击有很大的好处。那么就算不懂得SEO的朋友也会知道,百度下拉框跟相关搜索的结果展示是基于用户首次搜索后二次或者N次搜索所展示出来的内容。

那么百度下拉框和百度相关搜索怎么做?是不是大多数都是用软件刷出来的呢?

百度下拉框搜索作弊的原理其实就是模拟普通的搜索行为,修改每次搜索结果的参数,欺骗搜索引擎,只要知道了百度搜索参数的具体含义,自己也可以刷……

举例说明

百度 oq= original query 原有查询

谷歌 oq= 相当于百度oq=

搜狗 oq= 相当于百度oq=

解释 输入搜索词,输入了一半,此时选择了下拉框的相关搜索。这输入了一半的词就是 original query

百度 bs= before search 上一次搜索词

搜搜 bs= 等同百度bs

360搜索 pq= previous query 等同百度bs

解释 2到多次查询的上一次搜索词,伴随bs同时出现的必然有rsv_bp=1,是指2到多次搜索

百度 rsv_bp=

解释 判断是第几次搜索,常见的有2个值,0和1,默认为0

0 1次搜索

1 2到多次搜索

百度 f=

解释 搜索类型判断,常见的值

1 相关搜索

3 下拉框搜索

8 用户自主搜索

f=12 错别字提示正确搜索

百度 rsp= related search ?position

解释 下拉框相关搜索位置,从0开始,第n+1个相关搜索

譬如搜索“今日头条”,选择下拉框第4个相关搜索"今日头条官网",rsp=4

4、百度下拉相关刷词的填写要注意什么?

百度的相关搜索位置,只能容纳9个汉字,所以如果你在刷下拉框的同时,也想同时刷出相关搜索效果,或者你主要的目的是刷出相关搜索,那么,你的刷词就不要超过9个汉字。英文字符、拼音和数字每两个算一个汉字,下同。

百度下拉框,最多容纳15个汉字。相关词在搜索词的后面,更容易刷出下拉效果。

手机下拉刷词,不要超过20个汉字,以不超过15个汉字为好。英文字符和数字两个算一个汉字。刷词太长的话,手机框中一行就显示不了,必须换行显示,这样就会大大降低广告效果。还有就是,太长的刷词,出词效果不如短些的词好。

5、百度下拉框的算法

一个关键词每天有多少搜索量,和它相关的词有多少搜索量,这些数据百度都记录在案的,在百度搜索一个较短关键词的时候,下拉框中可能会出现一些和它相关的一些长尾词,如:在输入B的时候下拉框中出现了很多相关词按顺序往下是baidu,bt….等等,从这个结果可以看出,在最近一段时间内搜索“baidu”的次数大于“bt”,而“bt”搜索量也大于它下面的词,依此类推。一定周期内搜索量越大下拉框中排名越靠前,当然肯定还结合了其他判断方式,但是这绝对是最主要的一种,正因为这样才有了刷下拉框的软件出现。

6、刷搜索引擎下拉框还需要注意几个关键点

MAC地址,IP地址,浏览器COOKIES,搜索行为多样性,做到从设备,软件,到用户的模仿

古语有云:打铁还要自身硬,因此除了要进行下拉框刷词之外,还需要做好自身“基础建设”

首先,自己的网站基础层一定要做好,你想做的关键词,长尾词组得先做好,还有页面的美观度也要做好(如果不做有人从关键词进来看到你的网站乱七八糟的就会跳出,反而增加跳出率,降低了排名)

其次,要选好下拉框的关键词,原则是避实就虚。

第一,我们知道下拉框的基本原理:比如我们在搜索框中输入“营销”,在其下方,百度列出了10个相关词组,这些词组是根据用户的搜索量和点击量自动排名,每产生一个新词组,百度都会将它放到最后,随着点击量的增加,百度会认为该词组相关度高,那么该相关词组排名就会逐渐上升。

第二,要知道热门词竞争力是相当高的,所以要从自己的长尾词组做起,我们要找到本行业最热门的关键词,然后以热门词+长尾词的方式进行组合筛选,找出自己网站自然排名的长尾词组,写一篇对你的客户群体有用的一篇文章,在这篇文章里设置悬念,并把扩展关键词加入悬念中。

最后,把你独一无二的文章发布到自己的网站,再发布到几个流量大些的网站。这个方法的关键之处就是在文章中不要给出你这个词的地址或出处

7、总结

大多数刷下拉框的工具都是按照模拟用户搜索行为做到的,修改每次搜索结果的参数,欺骗搜索引擎。但是还需要做好自身网站的建设,没有一个好的网站作支撑,即使能够引流,最终也会白白流失掉。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/tougao/11169418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存