当前位置: 首页 > news >正文

网站引导页下载网站积分规则设计

网站引导页下载,网站积分规则设计,h5做商城网站,可信网站必须做吗谈到JSON,简单的说就是一种数据交换格式。近年来#xff0c;其在服务器之间交换数据的应用越来越广#xff0c;相比XML其格式更简单、编解码更容易、扩展性更好#xff0c;所以深受开发人员的喜爱。 下面简单的写一下在项目中前后台json传值的一个小例子#xff0c;供大家参…   谈到JSON,简单的说就是一种数据交换格式。近年来其在服务器之间交换数据的应用越来越广相比XML其格式更简单、编解码更容易、扩展性更好所以深受开发人员的喜爱。    下面简单的写一下在项目中前后台json传值的一个小例子供大家参考、查阅。 一前台传后台 1.前台jsp页面代码      在index中将实体对象自己创建即可插入list中再将list集合转化成json数组利用post方式发送AJAX请求将这个json数组发送至后台servlet再在后台进行解析即可。 index.jsp % page languagejava importjava.util.Date,com.badminton.utils.JsonDateValueProcessor,java.text.SimpleDateFormat,java.util.List,net.sf.json.JSONArray,net.sf.json.JSONObject,net.sf.json.JsonConfig,java.util.ArrayList,com.badminton.entity.Athlete,net.sf.json.JSONObject pageEncodingutf-8% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN html head titleMy first json page/title %SimpleDateFormat format1 new SimpleDateFormat(yyyy-MM-dd);Athlete athlete1 new Athlete();athlete1.setAthlete_id(1003);athlete1.setAthlete_name(林丹);athlete1.setAthlete_sex(男);Date athlete_age1 format1.parse(1983-10-14);//是java.util.dateathlete1.setAthlete_age(athlete_age1);athlete1.setCoach_id(101);athlete1.setEvent_id(1);athlete1.setService_status(1);athlete1.setExperience(2013年第12届全运会男单冠军。);Athlete athlete2 new Athlete();//记录2athlete2.setAthlete_id(1004);athlete2.setAthlete_name(鲍春来);athlete2.setAthlete_sex(男);Date athlete_age2 format1.parse(1988-10-14);athlete2.setAthlete_age(athlete_age2);athlete2.setCoach_id(101);athlete2.setEvent_id(1);athlete2.setService_status(1);athlete2.setExperience(2011年亚洲羽毛球锦标赛亚军。);ListAthlete list1 new ArrayListAthlete();list1.add(athlete1);list1.add(athlete2); JsonConfig jsonConfig new JsonConfig();//解决date类型的传输问题jsonConfig.registerJsonValueProcessor(Date.class , new JsonDateValueProcessor());JSONArray jsonarray JSONArray.fromObject(list1, jsonConfig); % script typetext/javascript srcjs/json2.js/script script typetext/javascriptvar xmlHttp;function createXmlHttpRequest() {if (window.ActiveXObject) {xmlHttp new ActiveXObject(Microsoft.XMLHTTP);} else if (window.XMLHttpRequest) {xmlHttp new XMLHttpRequest();}}//回调function handleStateChange() {if (xmlHttp.readyState 4) {if (xmlHttp.status 200) {parseResults();}}}//将后台返回的数据显示在层serverResponse中function parseResults() {var resultxmlHttp.responseXML.getElementsByTagName(result)[0].firstChild.data;alert(result);}function doJSON() {var athletehead{athlete_id:1,tablename:athlete};var myobjeval(athletehead); var str1JSON.stringify(myobj);//str1以后可用来识别数据库中的表var str2%jsonarray%;var url http://localhost:8080/com.badminton.servlet/JsonServer;createXmlHttpRequest();xmlHttp.open(POST, url, true);xmlHttp.onreadystatechange handleStateChange;//回调xmlHttp.setRequestHeader(Content-Type,application/x-www-form-urlencoded;text/xml;charsetutf-8); //text/xml;charsetutf-8解决汉字封装json问题xmlHttp.send(athleteheadstr1athletestr2);//传送了两个对象} /script /head body form idform1 tabletrtd aligncenterinput typebutton namesubmit value提交 onClickdoJSON()/td/tr /table /form /body /html    后台接受前台传来的json对象解析插入数据库中且反给前台一个是否成功的消息。具体插入数据库的代码自己编写一个即可。 JsonServer.java package com.badminton.servlet; import java.io.IOException; import java.io.PrintWriter; import java.sql.Date; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.badminton.app.AthleteAction; import net.sf.json.JSONObject; import net.sf.json.JSONArray; public class JsonServer extends HttpServlet {public JsonServer() {super();}public void destroy() {super.destroy();}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/xml);response.setHeader(Cache-Control, no-cache);response.setCharacterEncoding(UTF-8);PrintWriter out response.getWriter();AthleteAction athleteactionnew AthleteAction();try {String json1 request.getParameter(athletehead);//接收athlete表的头数据String json2 request.getParameter(athlete);//接收athlete表数据json1 java.net.URLDecoder.decode(json1,UTF-8);json2 java.net.URLDecoder.decode(json2, UTF-8);if ((json1 ! ) (json2 ! )) {//System.out.println(json1:json1);JSONObject jsonObject1 JSONObject.fromObject(json1);//生成json对象JSONArray jsonArray2 JSONArray.fromObject(json2);//生成JSON数组for(int i0;ijsonArray2.size();i){JSONObject resultObj jsonArray2.optJSONObject(i);//根据JSONArray生成JSONObjectint athlete_idresultObj.getInt(athlete_id);String athlete_nameresultObj.getString(athlete_name);String athlete_sexresultObj.getString(athlete_sex);String ageresultObj.getString(athlete_age);Date athlete_age Date.valueOf(age);//转换成java.sql.Date//System.out.println(athlete_age);int coach_idresultObj.getInt(coach_id);int event_idresultObj.getInt(event_id);System.out.println(athlete_name);String service_statusresultObj.getString(service_status);String experienceresultObj.getString(experience);athleteaction.athleteAdd(athlete_id,athlete_name,athlete_sex,athlete_age,coach_id,event_id,service_status,experience);//对数据库进行操作具体代码未附}String result 数据上传成功;out.println(response);out.println(result result /result);out.println(/response);out.close();} else{String result 传输过程出错请重传;out.println(response);out.println(result result /result);out.println(/response);out.close();}} catch (Exception e) {System.out.println(JsonServer doPost(HttpServletRequest request, HttpServletResponse response) 报错 e.getMessage());}}public void init() throws ServletException {}} 3.解决传递日期的一个工具类      若没有这个工具类date型数据会被转化成json数组的格式后台解析起来会很复杂。 JsonDateValueProcessor.java package com.badminton.utils; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; import net.sf.json.JsonConfig; import net.sf.json.processors.JsonValueProcessor; public class JsonDateValueProcessor implements JsonValueProcessor{/*** datePattern*/private String datePattern yyyy-MM-dd;/*** JsonDateValueProcessor*/public JsonDateValueProcessor() {super();}/*** param format*/public JsonDateValueProcessor(String format) {super();this.datePattern format;}/*** param value* param jsonConfig* return Object*/public Object processArrayValue(Object value, JsonConfig jsonConfig) {return process(value);}/*** param key* param value* param jsonConfig* return Object*/public Object processObjectValue(String key, Object value,JsonConfig jsonConfig) {return process(value);}/*** process* param value* return*/private Object process(Object value) {try {if (value instanceof Date) {SimpleDateFormat sdf new SimpleDateFormat(datePattern,Locale.UK);return sdf.format((Date) value);}return value null ? : value.toString();} catch (Exception e) {return ;}}/*** return the datePattern*/public String getDatePattern() {return datePattern;}/*** param pDatePattern the datePattern to set*/public void setDatePattern(String pDatePattern) {datePattern pDatePattern;} } 二后台传前台    后台以list和map两种形式封装json前台注意json数组和json对象解析时的差别即可。 1.TestJson.java package com.badminton.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; 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; public class TestJson extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {doPost(request,response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {response.setContentType(text/html);String str request.getParameter(name);//得到ajax传递过来的paramaterSystem.out.println(str);PrintWriter out response.getWriter();List list new ArrayList();//传递List//Map mnew HashMap();//传递Map User u1new User();u1.setUsername(zah);u1.setPassword(123);User u2new User(); u2.setUsername(ztf);u2.setPassword(456);list.add(u1); //添加User对象 list.add(u2); //添加User对象//m.put(u1, u1);//m.put(u2, u2); JSONArray jsonArray2 JSONArray.fromObject( list );//转化成json对象//JSONObject joJSONObject.fromObject(m);//转化Map对象out.print(jsonArray2);//返给ajax请求System.out.println(jsonArray2);//out.print(jo);//返给ajax请求 } } 2.showjson.jsp     利用Jquery、AJAX异步传输的方式接受后台的发送请求。 % page languagejava importjava.util.* pageEncodingutf-8% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN htmlhead script typetext/javascript srcjs/jquery-1.4.2.min.js/script script typetext/javascriptfunction test(){$.ajax({type:POST, //请求方式url:servlet/TestJson,//请求路径cache: false, data:namezah, /传参dataType: json,//返回值类型success:function(json){ alert(json[1].username json[1].password);//弹出返回过来的List对象}});} /script/headbodyinput typebutton nameb value测试/body /html
http://www.zqtcl.cn/news/85789/

