准备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> <div id=\"messageDiv\"></div> <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> <div id=\"messageDiv\"></div> <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>
</web-app>启动tomcat访问http://127.0.0.1:8080/项目名/submit.html
在tomcat控制台看到传来的数据
以上所述是小编给大家介绍的使用JSON格式提交数据到服务端的实例代码,希望对大家有所帮助,如果大家有任何疑问花园给我留言,小编会及时回复大家的!
© 版权声明
THE END
暂无评论内容