使用jQuery+json+servlet动态取后台的list集合的数据。
需要引入json相关的jar包(见附件)
项目结构见附件图
后台servlet:
package com.cxl.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import com.cxl.model.User; public class UserServlet extends HttpServlet { /** * */ private static final long serialVersionUID = 1L; public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); //禁用缓存,确保网页信息是最新数据 response.setHeader("Pragma","No-cache"); response.setHeader("Cache-Control","no-cache"); response.setDateHeader("Expires", -10); PrintWriter out = response.getWriter(); System.out.println(System.currentTimeMillis()); List<User> users = new ArrayList<User>(); User user = new User(); user.setUsername("cxl"); user.setPassword("123"); User u = new User(); u.setUsername("lhl"); u.setPassword("1234"); users.add(user); users.add(u); //List转json数组格式 JSONArray jsonArray = JSONArray.fromObject(users); System.out.println(jsonArray.toString()); /* 打印结果为:[{"password":"123","username":"cxl"} ,{"password":"1234","username":"lhl"}] */ out.print(jsonArray.toString()); /* 用json对象格式返回数据 JSONObject jsonObj = new JSONObject(); jsonObj.put("users", users); System.out.println(jsonObj); 打印结果:{"users":[{"password":"1234","username":"cxl"} ,{"password":"1234","username":"lhl"}]} out.print(jsonObj); */ out.flush(); out.close(); } }
在web.xml中配相应的映射
web.xml:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <servlet> <description>This is the description of my J2EE component</description> <display-name>This is the display name of my J2EE component</display-name> <servlet-name>UserServlet</servlet-name> <servlet-class>com.cxl.servlet.UserServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UserServlet</servlet-name> <url-pattern>/servlet/UserServlet</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
js文件:
//jQuery(function{})或$(document).ready(function(){})或$(function(){}); jQuery(function() { setTimeout(getUserInfo,0);//执行getUserInfo函数一次 function getUserInfo() { $.post("http://localhost:8080/jQueryDemo/servlet/UserServlet",null, function call(data){ var str = ""; str = "<table><tr><th>用户名</th><th>密码</th></tr>"; //循环遍历json数组格式的数据 $.each(data, function(index, item) { str += "<tr><td>" + item.username + "</td><td>" + item.password + "</td></tr>"; }); /* 循环遍历json对象格式的数据 $.each(data.users, function(index, item) { str += "<tr><td>" + item.username + "</td><td>“ + item.password + "</td></tr>"; }); */ str += "</table>"; //把数据展现在jsp页面上 $("#userInfo").html(str); },"json"); }; //动态取后台数据 setInterval(getUserInfo, 10000);//每隔10秒钟执行一次getUserInfo函数 });
show.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 PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>My JSP 'index.jsp' starting page</title> <meta http-equiv="pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="0"> <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"> <meta http-equiv="description" content="This is my page"> <!-- <link rel="stylesheet" type="text/css" href="styles.css"> --> <script type="text/javascript" src="<%=request.getContextPath() %>/js/jquery-1.7.min.js"></script> <script type="text/javascript" src="<%=request.getContextPath() %>/js/userInfo.js"></script> </head> <body> <center> <h2>用户信息</h2> <div id="userInfo"></div> </center> </body> </html>
相关推荐
jquery下的ajax向后台servlet传输数据并从后台获得数据源码实例且有详细注释
News:新闻发布系统,新闻后台管理BootStrap + Jsp + Servlet + Jdbc + Mysql + Jquery + Ajax
前台使用简单的jquery技术,后台采用servlet,使用json方式进行数据的传输
从后台取出json数据,然后以table的形式展出。包含序号,名字,年龄。如1,张三,22。一共两行数据。
1.前端创建HTTPXMLRequest对象及实现步骤,后台用jsp的servlet处理数据; 2.封装HTTPXMLRequest对象,实现通用的ajax技术; 3.利用ajax技术实现登录功能; 4.利用ajax技术,返回xml格式数据并处理,实战案例是实现...
后台架构:servlet+json 前台技术:JavaScript+jQUery+Ajax+CSS+HTML 3、开发环境 系统环境:Windows 10 JDK版本:JDK 1.8 服务器:Tomcat 9.0 开发工具:idea 采用技术:servlet 前后端数据的传输采用json方式 数据...
项目描述 jsp+servlet开发的景点旅游网站 运行环境 ...2.前台和后台都是html模板,然后通过jquery ajax获取数据渲染,没有jsp技术 3.前台大部分页面是静态的模板内容,有交互的比如留言是ajax写入数据
1.纯servlet+jquery局部刷新; 2.fresh 后台包含 json内容,需要json相关jar包,自行下载,不需要的可以删除; 3.有页面点击事件,初学者可以研究下; 4.QQ569317668 不喜勿喷 servlet局部刷新及json字符串 相互学习...
基于java+servlet,mysql实现web系统,适合应用于毕业设计,课程设计作业,系统均完全测试通过,可直接运行! 基于java+servlet,mysql实现web系统,适合应用于毕业设计,课程设计作业,系统均完全测试通过,可直接...
用jquery中的.getjson()技术和.ajax技术实现从后台中的mysql数据在前台显示,能够直接在myeclipse运行。
使用jQuery发送异步请求给Servlet,Servlet仍然使用JSP渲染结果,最后由JSP返回html给客户端页面,客户端页面通过jQuery直接把数据显示在页面上。这样就可以在JSP页面上继续使用类似JSTL的标签库来完成数据的显示。
由html、css、jsp、JavaScript、jQuery、servlet、Ajax、JSON、JDBC、JSTL、EL等技术实现。 页面的展示:HTML、CSS、JSP 页面的效果:JavaScript、jquery、JSTL、EL 与数据库交互:JDBC 与客户端交互:...
通过后台产生数据显示treegrid实例,前台采用jquery easyui, 后台采用简单servlet, 通过封装成的对象转换成json数据与前台交互,已加入相关包,ECLIPSE导入即可以运行。
前端通过jQuery Ajax传输json到后端,后端接收json,对json进行处理,后端返回一个json给前端 这里使用servlet的方式 1、采用$.post方法 index.jsp页面 <!DOCTYPE ...
验证码工具类可以返回验证码图片和验证码内容,数据库连接工具类可以返回一个数据库连接和关闭数据库连接的方法,还有一个工具类借助gson将request的数据转换为json串; Dao层都是单表的CURD,没有复杂的业务所以也...
2.4 前台请求数据流程调用Jquery函数刷新页面,以post的形式想后台servlet请求数据 2.5 后台发送json格式2.6 前台展示2.6.1 入店
实现的技术有JSP、Servlet、JQuery EasyUI(JSON、AJAX),前端显示:HTML+CSS+JQuery实现用户界面,HTML+CSS实现页面风格,JQuery EasyUI内部集成Ajax实现页面数据异步加载 。后台处理:Servlet实现业务处理,...
因为核心代码主要在前端jquery,为了简便,后台就用servlet遍历本地磁盘目录文件的形式模拟响应的数据。 本项目的目录结构: 本项目的本地遍历文件夹结构: 处理显示请求的servlet: package com.cn.action; ...
由html、css、jsp、JavaScript、jQuery、servlet、Ajax、JSON、JDBC、JSTL、EL等技术实现。 页面的展示:HTML、CSS、JSP 页面的效果:JavaScript、jquery、JSTL、EL 与数据库交互:JDBC 与客户端交互:Servlet、...