springMVC在接口化开发在企业中的实践
来源:互联网 发布:windows ftp命令详解 编辑:程序博客网 时间:2024/06/07 13:56
很多大传统企业用的产品都是SAP的标准化产品,可能用过SAP的朋友都知道,确实很标准化,很多东西都是循规蹈矩的,SAP的产品确实很强大,这个不能否认,但是软件也是万能的东西,却是异常的庞大,当然这是个人的观点,在netweaver上写东西,上传到服务器,每次上线都得重新启动服务器,这个个漫长的过程。
前段时间,在做公司的一个项目的时候,为了去SAP化,这里指的只是portal,想开发点新的东西,采用的都是开源的项目,如spring,mybatise、docker、等。对于 集成SAP也就是我们说的单点登入,这里就不做讨论了,里边有好的坑,后续有时间我会专门写一篇博客来阐述,如何集成SAP的portal实现单点登入的效果。
废话不多说了,直接进入主题了,下边是是web端的一个大致的架构,都是很常见的,移动端的不是很熟悉,就不画了。
1.主要想讲的的就是后台的tomcat集群,这里边所有都是接口化开发,也就是组件化吧,也可以说是微服务的一种实现吧,用的框架就是SpringMVC来实现的,其实用springBoot也是蛮不错的选择,这个代码我有做个一个demo,但是集团出于别的考虑,就没有用吧,比如开发人员的学习成本等,这个逼废话,你懂的。
边直接上代码了,下边是后台接口Controller的一个方法,(注:只是demo,但麻雀虽小,五章俱全,公司的代码是不可能拿到的,这个都是自己平时在家或者图书官写的,都是不会涉及其他人的利益的,引用别人的我会标注出出处的)
package com.demo.login.controller;import java.util.HashMap;import java.util.Map;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RequestMethod;import org.springframework.web.bind.annotation.ResponseBody;import com.demo.login.pojo.User;import com.demo.login.service.UserService;@RequestMapping(value="toLogin")@Controllerpublic class LoginController {@Autowiredprivate UserService userService;/** * 接口说明 : * data:1 登入成功,0登入失败 * @param user * @return */@RequestMapping(value="toValidateLogin",method=RequestMethod.POST)@ResponseBodypublic Map<String, Object> login(User user){Map<String, Object> map = new HashMap<String, Object>();try {int loginVal = this.userService.loginVal(user);map.put("data", loginVal);map.put("status", true);} catch (Exception e) {map.put("data", 0);map.put("status", false);e.printStackTrace();}return map;}}
@ResponseBody这个注解就可以实现接口的调用了,返回的json,在展现层直接调用这个接口就ok,当然了,登入不可能这么随意的这里只是为了演示。
2.下边是前台发送请求来调用接口(web端的实现,若果移动端的也是)
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>集团登入界面</title><script type="text/javascript" src="${pageContext.request.contextPath}/js/jquery-1.8.3.js"></script></head><body>用户名:<input type="text" id="nameId"><br>密 码:<input type="password" id="passWordId"><br><button onclick="login()">登入</button><script type="text/javascript">function login(){var name = $("#nameId").val();var passWord = $("#passWordId").val();//空、长度等校验就不写了$.ajax({async: false, url: "http://localhost:8080/login/toLogin/toValidateLogin", type: "post", datatType: "json", data:{"name":name,"passWord":passWord}, success: function(data){ //data 1表示成功,0失败 alert(data); }, //成功执行方法 error: function (data) { //错误处理 alert("登入校验出现异常"); }});}</script></body></html>这里直接发送ajax请求就ok,这些静态资源可以放到nginx托管。具体的代码我会上传到csdn中,但在代码中对js的代码我们有放到nginx中也是直接打成war包放到tomcat中中测试了。
代码的路径是:可能需要审核之类的,后续再加上吧。
阅读全文
0 0
- springMVC在接口化开发在企业中的实践
- Greenplum在企业生产中的最佳实践
- 容器云平台在企业中的落地实践
- Greenplum在企业生产中的最佳实践(下)
- strace在项目开发中的一点实践
- Scrum在游戏开发实践中的若干问题
- [译]接口隔离原则在Android中的实践
- 元数据(metadata)在企业应用开发中的作用
- Fonticon在企业移动APP开发中的应用研究
- 规则引擎-BRMS在企业开发中的应用
- 企业应用的互联网化-谈Flex在企业级开发中的应用
- 工作流在企业中的应用
- Varnish在企业中的应用
- IBM Tivoli Netview在企业网络管理中的实践(附视频)
- 自然语言处理(NLP)在企业应用中的实践(一)
- 自然语言处理(NLP)在企业应用中的实践(二)
- 自然语言处理(NLP)在企业应用中的实践(三)
- 自然语言处理(NLP)在企业应用中的实践(四)
- C#--WinForm查询模块--按学号精确查询学员信息
- 比较两个数组,并取出相同的元素
- HDU
- 时间格式转换
- LAMP安装
- springMVC在接口化开发在企业中的实践
- MAT类如何存储数据
- python 安装第三方库
- 【Linux关机】常用关机命令及其比较
- test
- HDU
- Java异常处理机制
- 【Halcon笔记1】基于Halcon软件的【摄像机标定】以及【内部参数】和【外部参数】的求解过程【原理细节详解】
- 从Xib文件加载UIView的5种方式