最近在学Json,在网上也找过一些资料,觉得有点乱,在这里,我以easy ui的登录界面为例来说一下怎样用Json实现前后台的数据交互

使用Json,首先需要导入一些jar包,这些资源可以在网上下载到,然后导入到项目中即可。

首先我先把代码贴出来,有些地方会着重说明一下:

客户端代码如下:

<%@page pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"> <script type="text/javascript" src="../jquery-easyui-1.3.5/jquery.min.js" charset="utf-8"></script>
<script type="text/javascript" src="../jquery-easyui-1.3.5/jquery.easyui.min.js" charset="utf-8"></script>
<link rel="stylesheet" href="../jquery-easyui-1.3.5/themes/default/easyui.css" type="text/css" ></link>
<link rel="stylesheet" href="../jquery-easyui-1.3.5/themes/icon.css" type="text/css" ></link>
<script type="text/javascript" src="../jquery-easyui-1.3.5/locale/easyui-lang-zh_CN.js" charset="utf-8"></script>
<script type="text/javascript" charset="utf-8">
var loginAndRegDialog;
$(function(){
loginAndRegDialog=$('#loginAndRegDialog').dialog({ closable:false, //隐藏关闭按钮
modal:true, //模式化窗口,只可单击最上层的窗口
buttons:[{text:'登录',
handler:function(){
$.ajax({
url:'../servlet/UserContro', //后台的路径,看具体情况定
                         data :{
name: $('#loginInputForm input[name=name]').val(),//传向服务器的数据
                               password:$('#loginInputForm input[name=password]').val()
},
dataType:'json',//接收的数据为json格式,这里还有其他方法,可以看我关于Json解析的那篇文章
success:function(data){ //Json为返回的Json对象,名字自己起
$.messager.alert('通知',data.msg);
},
error:function(){
$.messager.alert('通知',"错误");
}
}); }},{ //handler:按钮的点击事件
text:'注册',
handler:function(){ }}]
});
});
</script> </head> <body>
<div id="loginAndRegDialog" title="用户登录" style="width:250px;height:150px;">
<form id="loginInputForm" method="post">
<table>
<tr>
<th>用户名</th>
<td><input type="text" name="name"></td>
</tr>
<tr>
<th>密  码</th>
<td><input name="password" type="password"></td>
</tr>
</table> </form>
</div>
</body>
</html>

服务器端代码如下:

package thejavabean;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.SQLException; import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONObject; public class UserContro extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); //接收数据的编码格式
response.setCharacterEncoding("UTF-8"); //返回数据的编码格式为utf-8,防止客户端乱码
response.setContentType("text/json");
PrintWriter out = response.getWriter();
String name=request.getParameter("name");//接收数据
		String password=request.getParameter("password");
String msg="";
JSONObject jobj = new JSONObject();//把要传向客户端的数据转为Json字符串
                jobj.put("msg",login(name,password));
		response.getWriter().write(jobj.toString());//向客户端返回数据
out.flush();
out.close(); }
public String login(String name,String password){
User user=new User();
user.setName(name);
user.setPassword(password);
try {
if(user.login()!=null)
return "登录成功";
else
return "用户名或密码错误";
} catch (SQLException e) {
e.printStackTrace();
}
return null;
}
*/
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
} }

User 类

public class User {
private String name;
private String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
DBConnection dbc=new DBConnection();
//用户登录
public User login() throws SQLException{
Connection conn=null;
PreparedStatement ps=null;
ResultSet rs;
User user=null;
try{
conn=dbc.getConnection();
String sql="select * from [user] where name=? and password=?";
ps=conn.prepareStatement(sql);
ps.setString(1,name);
ps.setString(2,password);
rs=ps.executeQuery();
if(rs.next()){
user=new User();
user.setName(rs.getString("name"));
user.setPassword("password");
}
}finally{
ps.close();
conn.close();
}
return user;
}

简单封装的DB:

public class DBConnection {
private String user="sa";
private String password="aaaaaa";
private String url="jdbc:sqlserver://localhost:1433;DatabaseName=team";
private static String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
Connection conn;
PreparedStatement ps;
ResultSet rs; static{
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
System.out.println("驱动加载失败");
}
} public Connection getConnection() throws SQLException{
conn=DriverManager.getConnection(url,user,password);
return conn;
} }

