這次帶給大家使用JSON傳送資料到服務端,的注意事項有哪些,以下就是實戰案例,一起來看一下。
準備Hero.java
public class Hero { private String name; private int hp; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getHp() { return hp; } public void setHp(int hp) { this.hp = hp; } @Override public String toString() { return "Hero [name=" + name + ", hp=" + hp + "]"; } } public class Hero { private String name; private int hp; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getHp() { return hp; } public void setHp(int hp) { this.hp = hp; } @Override public String toString() { return "Hero [name=" + name + ", hp=" + hp + "]"; } }submit.html文件 [html] view plain copy print?<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用AJAX以JSON方式提交数据</title> <script type="text/javascript" src="jquery.min.js"></script> </head> <body> <form > 名称:<input type="text" id="name"/><br/> 血量:<input type="text" id="hp"/><br/> <input type="button" value="提交" id="sender"> </form> <p id="messagep"></p> <script> $('#sender').click(function(){ var name=document.getElementById('name').value; var hp=document.getElementById('hp').value; var hero={"name":name,"hp":hp}; var url="submitServlet"; $.post( url, {"data":JSON.stringify(hero)}, function(data) { alert("提交成功,请在Tomcat控制台查看服务端接收到的数据"); }); }); </script> </body> </body> </html> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>用AJAX以JSON方式提交数据</title> <script type="text/javascript" src="jquery.min.js"></script> </head> <body> <form > 名称:<input type="text" id="name"/><br/> 血量:<input type="text" id="hp"/><br/> <input type="button" value="提交" id="sender"> </form> <p id="messagep"></p> <script> $('#sender').click(function(){ var name=document.getElementById('name').value; var hp=document.getElementById('hp').value; var hero={"name":name,"hp":hp}; var url="submitServlet"; $.post( url, {"data":JSON.stringify(hero)}, function(data) { alert("提交成功,请在Tomcat控制台查看服务端接收到的数据"); }); }); </script> </body> </body> </html>
JSON.stringify函數的作用是將一個javascript對象,轉換為JSON格式的字串。
準備SubmitServlet用來接收資料
import java.io.IOException; 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 SubmitServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String data =request.getParameter("data"); System.out.println("服务端接收到的数据是:" +data); JSONObject json=JSONObject.fromObject(data); System.out.println("转换为JSON对象之后是:"+ json); Hero hero = (Hero)JSONObject.toBean(json,Hero.class); System.out.println("转换为Hero对象之后是:"+hero); } } import java.io.IOException; 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 SubmitServlet extends HttpServlet { protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String data =request.getParameter("data"); System.out.println("服务端接收到的数据是:" +data); JSONObject json=JSONObject.fromObject(data); System.out.println("转换为JSON对象之后是:"+ json); Hero hero = (Hero)JSONObject.toBean(json,Hero.class); System.out.println("转换为Hero对象之后是:"+hero); } }
1. 取得瀏覽器提交的字串
2. 把字串轉換成JSON物件
#3 . 把JSON物件轉換為Hero物件
最後設定web.xml
<?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>SubmitServlet</servlet-name> <servlet-class>SubmitServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SubmitServlet</servlet-name> <url-pattern>/submitServlet</url-pattern> </servlet-mapping> </web-app> <?xml version="1.0" encoding="UTF-8"?> <web-app> <servlet> <servlet-name>SubmitServlet</servlet-name> <servlet-class>SubmitServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>SubmitServlet</servlet-name> <url-pattern>/submitServlet</url-pattern> </servlet-mapping>
啟動tomcat存取http://127.0.0.1:8080/專案名稱/submit .html
在tomcat控制台看到傳來的資料
我相信看了這篇文章案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
推薦閱讀:
以上是使用JSON傳輸資料到服務端的詳細內容。更多資訊請關注PHP中文網其他相關文章!