Ajax(6) Ajax向servlet请求数据库操作 并显示到当前页面 这个未经测试
假设:
1、你的页面在Web-Root下,内容为: <div id="showMsg"></div><input type="text" id="userName" />,所用编码为utf-8
2、你的servlet为: HelloWorldServlet.java 映射路径为 servlet/helloWorldServlet
步骤:
1、引入jquery-1.6.4.min.js
2、编写id为userName的输入框的点击触发函数:
$("#userName").keyup(function(){
$.ajax({
type: "post",
url: "servlet/helloWorldServlet?userName="+$(this).val(),
dataType: "json",
success: function(data){
$("#showMsg").html(data.msg);//修改id为showMsg标签的html
}, error: function(){
alert("请求出错");
}
})
})
3、后台处理接收到的内容:
request.setCharactorEncoding("utf-8");
String userName = request.getParameter("userName");
response.setCharactorEncoding("utf-8");
PringWriter out = response.getWriter();
out.print("{\"msg\":\"你好~~"+userName+"!\"}"); 注意事项:
1、这里的编码统一为utf-8
2、请求路径servlet/helloWorldServlet为相对路径,因此你的页面必须在项目的Web-Root下(也就是默认的web文件夹下,名字可能因项目配置不同而改变)
3、没了,记得给分哦,打字很辛苦的~
servlet返回ajax请求数据
问题描述: 在前台(jsp)用ajax提交数据, 后台(servlet)处理后返回"1"或者"0". 可是前台获得的返回数据是长度为3的字符串, 即"1__"或"0__"(_表示一个空白字符).
环境: tomcat-7.0.29 + MySQL 5.5 + jquery 1.7
其他: 以为是UTF-8 + BOM的问题, 可是把所有文件都改为UTF-8了,问题依旧.
这是后台处理请求的Validate.java文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import java.io.*; import javax.servlet.*; import javax.servlet.http.*; import java.sql.*; public class Validate extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { String user_name = new String(request.getParameter( "userName" ).getBytes( "ISO-8859-1" ), "UTF-8" ); String user_pwd = new String(request.getParameter( "password" ).getBytes( "ISO-8859-1" ), "UTF-8" ); PrintWriter out = response.getWriter(); String driver = "com.mysql.jdbc.Driver" ; String dbUser = "root" ; String dbPwd = "3306" ; String db = "appbase" ; String url = "jdbc:mysql://localhost:3306/" + db + "?user=" + dbUser + "&password=" + dbPwd; ResultSet rs = null ; String sqlString = "select * from client where login_account='" + user_name + "' and password='" + user_pwd + "'" ; try { Class.forName(driver).newInstance(); Connection conn = DriverManager.getConnection(url); Statement ps = conn.createStatement(); rs = ps.executeQuery(sqlString); if (rs.next()) out.println( "1" ); else out.println( "0" ); } catch (ClassNotFoundException e) { out.println( "ClassNotFoundException" ); } catch (SQLException ex) { out.println( "SQLException" ); } catch (Exception exe) { out.println( "OtherException" ); } } } |
这是前台ajax提交数据的代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
$(document).ready( function () { $( "#_submit" ).click( function () { var user_name = $( "#_user_name" ).val(); var user_pwd = $( "#_user_pwd" ).val(); $.ajax({ url: "login/validate" , data: { userName: user_name, password: user_pwd }, type: "GET" , datatype: "html" , success: function (data){ alert(data.length); } }); }); }); |
Ajax(6) Ajax向servlet请求数据库操作 并显示到当前页面 这个未经测试的更多相关文章
- ajax前置处理实现异步请求session过期时跳转登录页面
第一篇博文,mark一下zhq[0]. 问题描述:用户页面,当session过期或都session注销后,普通页面后端都会有过滤器,session过期Redirect到登录页面,但是ajax请求后端只 ...
- ajax向php传参数对数据库操作
刚入门php,要求要对多用户进行批量删除(当然实际中是不可能的),在这就以此为例. 大意就是通过对数据库中用户查询,将用户信息显示在页面表格中,在进行多项选择后将所选行参数通过ajax传入后台php文 ...
- Oracle数据库操作总是显示运行中无法成功,删除表时报错 resource busy and acquire with NOWAIT specified
1.直接运行以下语句: select t2.username,t2.sid,t2.serial#,t2.logon_timefrom v$locked_object t1,v$session t2wh ...
- ajax调用WebService实现数据库操作
首先说下测试环境和思路: 前端收集数据转换成json格式传输到后端,处理并存入数据库 1.数据库操作: [WebMethod] public string InsertPoint(string dat ...
- ASP.NET实现二维码 ASP.Net上传文件 SQL基础语法 C# 动态创建数据库三(MySQL) Net Core 实现谷歌翻译ApI 免费版 C#发布和调试WebService ajax调用WebService实现数据库操作 C# 实体类转json数据过滤掉字段为null的字段
ASP.NET实现二维码 using System;using System.Collections.Generic;using System.Drawing;using System.Linq;us ...
- PHP学习笔记(15)PDO数据库操作+AJAX无刷新技术删除用户
pdo.php <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...
- 深入理解ajax系列第四篇——请求实例
前面的话 在使用ajax的过程中,常用的请求方式是GET和POST两种.本文将以实例的形式来详细说明这两种请求方式 GET GET是最常见的请求类型,最常用于向服务器查询某些信息.必要时,可以将查询字 ...
- 原生JS实现Ajax及Ajax的跨域请求
前 言 如今,从事前端方面的程序猿们,如果,不懂一些前后台的数据交互方面的知识的话,估计都不太好意思说自己是程序猿.当然,如今有着许多的框架,都有相对应的前后台数据交互的方法. ...
- {Django基础七之Ajax} 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解)
Django基础七之Ajax 本节目录 一 Ajax简介 二 Ajax使用 三 Ajax请求设置csrf_token 四 关于json 五 补充一个SweetAlert插件(了解) 一 Ajax简介 ...
随机推荐
- c++中的类(class)-----笔记(类继承)
1,派生类继承了基类的所有成员函数和数据成员(构造函数.析构函数和操作符重载函数外). 2,当不指明继承方式时,默认为私有继承. 3,基类的私有成员仅在基类中可见,在派生类中是不可见的.基类的私有成员 ...
- hbase备份数据与异地新建
hbase org.apache.hadoop.hbase.mapreduce.Driver export news /tmp/news1 备份news表至hdfs的/tmp目录下面. hadoop ...
- nginx 刷新显示404
HTML5 History 模式 vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载. 如果不想要很丑的 ...
- Error in building opencv with ffmpeg
I installed ffmpeg according to this article. ffmpeg installation was ok. Now I build opencv with ff ...
- c++面向行的输入getline()和get()
来源:c++ primer plus 在c++里当我们输入一个字符串时习惯用cin,但是cin只能读取一段不含空格的字符串,如果我们需要读取一段包含空格的字符串时,就需要用到getline()或get ...
- java中替换${xx}
import java.util.regex.Matcher; import java.util.regex.Pattern; public class replace { public static ...
- Codeforces Beta Round #74 (Div. 2 Only)
Codeforces Beta Round #74 (Div. 2 Only) http://codeforces.com/contest/90 A #include<iostream> ...
- TZOJ 3663 最长路径(floyd)
描述 网络是由很多交换机与网线组成的,网络中的信息可能会在这些网络中不断转发,给定任意两个交换机,我们需要从中找到最快的路径进行转发,我们定义转发过程中所经过的网线条数为两个交换机之间的路径长度.如果 ...
- 并行网络爬虫(C++实现)
step1 使用socket编程技术,利用http协议,抽取网页中的url,实现简单的爬虫. socket int socket (int domain, int type, int protocol ...
- 把leveldb嵌入到redis.实现真正的数据持久存储
目前最新版RedisStorage 是基于 redis 2.6.2基础上,加上 leveldb存储引擎. 这个项目是源于 公司项目的passport 用户认证改造.公司一个项目运行了N年.积累了几千万 ...