获得json数据
[{"rate":"7.5","cover_x":2500,"title":"数码宝贝:最后的进化","url":"https:\/\/movie.douban.com\/subject\/30482645\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2623955494.webp","id":"30482645","cover_y":3667,"is_new":false},{"rate":"7.6","cover_x":2000,"title":"八佰","url":"https:\/\/movie.douban.com\/subject\/26754233\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2615992304.webp","id":"26754233","cover_y":2800,"is_new":false}]
在java后台接收到json数据,转化为java对象
tomcat部署fastjson和mysql驱动
创建一个jdbc工具类
package jdbc;
import java.io.PrintWriter;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.mysql.jdbc.Connection;
import com.mysql.jdbc.Statement;
public class jdbc {
public Connection getConection() throws Exception{
//这是我自己的mysq设置
String url = "jdbc:mysql://localhost:3307/test?useUnicode=true&characterEncoding=utf8";
String user = "root";
String password = "ROOT";
String driverName = "com.mysql.jdbc.Driver";
try {
Class.forName(driverName);
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Connection con = (Connection) DriverManager.getConnection(url, user, password);
return con;
}
public void close(Connection con,PreparedStatement ps){
try {
ps.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void update(String sql,Object ... arg) throws Exception{
Connection con = this.getConection();
PreparedStatement ps = con.prepareStatement(sql);
for(int i=0;i<arg.length;i++){
ps.setString(i+1, (String) arg[i]);
}
ps.executeUpdate();
this.close(con, ps);
}
public void listAll(HttpServletResponse response,String sql,Object ... arg) throws Exception{
PrintWriter out = response.getWriter();
Connection con = this.getConection();
PreparedStatement ps = con.prepareStatement(sql);
for(int i=0;i<arg.length;i++){
ps.setString(i+1, (String) arg[i]);
}
JSONArray jsonarray = new JSONArray();
ResultSet result = ps.executeQuery();
while (result.next()) {
JSONObject jsonobj = new JSONObject();
System.out.print(result.getInt(1)+result.getString(2)+result.getString(3)+result.getString(4)+result.getString(5));
jsonobj.put("id", result.getInt(1));
jsonobj.put("name", result.getString(2));
jsonobj.put("password", result.getString(3));
jsonobj.put("sex", result.getString(4));
jsonobj.put("bir", result.getString(5));
System.out.println();
jsonarray.add(jsonobj);
}
out.print(jsonarray);
ps.close();
con.close();
}
}
创建一个servlet
package webservlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;
import com.sun.xml.internal.bind.CycleRecoverable.Context;
import java.util.*;
import JesonTest.MovieBean;
import jdbc.jdbc;
/**
* Servlet implementation class servlet
*/
@WebServlet("/register/servlet")
public class servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public servlet() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doPost(request,response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setHeader("Access-Control-Allow-Origin", "*");
response.setContentType("text/json; charset=utf-8");
String movie = request.getParameter("movie");
System.out.println(movie);
List<MovieBean> list = (List) JSON.parseArray(movie, MovieBean.class);
System.out.println(list);
jdbc jd = new jdbc();
String sql = "insert into movie(id,rate,title,url,cover) values(?,?,?,?,?)";
for(int i = 1; i < list.size(); i++){
try {
jd.update(sql,String.valueOf(list.get(i).id),String.valueOf(list.get(i).rate),list.get(i).title,list.get(i).url,list.get(i).cover);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
创建一个javabean类
package JesonTest;
import java.io.Serializable;
public class MovieBean implements Serializable {
//{"rate":"7.5","cover_x":2500,"title":"数码宝贝:最后的进化",
//"url":"https:\/\/movie.douban.com\/subject\/30482645\/","playable":false,
//"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2623955494.webp","id":"30482645","cover_y":3667,"is_new":false}
public double rate;
public int cover_x;
public String title;
public String url;
public boolean playable;
public String cover;
public int id;
public int cover_y;
public boolean is_new;
public MovieBean() {
super();
}
public MovieBean(double rate, int cover_x, String title, String url, boolean playable, String cover, int id,
int cover_y, boolean is_new) {
super();
this.rate = rate;
this.cover_x = cover_x;
this.title = title;
this.url = url;
this.playable = playable;
this.cover = cover;
this.id = id;
this.cover_y = cover_y;
this.is_new = is_new;
}
public double getRate() {
return rate;
}
public void setRate(double rate) {
this.rate = rate;
}
public int getCover_x() {
return cover_x;
}
public void setCover_x(int cover_x) {
this.cover_x = cover_x;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getUrl() {
return url;
}
public void setUrl(String url) {
this.url = url;
}
public boolean isPlayable() {
return playable;
}
public void setPlayable(boolean playable) {
this.playable = playable;
}
public String getCover() {
return cover;
}
public void setCover(String cover) {
this.cover = cover;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getCover_y() {
return cover_y;
}
public void setCover_y(int cover_y) {
this.cover_y = cover_y;
}
public boolean isIs_new() {
return is_new;
}
public void setIs_new(boolean is_new) {
this.is_new = is_new;
}
@Override
public String toString() {
return "MovieBean [rate=" + rate + ", cover_x=" + cover_x + ", title=" + title + ", url=" + url + ", playable="
+ playable + ", cover=" + cover + ", id=" + id + ", cover_y=" + cover_y + ", is_new=" + is_new + "]";
}
}
mysq建表
html网页请求发送数据
<script>
var mov = [{"rate":"7.5","cover_x":2500,"title":"数码宝贝:最后的进化","url":"https:\/\/movie.douban.com\/subject\/30482645\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2623955494.webp","id":"30482645","cover_y":3667,"is_new":false},{"rate":"7.6","cover_x":2000,"title":"八佰","url":"https:\/\/movie.douban.com\/subject\/26754233\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2615992304.webp","id":"26754233","cover_y":2800,"is_new":false},{"rate":"6.9","cover_x":813,"title":"列夫·朗道:卡佳与塔尼娅","url":"https:\/\/movie.douban.com\/subject\/34977895\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2603780464.webp","id":"34977895","cover_y":1181,"is_new":true},{"rate":"6.5","cover_x":8100,"title":"恶棍之都","url":"https:\/\/movie.douban.com\/subject\/33442360\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2623523542.webp","id":"33442360","cover_y":12000,"is_new":true},{"rate":"7.1","cover_x":1200,"title":"碧蓝之海","url":"https:\/\/movie.douban.com\/subject\/34460303\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2589432121.webp","id":"34460303","cover_y":1697,"is_new":true},{"rate":"7.2","cover_x":1080,"title":"无声","url":"https:\/\/movie.douban.com\/subject\/33591810\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2620104689.webp","id":"33591810","cover_y":1544,"is_new":true},{"rate":"8.6","cover_x":1500,"title":"芝加哥七君子审判","url":"https:\/\/movie.douban.com\/subject\/2609258\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2620161520.webp","id":"2609258","cover_y":2222,"is_new":false},{"rate":"5.8","cover_x":2764,"title":"女巫","url":"https:\/\/movie.douban.com\/subject\/3346423\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2621884130.webp","id":"3346423","cover_y":4096,"is_new":false},{"rate":"7.6","cover_x":1462,"title":"金都","url":"https:\/\/movie.douban.com\/subject\/30159567\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2574853860.webp","id":"30159567","cover_y":2048,"is_new":false},{"rate":"7.3","cover_x":2025,"title":"波拉特2","url":"https:\/\/movie.douban.com\/subject\/4135439\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2621751023.webp","id":"4135439","cover_y":3000,"is_new":false},{"rate":"7.2","cover_x":2000,"title":"爱与怪物","url":"https:\/\/movie.douban.com\/subject\/21349338\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2622904695.webp","id":"21349338","cover_y":3000,"is_new":false},{"rate":"7.8","cover_x":1403,"title":"担保","url":"https:\/\/movie.douban.com\/subject\/30475125\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2616180034.webp","id":"30475125","cover_y":2000,"is_new":false},{"rate":"6.2","cover_x":2505,"title":"母亲","url":"https:\/\/movie.douban.com\/subject\/34894631\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2599858573.webp","id":"34894631","cover_y":3543,"is_new":true},{"rate":"6.1","cover_x":967,"title":"奇奇怪怪:整容液","url":"https:\/\/movie.douban.com\/subject\/35151491\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2616803984.webp","id":"35151491","cover_y":1386,"is_new":false},{"rate":"6.8","cover_x":2740,"title":"85年盛夏","url":"https:\/\/movie.douban.com\/subject\/33974174\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2609300674.webp","id":"33974174","cover_y":3732,"is_new":false},{"rate":"7.7","cover_x":2764,"title":"云上情歌","url":"https:\/\/movie.douban.com\/subject\/34967933\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2619822570.webp","id":"34967933","cover_y":4096,"is_new":false},{"rate":"6.5","cover_x":737,"title":"飞奔去月球","url":"https:\/\/movie.douban.com\/subject\/30141681\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2621020634.webp","id":"30141681","cover_y":1080,"is_new":false},{"rate":"5.6","cover_x":1620,"title":"之后2","url":"https:\/\/movie.douban.com\/subject\/33454900\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2616099952.webp","id":"33454900","cover_y":2400,"is_new":true},{"rate":"7.7","cover_x":1680,"title":"误杀","url":"https:\/\/movie.douban.com\/subject\/30176393\/","playable":true,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2614628862.webp","id":"30176393","cover_y":2352,"is_new":false},{"rate":"5.6","cover_x":1984,"title":"蝴蝶梦","url":"https:\/\/movie.douban.com\/subject\/10490568\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2622573569.webp","id":"10490568","cover_y":2920,"is_new":false},{"rate":"5.6","cover_x":1500,"title":"假日约会","url":"https:\/\/movie.douban.com\/subject\/30477702\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2621603060.webp","id":"30477702","cover_y":2222,"is_new":false},{"rate":"8.8","cover_x":1017,"title":"多哥","url":"https:\/\/movie.douban.com\/subject\/30271841\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2575882765.webp","id":"30271841","cover_y":1500,"is_new":false},{"rate":"8.2","cover_x":1456,"title":"鸣鸟不飞:乌云密布","url":"https:\/\/movie.douban.com\/subject\/33425932\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2586787185.webp","id":"33425932","cover_y":2048,"is_new":false},{"rate":"7.2","cover_x":1400,"title":"从邪恶中拯救我","url":"https:\/\/movie.douban.com\/subject\/30425219\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2612814747.webp","id":"30425219","cover_y":1998,"is_new":false},{"rate":"6.2","cover_x":881,"title":"精神错乱","url":"https:\/\/movie.douban.com\/subject\/33442707\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2608174457.webp","id":"33442707","cover_y":1250,"is_new":false},{"rate":"6.1","cover_x":1500,"title":"福尔摩斯小姐:失踪的侯爵","url":"https:\/\/movie.douban.com\/subject\/27662541\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2617666143.webp","id":"27662541","cover_y":2222,"is_new":false},{"rate":"7.2","cover_x":1080,"title":"冰雪奇缘2","url":"https:\/\/movie.douban.com\/subject\/25887288\/","playable":true,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2572847101.webp","id":"25887288","cover_y":1543,"is_new":false},{"rate":"6.5","cover_x":1940,"title":"触礁","url":"https:\/\/movie.douban.com\/subject\/30432861\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2619930239.webp","id":"30432861","cover_y":2910,"is_new":false},{"rate":"7.0","cover_x":700,"title":"世纪大劫案","url":"https:\/\/movie.douban.com\/subject\/34966343\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2585573605.webp","id":"34966343","cover_y":1000,"is_new":true},{"rate":"7.0","cover_x":1080,"title":"神弃之地","url":"https:\/\/movie.douban.com\/subject\/27194336\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2619322729.webp","id":"27194336","cover_y":1920,"is_new":false},{"rate":"7.2","cover_x":2765,"title":"爱玛","url":"https:\/\/movie.douban.com\/subject\/30361878\/","playable":true,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2581191543.webp","id":"30361878","cover_y":4096,"is_new":false},{"rate":"6.1","cover_x":1500,"title":"异国阴宅","url":"https:\/\/movie.douban.com\/subject\/33407539\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2623827407.webp","id":"33407539","cover_y":2222,"is_new":true},{"rate":"7.3","cover_x":1500,"title":"我想结束这一切","url":"https:\/\/movie.douban.com\/subject\/30129061\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2619279677.webp","id":"30129061","cover_y":2222,"is_new":false},{"rate":"7.7","cover_x":2233,"title":"1\/2的魔法","url":"https:\/\/movie.douban.com\/subject\/30401849\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2616349563.webp","id":"30401849","cover_y":3190,"is_new":false},{"rate":"5.9","cover_x":4500,"title":"多力特的奇幻冒险","url":"https:\/\/movie.douban.com\/subject\/27000981\/","playable":true,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2614594787.webp","id":"27000981","cover_y":7134,"is_new":false},{"rate":"7.1","cover_x":673,"title":"无邪","url":"https:\/\/movie.douban.com\/subject\/34958728\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2588633607.webp","id":"34958728","cover_y":1000,"is_new":false},{"rate":"8.5","cover_x":1293,"title":"1917","url":"https:\/\/movie.douban.com\/subject\/30252495\/","playable":true,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2587146023.webp","id":"30252495","cover_y":2048,"is_new":false},{"rate":"6.5","cover_x":750,"title":"红","url":"https:\/\/movie.douban.com\/subject\/30465916\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2572911756.webp","id":"30465916","cover_y":1061,"is_new":false},{"rate":"8.2","cover_x":4000,"title":"理查德·朱维尔的哀歌","url":"https:\/\/movie.douban.com\/subject\/25842038\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2578705064.webp","id":"25842038","cover_y":5926,"is_new":false},{"rate":"8.8","cover_x":708,"title":"来自深渊:深魂的黎明","url":"https:\/\/movie.douban.com\/subject\/27591193\/","playable":true,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2589852362.webp","id":"27591193","cover_y":1000,"is_new":false},{"rate":"8.5","cover_x":1944,"title":"黑水","url":"https:\/\/movie.douban.com\/subject\/30331959\/","playable":false,"cover":"https://img2.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2569450232.webp","id":"30331959","cover_y":2880,"is_new":false},{"rate":"7.6","cover_x":2025,"title":"逃离比勒陀利亚","url":"https:\/\/movie.douban.com\/subject\/27046758\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2589768807.webp","id":"27046758","cover_y":2925,"is_new":false},{"rate":"6.0","cover_x":1071,"title":"两只老虎","url":"https:\/\/movie.douban.com\/subject\/30196805\/","playable":true,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2574713609.webp","id":"30196805","cover_y":1500,"is_new":false},{"rate":"7.2","cover_x":736,"title":"翻译疑云","url":"https:\/\/movie.douban.com\/subject\/30145117\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2580137248.webp","id":"30145117","cover_y":1000,"is_new":false},{"rate":"6.3","cover_x":1080,"title":"妙先生","url":"https:\/\/movie.douban.com\/subject\/34888476\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2614234255.webp","id":"34888476","cover_y":1512,"is_new":false},{"rate":"8.1","cover_x":6072,"title":"小妇人","url":"https:\/\/movie.douban.com\/subject\/26348103\/","playable":true,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2572813215.webp","id":"26348103","cover_y":9000,"is_new":false},{"rate":"6.8","cover_x":2773,"title":"亿万富翁","url":"https:\/\/movie.douban.com\/subject\/30172002\/","playable":false,"cover":"https://img3.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2615642201.webp","id":"30172002","cover_y":4096,"is_new":true},{"rate":"7.9","cover_x":750,"title":"剧场","url":"https:\/\/movie.douban.com\/subject\/33446524\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2610788779.webp","id":"33446524","cover_y":1061,"is_new":false},{"rate":"7.6","cover_x":692,"title":"耳光","url":"https:\/\/movie.douban.com\/subject\/34976969\/","playable":false,"cover":"https://img1.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2588064739.webp","id":"34976969","cover_y":1000,"is_new":false},{"rate":"8.2","cover_x":1382,"title":"灰猎犬号","url":"https:\/\/movie.douban.com\/subject\/26871906\/","playable":false,"cover":"https://img9.doubanio.com\/view\/photo\/s_ratio_poster\/public\/p2591289975.webp","id":"26871906","cover_y":2048,"is_new":false}];
$.ajax({
async:false,//同步,异步
url:"http://localhost:8080/web/register/servlet", //请求的服务端地址
type:"post",
data:{
movie:JSON.stringify(mov)
},
// dataType:"json",
success:function(data){
//成功之后的处理,返回的数据就是 data
console.log(data);
}
});
</script>
运行之后mysql效果如下
总结以下流程
首先把json数据放到网页上的js代码上,然后通过ajax请求,携带数据到servlet上,此时java中的servlet就接收到了数据,接受完数据然后使用json的方法把接受的数据转换为对象,然后调用jdbc中插入数据的方法,把数据插入到数据库