本帖最后由 悲观主义者一枚 于 2015-1-31 17:55 编辑

使用SpringMvc开发Android WebService入门教程
1.首先大家先创建一个JavaWeb项目

2.然后加入SpringMVC所依赖的jar包文件到WebRootWEB-INFlib 文件夹下,jar包含文件如下图

3.我们在WebRootWEB-INF 目录下创建一个spring-servlet.xml文件,粘入如下代码

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"
  4. xmlns:context="http://www.springframework.org/schema/context"
  5. xsi:schemaLocation="http://www.springframework.org/schema/beans
  6. http://www.springframework.org/schema/beans/spring-beans.xsd
  7. http://www.springframework.org/schema/mvc
  8. http://www.springframework.org/schema/mvc/spring-mvc.xsd
  9. http://www.springframework.org/schema/context
  10. http://www.springframework.org/schema/context/spring-context-3.0.xsd">
  11. <!-- 指定Controller都在 com.controller包里-->
  12. <context:component-scan base-package="com.springmvc.controller" />
  13. <bean
  14. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  15. <property name="prefix" value="/" />
  16. <property name="suffix" value=".jsp" />
  17. </bean>
  18. </beans>

4.我们现在在web.xml 下面粘入一下代码 简单配置一下SpringMvc

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
  5. id="WebApp_ID" version="3.0">
  6. <context-param>
  7. <param-name>contextConfigLocation</param-name>
  8. <!-- 应用上下文配置文件 -->
  9. <param-value>/WEB-INF/spring-servlet.xml</param-value>
  10. </context-param>
  11. <listener>
  12. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  13. </listener>
  14. <!-- 配置spring核心servlet -->
  15. <servlet>
  16. <servlet-name>spring</servlet-name>
  17. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  18. <load-on-startup>1</load-on-startup>
  19. </servlet>
  20. <!--
  21. url-pattern配置为/,不带文件后缀,会造成其它静态文件(js,css等)不能访问。如配为*.do,则不影响静态文件的访问
  22. -->
  23. <servlet-mapping>
  24. <servlet-name>spring</servlet-name>
  25. <url-pattern>/</url-pattern>
  26. </servlet-mapping>
  27. </web-app>

现在呢我们的spring mvc项目就创建完成了,我们把web项目发布到本机tomcat里面,控制台出现如下输出并且没有报错证明你的spring mvc项目已经配置成功了。

接下来我们就可以开始编写接口了

我们首先创建Controller,由于我们之前在spring-servlet.xml文件里配置了指定Controller都在 com.springmvc.controller包里,所以我们要先创建com.springmvc.controller文件夹目录

  1. <!-- 指定Controller都在 com.springmvc.controller包里-->
  2. <context:component-scan base-package="com.springmvc.controller" />

接下来我们就开始写springmvc 的controller了,我们就先写一个简单的WebService接口,给Android返回一句Hello SpringMVC!

新建一个名为HelloController.java文件

  1. package com.springmvc.controller;
  2. //朋友一定很好奇这个是干什么的,这个呢就是告诉spring这个类是Controller
  3. @Controller
  4. // 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径
  5. @RequestMapping("HelloController")
  6. public class HelloController {
  7. // value: 指定请求的实际地址;
  8. // method: 指定请求的method类型, GET、POST、PUT、DELETE等;
  9. @RequestMapping(value = "/hello.json", method = RequestMethod.GET)
  10. // 该注解用于读取Request请求的body部分数据,使用系统默认配置的HttpMessageConverter进行解析,然后把相应的数据绑定到要返回的对象上;
  11. @ResponseBody
  12. // 那么我们要访问此方法是 完整路径应该是http://ip地址:端口/SpringMVC/HelloController/hello.json
  13. public Object hello() {
  14. return "Hello SpringMVC!";
  15. }
  16. }

写完了之后我们发不到tomcat中,本地测试时可以在浏览器输入127.0.0.1:8080/SpringMVC/HelloController/hello.json进行访问

