爪哇2博客
爪哇2博客

春季休息ful 网页服务XML示例

这篇文章是Web服务教程(第-10部分)的继续。在本教程中,我们将看到Spring Restful 网页服务xml示例。

网页服务教程内容:

在上一篇文章中,我们创建了一个非常简单的 春季休息ful 网页服务  返回json。在本文中,我们将看到Spring Restful 网页服务,它将返回xml作为示例。

这是创建简单的Spring Restful 网页服务的步骤,这些服务将返回xml。

1) 创建一个 在Eclipse中使用Maven的动态Web项目.

2) 对于XML支持,我们只需要确保JAXB jar在类路径中可用。

pom.xml将如下所示:
pom.xml

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
 
<项目 XML文件ns="http://maven.apache.org/POM/4.0.0" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance"
  si:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.Arpit.爪哇2blog</groupId>
  <artifactId>弹簧RestfulWebServicesWithJSONExample</artifactId>
  <打包>战争</打包>
  <>0.0.1-快照</>
  <名称>弹簧RestfulWebServicesWithJSONExample 马文 网络应用</名称>
  <网址>http://maven.apache.org</url>
  <依存关系>
    <依赖>
      <groupId>unit</groupId>
      <artifactId>unit</artifactId>
      <>3.8.1</>
      <范围>测试</范围>
    </依赖>
    <依赖>
   <groupId>爪哇x.小服务程序</groupId>
   <artifactId>爪哇x.小服务程序-api</artifactId>
   <>3.1.0</>
  </依赖>
 
  <依赖>
   <groupId>组织.弹簧框架</groupId>
   <artifactId>弹簧-核心</artifactId>
   <>${弹簧.}</>
  </依赖>
  <依赖>
   <groupId>组织.弹簧框架</groupId>
   <artifactId>弹簧-网路mvc</artifactId>
   <>${弹簧.}</>
  </依赖>
 
</依存关系>
<建立>
  <finalName>弹簧RestfulWebServicesWithJSONExample</finalName>
 
  <外挂程式>
   <插入>
    <groupId>组织.阿帕奇.专家.外挂程式</groupId>
    <artifactId>专家-编译器-插入</artifactId>
    <>3.1</>
    <组态>
     <资源>${杰克.}</资源>
     <目标>${杰克.}</目标>
    </组态>
   </插入>
  </外挂程式>
 
</建立>
<属性>
  <弹簧.>4.2.1。发布</弹簧.>
  <杰克.>1.7</杰克.>
</属性>
</项目>
 

弹簧应用程序配置:

3) 如下更改web.xml:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
<!DOCTYPE 网路-应用程式 上市
“-// Sun Microsystems,Inc.//DTD 网页应用程序2.3 // EN”
"http://java.sun.com/dtd/web-app_2_3.dtd" >
 
<网路-应用程式>
  <显示-名称>原型 已建立 网页 应用</显示-名称>
  <小服务程序>
<小服务程序-名称>弹簧座</小服务程序-名称>
<小服务程序->
  组织.弹簧框架.网路.小服务程序.分派器
</小服务程序->
<加载--启动>1</加载--启动>
</小服务程序>
 
<小服务程序-映射>
<小服务程序-名称>弹簧座</小服务程序-名称>
<网址-模式>/</网址-模式>
</小服务程序-映射>
</网路-应用程式>
 

4) 在/ WEB-INF /文件夹中创建一个名为springrest-servlet.xml的xml文件。
如果您想使用不同的弹簧包来搜索控制器,请更改context:component-scan。请参考 春季MVC 你好世界示例 了解更多。

1
2
3
4
5
6
7
8
9
10
11
12
 
<豆子 XML文件ns="http://www.springframework.org/schema/beans"
XML文件ns:语境="http://www.springframework.org/schema/context"
XML文件ns:多媒体="http://www.springframework.org/schema/mvc" XML文件ns:si="http://www.w3.org/2001/XMLSchema-instance"
si:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 
<多媒体:注解-驱动的/>
<语境:零件-扫描 基础-=“ 组织.arpit.java2blog.controller” />
 
</豆子>
 

创建bean类

5) Create a 豆 名称 “Country.java”在org.arpit.java2blog.bean中。

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
 
组织.Arpit.爪哇2blog.;
 
