干货 ajax+HttpServlet+mysql 实现url 的请求 返回给页面JSOn数据

5 篇文章 0 订阅
5 篇文章 0 订阅

1.研究了2天 终于 用java 搭建好了 一个万能的 用url 直接返回给界面 局部请求

 下面就来说一下思路,开始的时候要弄好 json的数据转化,有很多就使用什么 ,如下图,对于我来说这种完全 玩不明白怎么回事?然后我就去用最本的方法自己 弄一个。你不要总是依赖于阿里巴巴,虽然阿里巴巴,很强大但是,我还是觉得自己做一个又能没有坏处,我命长。。。所以就出来

 

不说了看代码:直接复制就能用哦!

补充一下:<script src="js/jquery-1.10.2.js"></script>   好了 复制我代码 到项目Dosql 下吧,php什么的已经不重要了,注意自己的url 请求到项目上 一定要弄好,有些东西 是不能给用户看到的!

1.jsp部分

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE html>
<html>
  <head>
    <title>json数据</title>
	
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    
    <!--<link rel="stylesheet" type="text/css" href="./styles.css">-->

   <script src="js/jquery-1.10.2.js"></script>
  </head>
  
  <body>
	<input id="xuan" type="button" value="获取解析json数据">
    <table id="ta" cellspacing="0" border="1px solid" style="border-color:red;">
    	<tr>
			<td>name</td>
			<td>age</td>
    	</tr>
    	
    </table>
  </body>   

  <script>
	$(function(){
		$("#xuan").click(function(){
			$.ajax({
				//这个url根据你自己的环境去改一下就行了
				url:"http://127.0.0.1:8080/Dosql/alldata",
				data:"",
				Type:"get",
				dataType:"json",
				success:function(res){
					//组装第一个取出数据组装网页html标签元素
					var td1 = $("<td>"+res.name+"</td>")
					//组装第二个td
					var td2 = $("<td>"+res.age+"</td>")
					//组装tr
					var tr = $("<tr></tr>");
					//把td表格追加到tr的子元素后面
					$(tr).append(td1).append(td2);
					//追加到table子元素后面
					$("#ta").append(tr);
				},
				error:function(err){
					alert(err)
				}
			})
		})
	})
  </script>
  </html>
 

2.java.class部分

package servlet;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

import javax.servlet.Servlet;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class Controller extends HttpServlet {

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doPost(req, resp);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		// 允许所有的域都可以跨域访问
		resp.addHeader("Access-Control-Allow-Origin", "*");
		// 假设有数据
		Map<String, String> map = new HashMap<String, String>();
		// 这里制造两个数据
		map.put("name", "廖加金");
		map.put("age", "25岁");
		// 得到数量
		int count = map.size();
		// 计数
		int encount = 0;
		// 拼接json数据
		String json = "{";
		for (Entry<String, String> entry : map.entrySet()) {
			encount++;
			json += "\"" + entry.getKey() + "\":";
			if (encount == count) {
				json += "\"" + entry.getValue() + "\"";
				continue;
			}
			json += "\"" + entry.getValue() + "\",";
		}
		json += "}";
		// System.out.println(json);
		//设置返回的数据编码格式
		resp.setContentType("text/html;charset=UTF-8");
		// 返回json数据
		resp.getWriter().print(json);
	}

}

   

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

加金开发

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值