上篇文章讲解了SpringMVC入门,这篇文章使用SpringMVC来开发接口。记得之前有一篇文章javaweb开发接口开发,是使用Servlet开发的接口。如果你还未了解,可以先看看这篇文章。好了,我们进入主题。
在开始这篇文章之前,请先阅读请参考javaweb开发接口开发这篇文章。
搭建环境。这一步骤请参考上篇文章,SpringMVC入门浅谈。
接口数据设计,请参考javaweb开发接口开发这篇文章。
具体实现。
项目说明:
.action供外部系统调用的接口类。
.business业务实现类。
.json处理json的类。(有关详细说明,请参考javaweb开发接口开发这篇文章。
.model实体类。
.service具体的接口以及实现类。
下面就主要讲解具体的接口调用实现类。
@Controller
public class StudentServlet {
@RequestMapping('/getAllStudent')
public void getAllStudent(HttpServletRequest request, HttpServletResponse response) {
List list = new StudentServiceImpl().getAllStudents();
ListObject listObject = new ListObject();
listObject.setItems(list);
listObject.setCode(StatusCode.CODE_SUCCESS);
listObject.setMsg('访问成功');
ResponseUtils.renderJson(response, JackJsonUtils.toJson(listObject, true));
}
}
说明,StudentServlet类实现了获取所有学生的方法,将json串传入至响应中。
其中ResponseUtils如下,
/**
* HttpServletResponse帮助类
*/
public class ResponseUtils {
public static void renderJson(HttpServletResponse response, String text) {
// System.out.print(text);
render(response, 'text/plain;charset=UTF-8', text);
}
/**
* 发送内容。使用UTF-8编码。
*
* @param response
* @param contentType
* @param text
*/
public static void render(HttpServletResponse response, String contentType, String text) {
response.setContentType(contentType);
response.setCharacterEncoding('utf-8');
response.setHeader('Pragma', 'No-cache');
response.setHeader('Cache-Control', 'no-cache');
response.setDateHeader('Expires', 0);
try {
response.getWriter().write(text);
} catch (IOException e) {
}
}
}
ResponseUtils是将字符串按照一定的规则写入到响应流中。
其他的类或者方法,此处就不再细说了。使用SpringMVC来开发接口与使用Servlet开发接口,只是二者供外部调用的接口实现方式不一样,其他的都一样!
只要你看过javaweb开发接口开发这篇文章,相信就能理解!后面会给出该工程的实例代码。
运行效果截如下,
补充。
如果我们想要在jsp中显示接口数据,该如何实现呢?下面使用两种方式实现。
首先需要实现一个方法,
@RequestMapping('/getAllStudent.dbo')
public ModelAndView getAllStudent(HttpServletRequest request, HttpServletResponse response,ModelMap modelMap) {
List list =new StudentServiceImpl().getAllStudents();
modelMap.addAttribute('list', list);
return new ModelAndView('result',modelMap);
}
该方法返回一个ModelAndView,这个ModelAndView中包含返回的数据以及跳转的jsp页面。还记得我们在springmvxml中有一段配置文件,
其中,‘prefix’是前缀,‘suffix’是后缀,组合在一起的路径就是‘/WEB-INF/views/*.jsp’,‘*’就是我们在ModelAndView中指定的。例如上面的‘newModelAndView('result',modelMap)’中的‘result’,那么路径全地址就是‘/WEB-INF/views/result.jsp’。下面我们就使用两种方法在jsp中显示数据。
方法
<%@ page language='java' contentType='text/html; charset=utf-8'
pageEncoding='utf-8'%>
<%@ page import='java.util.List'%>
<%@ page import='java.util.HashMap'%>
<%@ page import='cn.springmvc.model.Students'%>
Insert title here
Success Page
<%
List list = (List) request.getAttribute('list');
%>
name
age
sex
<%
for (Students s : list) {
%>
<%
out.print(s.name);
%>
<%
out.print(s.age);
%>
<%
out.print(s.sex);
%>
<%
}
%>
方法
<%@ page language='java' contentType='text/html; charset=utf-8'
pageEncoding='utf-8'%>
<%@ taglib prefix='c' uri='http://java.sun.com/jsp/jstl/core'%>
Insert title here
name
age
sex
该方法需要额外导入jstl-*.jar。
两种方式显示的效果都一样。最后运行的效果如下所示,
至此,有关使用SpringMVC开发接口就结束!由于本人水平有限,该篇文章只是讲解了目前自己接触的有关知识!如果想要了解更多,请自行查看其它文章或者视频资料!示例代码下载:Demo下载链接。
文章为作者独立观点,不代表 股票程序化软件自动交易接口观点