进口 爪哇x.XML文件.捆绑.注解.XmlElement;
进口 爪哇x.XML文件.捆绑.注解.XmlRootElement;
 
@XmlRootElement(名称=“国家”)
上市 国家{
 
    私人的 整型 ID;
    私人的 国家的名字;
 
    上市 国家() {
 
    }
    上市 国家(整型 i, 国家的名字) {
        ();
        这个.ID = i;
        这个.国家的名字 = 国家的名字;
    }
 
    @XmlElement
    上市 整型 getId() {
        返回 ID;
    }
    上市 虚空 设置名称(整型 ID) {
        这个.ID = ID;
    }
 
    @XmlElement
    上市 getCountryName() {
        返回 国家的名字;
    }
    上市 虚空 setCountryName( 国家的名字) {
        这个.国家的名字 = 国家的名字;
    }  
}
 

我们需要使用@XmlRootElement和@XmlElement注释bean类以支持xml。如您所见,我们用
JAXB批注,但是如果要支持列表,则不能编辑ArrayList类,因此可以创建另一个名为 国家列表  并且我们可以在该类中使用JAXB注释来支持xml输出。
国家列表.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
 
组织.Arpit.爪哇2blog.;
 
进口 爪哇.实用程序.清单;
进口 爪哇x.XML文件.捆绑.注解.XmlElement;
进口 爪哇x.XML文件.捆绑.注解.XmlRootElement;
 
@XmlRootElement(名称 = “国家清单”)
上市 国家列表 {
 
    清单listOfCountries;
 
    上市 国家列表() {
        ();
    }
    上市 国家列表(清单listOfCountries) {
        这个.listOfCountries=listOfCountries;
    }
    上市 清单getListOfCountries() {
        返回 listOfCountries;
    }
 
    @XmlElement(名称 = “国家”)
    上市 虚空 setListOfCountries(清单listOfCountries) {
        这个.listOfCountries = listOfCountries;
    }
 
}
 

创建控制器

6) 创建一个名为的控制器“CountryController.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
 
组织.Arpit.爪哇2blog.控制者;
 
进口 爪哇.实用程序.数组列表;
进口 爪哇.实用程序.清单;
 
进口 组织.Arpit.爪哇2blog..国家;
进口 组织.Arpit.爪哇2blog..国家列表;
进口 组织.弹簧框架.网路.捆绑.注解.路径变量;
进口 组织.弹簧框架.网路.捆绑.注解.请求映射;
进口 组织.弹簧框架.网路.捆绑.注解.请求方法;
进口 组织.弹簧框架.网路.捆绑.注解.RestController;
 
@RestController
上市 国家Controller {
 
    @请求映射( = “ /国家”, 方法 = 请求方法.得到,标头=“接受= 应用程式lication / XML文件”)
    上市 国家列表 getCountries()
    {
        国家列表 国家List=createCountryList();
        返回 国家List;
    }
 
    @请求映射( = “ /国家/ {id}”, 方法 = 请求方法.得到)
    上市 国家 getCountryById(@路径变量 整型 ID)
    {
        清单listOfCountries = 数组列表();
        国家列表 国家List=createCountryList();
        listOfCountries=国家List.getListOfCountries();
        对于 (国家 国家: listOfCountries) {
            如果(国家.getId()==ID)
                返回 国家;
        }
 
        返回 空值;
    }
 
    ///使用Utiliy方法创建国家/地区列表。
    上市 国家列表 createCountryList()
    {
        国家 印度国家= 国家(1, “印度”);
        国家 中国国家= 国家(4, “中国”);
        国家 尼泊尔国家= 国家(3, “尼泊尔”);
        国家 不丹国家= 国家(2, “不丹”);
 
        清单listOfCountries = 数组列表();
        listOfCountries.(印度国家);
        listOfCountries.(中国国家);
        listOfCountries.(尼泊尔国家);
        listOfCountries.(不丹国家);
        返回 国家列表(listOfCountries);
    }
}
 

@PathVariable: 用于将URL中的值注入到方法参数中。通过这种方式,您可以在getCountryById方法中注入id。

我们不提供任何视图信息 弹簧座-servlet.xml,就像我们在 春季MVC。 如果我们需要直接从控制器获取资源,则需要按照Spring 3返回@ResponseBody,但对于Spring 4,我们可以使用@RestController。
在Spring 4.0中,我们可以使用@RestController,它是@Controller + @ResponseBody的组合。