玩转Web之Json(二)----jquery easy ui + Ajax +Json+SQL实现前后台数据交互的更多相关文章

  1. 玩转Web之Json(一)-----easy ui+ajax + json 中关于Json的解析问题

    在easy ui中使用Ajax+Json实现前后的数据交互时,当后台数据传输到客户端是需对Json数据进行解析,这里将对Json数据解析做简单总结. (一) 对于服务器返回的数据若没有做类型说明,需要 ...

  2. Jquery Easy UI Datagrid 上下移动批量保存数据

    DataGrid with 上下移动批量保存数据 通过前端变量保存修改数据集合,一次性提交后台执行 本想结合easyui 自带的$('#dg').datagrid('getChanges'); 方法来 ...

  3. JQuery Easy Ui dataGrid 数据表格 ---制作查询下拉菜单

    JQuery Easy Ui dataGrid 数据表格 数据表格 - DataGrid 继承$.fn.panel.defaults,使用$.fn.datagrid.defaults重载默认值.. 数 ...

  4. jQuery Easy UI 开发笔记

    1.jQuery Easy UI主要的运行原理是通过核心的代码调用插件来实现UI效果的 2.jQuery Easy UI插件与插件之间的关系是: 一.独立式插件: 独立式插件是指:不与其他的插件具有相 ...

  5. JQuery Easy Ui (Tree树)详解(转)

    第一讲:JQuery Easy Ui到底是什么呢? 首先咱们知道JQuery是对Java Script的封装,是一个js库,主要提供的功能是选择器,属性修改和事件绑定等等.. JQuery ui是在j ...

  6. 7个jquery easy ui 基本组件图解

    以下给出7个jquery easy ui 基本组件: 1 基本面板 <!DOCTYPE html> <html> <head> <meta charset=& ...

  7. JQuery Easy UI 简介

    [什么是JQuery Easy UI?] jQuery EasyUI 是一组基于 jQuery 的 UI 插件集合,而 jQuery EasyUI 的目标就是帮助Web 开发者更轻松的打造出功能丰富并 ...

  8. Jquery easy UI 上中下三栏布局 分类: ASP.NET 2015-02-06 09:19 368人阅读 评论(0) 收藏

    效果图: 源代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://w ...

  9. jQuery Easy UI (适应屏幕分辨率大小)布局(Layout)

    一.jQuery Easy UI (适应屏幕分辨率大小)布局(Layout) 1.首先应用的是jquery-easyui-1.4 版本(版本不同,兼容性不同) 2.实现整个页面的布局( layout: ...

随机推荐

  1. zoj2760(最大流)

    传送门:How Many Shortest Path 题意:给出n个点,和n*n的矩阵表示有向图.a[i][j]为-1表示i到j没有路径:不为-1则表示i到j的路径长度.给出一个vs和vt,要求vs到 ...

  2. Twitter僵尸帐号厂商雇佣中国员工专填验证码_Web2.0 - Microblogging 微博_cnBeta.COM

    Twitter僵尸帐号厂商雇佣中国员工专填验证码_Web2.0 - Microblogging 微博_cnBeta.COM Twitter僵尸帐号厂商雇佣中国员工专填验证码

  3. 只能从脚本中调用在类定义上有[ScriptService]属性的Web服务问题的解决方案

    ajax调用webservice中的接口时, 会出现[只能从脚本中调用在类定义上有[ScriptService]属性的...]的异常. 这是因为, 在.net3.5中, 访问web服务, 要对web服 ...

  4. jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互、特效、小部件及主题

    jQuery UI 是建立在 jQuery JavaScript 库上的一组用户界面交互.特效.小部件及主题.无论您是创建高度交互的 Web 应用程序还是仅仅向窗体控件添加一个日期选择器,jQuery ...

  5. C#的百度地图开发(三)依据坐标获取位置、商圈及周边信息

    原文:C#的百度地图开发(三)依据坐标获取位置.商圈及周边信息 我们得到了百度坐标,现在依据这一坐标来获取相应的信息.下面是相应的代码 public class BaiduMap { /// < ...

  6. 一 手游开发工具cocos2d-x editor初识

    可学习的demo: 7个实战项目 flappybird(飞扬小鸟).popstar(消灭星星).fruitninja(水果忍者).2048(数度消除). moonwarriors(月亮战神).frui ...

  7. CSDN开源夏令营 百度数据可视化实践 ECharts(8)问题分析

    ECharts问题描写叙述: 问题就是折线图上的点是显示的,有人问能不能一開始不显示,当你点击的时候或者是当鼠标移动到上面的时候,折线上的点才显示? 例如以下图所看到的: 分析:让折线上的点不显示能够 ...

  8. 王立平--Unity中间GUI Skin

    C#文字: public class NewBehaviourScript2 : MonoBehaviour { public Texture t; public GUISkin skin; // U ...

  9. HttpApplication处理对象与HttpModule处理模块

    HttpApplication处理对象与HttpModule处理模块 (第三篇) 一.HttpApplication对象简述 在HttpRuntime创建了HttpContext对象之后,HttpRu ...

  10. 在MyEclipse中编写Web Project,编码设置全集合

    1.window-->preference-->general-->content type 然后在<Content Types>中展开每一颗子项,并在<Defau ...