全国统一服务热线:400-633-9193

使用JSON格式提交数据到服务端的实例代码

    网络     2018-05-04    1846

准备Hero.java

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

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用来接收数据

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

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

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

<?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格式提交数据到服务端的实例代码,希望对大家有所帮助


  分享到:  
0.2186s