1
2
3
 
@RestController = @控制者 + @ResponseBody
 

6) It ‘是时候进行Maven构建了。

右键点击项目->Run as ->Maven 建立
7) 提供目标作为全新安装(如下所示)并单击运行

 

运行应用程序

8) 右键点击项目->run as ->run 上 server
选择Apache tomcat,然后单击完成

 

当您运行应用程序时,您可能会收到这种警告

1
2
3
4
 
三月 26, 2016 1:45:51 上午 组织.弹簧框架.网路.小服务程序.找不到网页 noHandlerFound
警告: 没有 映射 发现 对于 HTTP 请求 URI [/弹簧RestfulWebServicesWithXMLExample/] 分派器 名称 'SpringRestfulWebServicesWithJSONExample'
 

请忽略以上警告。启动应用程序时,如果未提供起始页,则位于URL下方:
http:// localhost:8080 / 弹簧RestfulWebServicesWithXMLExample / 

当我们在web.xml中使用DispatcherServlet时,此请求转到spring 分派器,并且未在controller中找到相应的映射,因此收到该警告。

9) 在以下条件下测试您的REST服务:“http:// localhost:8080 / 弹簧RestfulWebServicesWithXMLExample / countries”.

您将获得以下输出:

春季休息 XML列表示例

 

10)现在将国家/地区ID作为参数传递给url。
“http:// localhost:8080 / 弹簧RestfulWebServicesWithXMLExample / 国家 / 2”.

 

点击开始
20KB .zip
我们完成了Spring Restful 网页服务xml示例。如果您仍然遇到任何问题,请发表评论。

那’关于Spring Restful 网页服务xml示例的全部内容。


导入联系人

您可能还喜欢:


导入联系人

您可能还喜欢:

分享这个

作者

关注作者

相关文章

  • 4月29日

    春季靴 Rest示例

    在本教程中,我们将看到如何使用Spring boot创建Restful 网页服务。使用Spring 剩余JSON 创建Rest API之间没有太多区别,我们之前已经看到过。 春季靴使得Rest API更容易。你不’不必在类路径中提供任何其他JSON依赖关系。春天[…]

  • 9月14日

    弹簧 休息+春季安全示例

    在本文中,我们将在Spring Rest示例中应用Spring Security。 网页服务教程:Web服务介绍Web服务访谈问题SOAP 网页服务介绍RESTful 网页服务介绍SOAP和REST 网页服务之间的区别使用Eclipse的Java中的SOAP 网页服务示例JAX-WS 网页服务Eclipse教程JAX-WS […]

  • 8月19日

    弹簧 @RestController示例

    在本文中,我们将看到另一个名为@RestController的重要注释。通常在与Spring Restful 网页服务实现一起使用时使用。 春季MVC教程:Spring MVC你好世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller […]

  • 8月17日

    弹簧 休眠休眠示例

    在上一篇文章中,我们已经看到了Spring Rest的示例。在本文中,我们将扩展相同的示例并将其与hibernate和mysql集成。我们将在CRUD操作中使用以下注释。方法描述Get用于读取资源Post用于创建新资源。它不是 […]

  • 8月08

    春季MVC @RequestMapping注释示例

    我们已经看到了Spring MVC的hello世界示例。 @RequestMapping是在Spring MVC中使用的重要注释之一。 春季MVC教程:Spring MVC你好世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller示例Spring MVC @ModelAttribute注解[…]

  • 8月06

    春季MVC angularjs示例

    在本教程中,我们将看到Spring MVC angularjs示例。 春季MVC教程:Spring MVC hello世界示例Spring MVC休眠MySQL示例Spring MVC拦截器示例Spring MVC angularjs示例Spring MVC @RequestMapping示例Spring Component,Service,Repository和Controller示例Spring MVC @ModelAttribute注释示例Spring MVC @RestController注释示例Spring MultiActionController春季示例[…]

发表评论 取消回复

您的电子邮件地址不会被公开。 必需的地方已做标记 *

订阅我们的新闻

获取质量教程到您的收件箱。现在订阅。


成为朋友

©2020 爪哇2博客