博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring MVC读取POST过来的XML
阅读量:6573 次
发布时间:2019-06-24

本文共 2525 字,大约阅读时间需要 8 分钟。

hot3.png

用到的工具类:

https://github.com/josdejong/httputil

要注意的问题:

1)引入javax.servlet.http.*文件出错,是因为没有add library,要加server runtime

2)spring mvc无法requestMapping根目录,是因为配置了welcome-file

步骤:

1. 继承了HttpUtil的工具类

public class HttpUtilXml extends HttpUtil {	/**	 * post an xml file	 */	static public String postXml(String url, String body,			Map
headers) throws IOException { // set content type if (headers == null) { headers = new HashMap
(); } headers.put("Content-Type", "application/xml"); return post(url, body, headers); }}

这样就可以接受xml的数据。

2. 要引入两个依赖

com.fasterxml.jackson.core
jackson-core
2.8.1
com.fasterxml.jackson.core
jackson-databind
2.8.1

3. 实体类中加入xml注解

package com.hengzecn.car.entity;import java.io.Serializable;import javax.xml.bind.annotation.XmlElement;import javax.xml.bind.annotation.XmlRootElement;@XmlRootElement(name= "User")public class User implements Serializable{    private static final long serialVersionUID = 1L;    private Integer id;    private String userName;    private String password;    public User(Integer id, String userName, String password) {        this.id = id;        this.userName = userName;        this.password = password;    }    public User(String userName, String password) {        this.userName = userName;        this.password = password;    }    public User() {    }    public Integer getId() {        return id;    }    public String getUserName() {        return userName;    }    public String getPassword() {        return password;    }    @XmlElement    public void setId(Integer id) {        this.id = id;    }    @XmlElement    public void setUserName(String userName) {        this.userName = userName;    }    @XmlElement    public void setPassword(String password) {        this.password = password;    }}

4. 接收xml文件

@RequestMapping(value = "/xml", method = RequestMethod.POST)    @ResponseBody    public User getXml(@RequestBody User user) {    	System.out.println(user.getPassword());    	return user;    }

5. 测试函数

@RequestMapping("/send_xml")    public void sendXml() throws IOException{    	String body = "
1
fan
111
"; String res = HttpUtilXml.postXml("http://129.0.5.11:8080/car/xml", body, null); //System.out.println(res);

6. 测试截图

7. 下面要做的事情

将接收过来的xml持久化,存进数据库。

 

此文参考了 http://www.jianshu.com/p/7097fea8ce3f

转载于:https://my.oschina.net/u/438393/blog/861520

你可能感兴趣的文章
linux安装go环境并编写第一个go程序
查看>>
解决:laravel出现Please provide a valid cache path.
查看>>
兼容IE浏览器样式的html上传文件控件
查看>>
直接插入排序
查看>>
SQLServer的Top功能
查看>>
CentOS之crontab
查看>>
【在线研讨-现场文字】《敏捷开发用户故事分类与组织结构(二期-3)》2012-07-03...
查看>>
Hyper-V 2012 R2 配置存储QoS
查看>>
易语言 --什么情况下 用许可证
查看>>
项目总结:凡事预则立,不预则废!
查看>>
ORA-32004: obsolete and/or deprecated parameter(s)
查看>>
建属于自己的网站
查看>>
[linux] ubuntu 切换默认的/bin/sh
查看>>
Web Bench (网站压力测试工具)
查看>>
boost库之智能指针
查看>>
linux c/c++ GDB教程详解(转载)
查看>>
华为HCIE 面试战报
查看>>
C++ 一些知名的库
查看>>
用busybox创建一个不足50M的Linux
查看>>
在redhat server 6 安装gcc-4.5.2
查看>>