springMVC在接口化开发在企业中的实践

很多大传统企业用的产品都是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")
@Controller
public class LoginController {

	@Autowired
	private UserService userService;
	
	/**
	 * 接口说明 :
	 * data:1 登入成功,0登入失败
	 * @param user
	 * @return
	 */
	@RequestMapping(value="toValidateLogin",method=RequestMethod.POST)
	@ResponseBody
	public 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 οnclick="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
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值