输出结果就为 Hello SpringMVC!

想必你对编写Android接口已经有一定了解了,那么接下来我们正式开始编写一个简单Android应用的接口吧

首先我们应用有一个登录页面,那么我们服务端就要为这个应用登录功能提供一个登录接口

那么我们先来创建一个LoginController,我们就在这里面来编写登录接口

再想想登录成功我们肯定要给用户返回当前登录用户的信息比如用户名等…那么我们也要同时再创建一个用户实体类名字叫UserEntity

那我们先定义一下UserEntity里面所需要的字段吧

  1. package com.springmvc.entity;
  2. public class UserEntity {
  3. private String username;// 用户名
  4. private String password;// 密码
  5. private String nickname;// 昵称
  6. private String gender;// 性别
  7. private String age;// 年龄
  8. get set 方法就省略了
  9. }

接下来我们来编写LoginController的登录接口

  1. package com.springmvc.controller;
  2. //这一步肯定少不了,前面有介绍就不再介绍了
  3. @Controller
  4. // 定义访问登录接口的父路径,前面有介绍也不多介绍了
  5. @RequestMapping("LoginController")
  6. public class LoginController {
  7. // 路径参数{name}填入用户名,{pass}填入密码。我们设置为GET请求。
  8. @RequestMapping(value = "/login_get.json/{name}/{pass}", method = RequestMethod.GET)
  9. // 先前介绍过,就不再介绍了。
  10. @ResponseBody
  11. // 当使用@RequestMapping URI template 样式映射时, 即 /login_get.json/{name}/{pass},
  12. // 这时的name和pass可通过 @Pathvariable注解绑定它传过来的值到方法的参数上。
  13. public Object login(@PathVariable String name, @PathVariable String pass) {
  14. // 我们这里为了简单就不去数据库查询了(真正开发时候这里就要把传过来的用户名和密码带到数据库里进行查询)
  15. // 假如我们数据库里用户名是admin密码为123456
  16. if (name.equals("admin") && pass.equals("123456")) {
  17. // 到了这里就说明我们登录成功了,这时候我们就要给Android端返回这个用户的信息
  18. // 这里我们也就先写假数据了
  19. UserEntity entity = new UserEntity();
  20. entity.setUsername("admin");
  21. entity.setPassword("123456");
  22. entity.setNickname("张三");
  23. entity.setGender("男");
  24. entity.setAge("22");
  25. return entity;// 此时返回此用户实体类
  26. } else {
  27. Map map = new HashMap();
  28. map.put("msg", "登录失败,请检查用户名和密码是否正确");
  29. return map;// 登录失败给Android端返回一个错误消息提醒用户
  30. }
  31. }
  32. }

由于是GET访问,我们可以直接用浏览器访问 输入正确的用户名和密码,我们看下图当前用户实体自动转换为json字符串了,这时拿到json字符串就好办了,我们Android端就可以进行解析此json并且拿到当前用户的信息了。


那我们再输入错误的用户名和密码时,我们看下图,返回的json字符串告诉我们可能输入的信息有误,这时我们Android端也可以进行解析json然后给用户提示我们服务端返回的提示信息告诉用户检查输入的信息是否正确了。 