相关文章:

  • 长武网站建设有专门做网站的公司
  • 最简单的做网站工具环保网站设计价格
  • 外贸网站建设公司方案wordpress百度云伪静态
  • 湖州建设局新网站网站还在建设中英文
  • 做心理咨询的网站股票配资系统网站开发
  • 怎样直接输入网址打开网站常见的网站名称有哪些
  • 中国航空集团建设开发有限公司网站只做衬衣网站
  • 佛山做网站格寻求南宁网站建设人员
  • 基于h5的移动网站开发郑州大学现代远程教育 《网页设计与网站建设》个人主页
  • 海晏网站建设公司微信公众营销平台开发
  • 怎样做农村电商网站沈阳网站建设搭建
  • 浙江住房和城乡建设部网站西安企业网站设计制作
  • wordpress地方门户企业seo多少费用
  • 企业如何利用互联网开展营销安卓优化大师app下载
  • 凡科建站源码网站seo综合查询
  • 百度爱采购推广效果怎么样?丰台网站建设推广seo
  • 阿里云做网站经费怎么做微信上的网站
  • 网站页面设计网页说明杭州网站推广技巧
  • 民治做网站公司文字转图片生成器在线
  • 装修行业网站建设成都网站建设有哪些
  • 邳州做网站免费移动版wordpress
  • 辽宁省建设工程信息网官网新网站入口域名一个注册要多久
  • 华为官方网站进入公司网站建设需要咨询什么问题
  • 企业网站seo外包百度推广一个月多少钱
  • 鄂州市网站wordpress好看的背景图片
  • 热点新闻事件100字seoheuni
  • 医药行业网站建设WordPress论坛案例
  • 工信部网站黑名单查询网站流量分布
  • 自己做的网站买域名多少钱网站怎么做必须交钱吗
  • 绵阳市建设工程信息网站眉山营销型网站建设