JSON

java:(json,ajax,path)

字号+ 作者:H5之家 来源:H5之家 2017-07-31 17:02 我要评论( )

java:(json,ajax,path)

1.json:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "http://www.itdadao.com/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://www.cnblogs.com/kuangzhisen/p/"> <title>My JSP 'index.jsp' starting page</title> <script type="text/javascript"> // JSON: javascript object notation(js的对象诠释) // JSON也是一个对象,首先json对象需要被{}包裹,里面的内容键值对对应(key : value),键值对和键值对用逗号(,)隔开,最后一个键值对一定不能加逗号(,) var testJson = { name : "zhangsan", age : 31, sex : "male" } var testJson2 = '{"name" : "zhangsan", "age" : 31, "sex" : "female"}'; // json格式的字符串 function testFunction() { var jsons = testJson; var jsons2 = testJson2; alert(jsons); alert(jsons2); alert(jsons.name); //json也可以通过key来取value Map转json json转Map //例1: 把json格式的字符串转换为json对象 // 方法一:eval(); /* eval("var test = "+testJson2); alert(test); alert(test.age); */ // 方法二:parse(); alert(JSON.parse(testJson2)); //如果使用JSON.parse()函数,就必须把单引号写在最外面'{"name" : "zhangsan", "age" : 31, "sex" : "female"}',因为parse()函数遵循json格式,json默认不支持单引号 //例2:把json对象转换为json格式的字符串 // JSON.stringify()函数可以把json对象转换为json格式的字符串 alert(JSON.stringify(testJson2)); } </script> </head> <body> <input type="button" value="http://www.cnblogs.com/kuangzhisen/p/触发" /> </body> </html>

2.ajax:  

  又称为局部刷新
  Asynchronous Javascript And XML(异步的js和xml文档)
  是一种新的交互式技术
  一般用处:分页,三级联动...

 

  login:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "http://www.itdadao.com/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="http://www.cnblogs.com/kuangzhisen/p/"> <title>My JSP 'login.jsp' starting page</title> <script type="text/javascript" src="http://www.cnblogs.com/kuangzhisen/p/js/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(function() { $("#uname").on("blur", function() { var username = $("#uname").val(); if (username != null && username != "") { // 获取到了用户输入的username的值 // 以get的请求方式发送(我乐意!) /* $.get("user.sxt", "type=checkUsername&username=" + username, function(data) { // 服务器端返回的数据 // data是形式参数,接收的是服务器端(servlet)返回回来的数据 }); */ // 以post的请求方式发送 /* $.post("user.sxt", "type=checkUsername2&username="+username, function(data){ }); */ // 无论用post还是get /** $.post/get("请求的地址(url)", "需要传递的参数", function(data){ // 服务器端向客户端响应的数据(json) }); */ // 究极版本的ajax // ajax的终极版本,同样遵循json的格式,key : value为一个整体,每个key和value用:隔开,每一个键值对之间用逗号隔开,最后一个键值对不能有逗号 /* $.ajax({ async : true, //(是否异步,默认为true) data : {"type":"checkUsername", "username" : username}, // 客户端向服务器端发送的数据,类型为object method : "get", // 请求方式(get/post) //type和method是一样的,都是选择请求的方式,在jQuery1.9版本之前用type,之后用method url : "user.sxt", // 客户端向服务器端发送数据的地址--->请求地址 success : function(data) { // 当成功响应以后,接收到的数据-->服务器端向客户端响应的数据 alert(data);// data服务器端向客户端响应的数据 } }); */ // function(data)只能接收字符串 /* $.get("user.sxt", "type=checkUsername&username=" + username, function(data) { // 服务器端返回的数据 // data是形式参数,接收的是服务器端(servlet)返回回来的数据 alert(data); }); */ // function(data)只能接收json对象 $.getJSON("user.sxt", "type=checkUsername&username=" + username, function(data){ alert(data.username); }); } }); }); </script> </head> <body> 用户名: <input type="text" /> </body> </html>

  

  UserServlet:

package cn.zzsxt.lee.web.servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.google.gson.Gson; import cn.zzsxt.lee.web.entity.User; @WebServlet("/user.sxt") public class UserServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); response.setCharacterEncoding("UTF-8"); response.setContentType("text/html;charset=UTF-8"); String method = request.getMethod().toLowerCase(); System.out.println(method); String type = request.getParameter("type"); if ("get".equals(method) && "checkUsername".equals(type)) { checkUsername(request, response); } else if("post".equals(method) && "checkUsername2".equals(type)) { checkUsername2(request, response); } } private void checkUsername2(HttpServletRequest request, HttpServletResponse response) { String username = request.getParameter("username"); System.out.println("------------------------------"+username); // 从数据库中查询是否存在zhangsan这个用户名 } private void checkUsername(HttpServletRequest request, HttpServletResponse response) throws IOException { String username = request.getParameter("username"); System.out.println("------------------------------"+username); // 从数据库中查询是否存在zhangsan这个用户名 User user = new User(); user.setUsername(username); //response.getWriter().print(username+":天青色等烟雨,而我在等你");// 服务器向客户端响应的数据 // 把user对象拆开,拼成一个json格式的字符串 Gson gson = new Gson(); String json = gson.toJson(user); response.getWriter().print(json); // response.getWriter().print(new Gson().toJson(user)); } }

3.path:

  UserServlet:

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Json字符串转Java Bean

    Json字符串转Java Bean

    2017-07-31 16:03

  • java接口接受json

    java接口接受json

    2017-07-31 11:06

  • Java操作JSON入门教程

    Java操作JSON入门教程

    2017-07-31 08:03

  • json学习6——Java读写json格式的文件方法详解

    json学习6——Java读写json格式的文件方法详解

    2017-07-30 18:00

网友点评