springMVC 简单事例的更多相关文章

  1. SpringMVC简单配置

    SpringMVC简单配置 一.eclipse安装Spring插件 打开help下的Install New Software 点击add,location中输入http://dist.springso ...

  2. SpringMVC简单入门

    SpringMVC简单入门 与大家分享一下最近对SpringMVC的学习,希望本文章能对大家有所帮助. 首先什么是SpringMVC? Spring 为展现层提供的基于MVC设计理念的优秀的Web框架 ...

  3. ogre3d环境配置 SDK安装配置及简单事例教程

    ogre3d环境配置 SDK安装配置及简单事例教程 http://www.cr173.com/html/22594_1.html ogre3d环境配置 SDK安装配置及简单事例教程 http://ww ...

  4. SpringMVC简单实例(看起来有用)

    SpringMVC简单实例(看起来有用) 参考: SpringMVC 基础教程 简单入门实例 - CSDN博客http://blog.csdn.net/swingpyzf/article/detail ...

  5. SpringMVC简单使用教程

    一.SpringMVC简单入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 <!--conf ...

  6. eclipse建立springMVC 简单项目

    http://jinnianshilongnian.iteye.com/blog/1594806 如何通过eclipse建立springMVC的简单项目,现在简单介绍一下. 工具/原料   eclip ...

  7. 基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是DispatcherServlet,DispatcherServlet负责转发每一个Request请 ...

  8. Intellij IDEA +MAVEN+Jetty实现SpringMVC简单查询功能

    利用 Intellij IDEA +MAVEN+Jetty实现SpringMVC读取数据库数据并显示在页面上的简单功能 1 新建maven项目,配置pom.xml <project xmlns= ...

  9. SpringMvc简单实例

    Spring MVC应用一般包括4个步骤: (1)配置web.xml,指定业务层对应的spring配置文件,定义DispatcherServlet; (2)编写处理请求的控制器 (3)编写视图对象,例 ...

随机推荐

  1. UI4_UIImageView

    // // ViewController.m // UI4_UIImageView // // Created by zhangxueming on 15/7/1. // Copyright (c) ...

  2. (三)Qt语言国际化

    Vs 2010+ Qt5 实现语言国际化 创建一个工程,cpp代码如下: 1.创建工程 #include "languageinternationalized.h" #includ ...

  3. Windows phone(1)-ApplicationBar(应用栏)

    在手机APP应用当中,我们往往会想某些操作能够进行快速访问或者能够持续显示用户信息的情况,比如像做泡泡堂游戏右边区域玩家信息 在wp7,wp8中为我们提供了ApplicationBar这样的控件来创建 ...

  4. 如何解决win7系统访问共享服务器慢的问题

    最近重新装了win7系统,但发现当访问共享服务器的时候很慢,后来在网上搜索了相关解决办法,在此和大家分享下: 1. 通过“windows键”+“R键”快捷打开“运行”窗口,然后输入cmd命令敲回车,进 ...

  5. 【Qt】Qt之自定义搜索框【转】

    简述 关于搜索框,大家都经常接触.例如:浏览器搜索.Windows资源管理器搜索等. 当然,这些对于Qt实现来说毫无压力,只要思路清晰,分分钟搞定. 简述 效果 细节分析 Coding 源码下载 效果 ...

  6. 使用另一种方式实现js中Function的调用(call/apply/bind)

    在JavaScript中函数的调用可以有多种方式,但更经典的莫过于call和apply.call跟apply都绑定在函数上,他们两个的第一个参数意义相同,传入一个对象,他作为函数的执行环境(实质上是为 ...

  7. JS模板Handlebars的使用和有效组织

      应用背景 我们在做项目时,为了使页面模块高度复用,使用页面模板是必须的,我想大家通常可能会新建MVC的项目,然后在页面中使用Razor引擎,新建Helper模板类,前后台代码的混写,简洁高效,一切 ...

  8. 用Python作GIS之四:Tkinter基本界面的搭建

    Python下的主窗口可以定义如下:def start(self):        #self.project = Project("temp")        #self.pro ...

  9. C#——中文转化成拼音

    在KS系统中用到了中文转化成拼音的功能.通过查阅资料为下面是代码. /// <summary> /// MyConvert 的摘要说明 /// </summary> publi ...

  10. MySQL不同库名相同表结构实现主从配置

    数据库版本 5.6.16 在两个服务器上,存在不同名字的数据库,但是两个数据库中的所有表结构相同,实现主从复制. 主库服务器的数据库名为yoon,从库服务器的库名为hank 在从库的my.cnf配置文 ...