加入收藏 | 设为首页 | 会员中心 | 我要投稿 好传媒网 (https://www.haochuanmei.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

内网穿透与反向代理,浅谈前后台分离

发布时间:2019-03-27 18:57:17 所属栏目:外闻 来源:segmentfault
导读:导读 自去年毕业来到杭州,想想也该有大半年了。本身是软件工程的科班出身,在校时理论掌握的还可以。但应用到实践当中去,有些还是不大理解,于是,不停地向带我的人请教,毕竟,三人行,必有我师焉。经过一段时间理论加实践,多少也掌握了其中的门路。
副标题[/!--empirenews.page--]

导读

自去年毕业来到杭州,想想也该有大半年了。本身是软件工程的科班出身,在校时理论掌握的还可以。但应用到实践当中去,有些还是不大理解,于是,不停地向带我的人请教,毕竟,三人行,必有我师焉。经过一段时间理论加实践,多少也掌握了其中的门路。

内网穿透与反向代理,浅谈前后台分离

前后端分离(服务器端、客户端分离)

  • 前后端不分离

在从业的过程中,也和其他程序员交流过,他们很多人都没有前后端(服务器和客户端)分离,而是前后端一起做掉。如果前后端不分离,此时的服务器端主要是指java代码,客户端主要是指jsp,通过spring MVC 将数据封装到ResponseBody中,再返回给jSP。JSP拿到数据,渲染页面。这里 不需要考虑端口号的问题。比如:

  1. /** 
  2.      * Created By zby on 16:03 2019/3/5 
  3.      */ 
  4.     @RequestMapping(value = "/", method = RequestMethod.GET) 
  5.     @ResponseBody 
  6.     public Result fun() { 
  7.  
  8.         return null; 
  9.     } 
  • 前后端分离

当然,前后端分离时,后端还是以java代码为主,前端就变化多端了。

.后端

java通过springMVC的Rest模式的Controller层,接收前端页面传来的接口和参数,经过一系列的入参校验,调用事务层(也就是service层)这里主要是hibernate(mybatis)的事务层,实现数据库的事务操作。再调用*dao(data Access object)层实现事务的原子性操作,即将瞬时态的java对象转化为持久状态的数据库对象。层层深入,层层返回,将通过Result回传给前端。

前端

前端主要用h5进行页面布局,CSS3实现页面的美化。JavaScript配合jQuery调用后端的接口,传递参数和获取后端回传的数据。通过vue.js实现回传的数据的双向绑定。还可能涉及到其他框架,比如页面布局的bootstrap,数据table方式展示的jqgrid等等。

前后端分离,如何实现数据交互

我们将写好的java代码部署在服务器上,比如Tomcat、Jboss主流服务器。这里以Tomcat来讲解,我们将项目部署在Tomcat的上,具体如何部署Tomcat,可以参考这篇教程,Tomcat8权威指南。我们现在一般在maven中以插件的方式配置Tomcat,便于本地测试,路径为根路径,如以下代码:

  1. <build> 
  2.        <defaultGoal>install</defaultGoal> 
  3.        //maven生成的war生成的名字 
  4.        <finalName>cloudCodeSaleManager</finalName>  
  5.  
  6.        <resources> 
  7.            <resource> 
  8.                <directory>src/main/resources</directory> 
  9.                <filtering>true</filtering> 
  10.            </resource> 
  11.        </resources> 
  12.        <plugins> 
  13.            <plugin> 
  14.                <groupId>org.apache.tomcat.maven</groupId> 
  15.                <artifactId>tomcat7-maven-plugin</artifactId> 
  16.                <version>2.2</version> 
  17.                <configuration> 
  18.                    <port>58081</port> 
  19.                    <path>/</path> 
  20.                    <uriEncoding>UTF-8</uriEncoding> 
  21.                    <finalName>zfounder-custmom-member-portal</finalName> 
  22.                    <server>tomcat7</server> 
  23.                </configuration> 
  24.            </plugin> 
  25.        </plugins> 
  26.    </build> 

(编辑:好传媒网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读