Java Web开发技术方案 - 新闻资讯 - 云南小程序开发|云南软件开发|云南网站建设-昆明葵宇信息科技有限公司

159-8711-8523

云南网建设/小程序开发/软件开发

知识

不管是网站,软件还是小程序,都要直接或间接能为您产生价值,我们在追求其视觉表现的同时,更侧重于功能的便捷,营销的便利,运营的高效,让网站成为营销工具,让软件能切实提升企业内部管理水平和效率。优秀的程序为后期升级提供便捷的支持!

您当前位置>首页 » 新闻资讯 » 网站建设 >

Java Web开发技术方案

发表时间:2017-7-14

发布人:葵宇科技

浏览次数:36

Java Web开发技术方案

Java Web开发分前端、后端:
Java Web前端:
—就是在Web应用中用户可以看得见碰得着的东西。包括Web页面的结构、Web的外观视觉表现以及Web层面的交互实现。
—前端开发主要使用ajax/jQuery/js/html/css等, 使用JS,应用JQuery/html/CSS等,进行交互效果的开发
Java Web后端:
—后端更多的是与数据库进行交互以处理相应的业务逻辑。需要考虑的是如何实现功能、数据的存取、平台的稳定性与性能等
—后端开发主要使用java/MySQL/Oracle等, 使用Java、SQL语句开发.

Java web前端开发框架:
前端工程化的框架nodejs,React,router,react,redux,webpack

Java web后端开发框架:
SSM & SSH: spring + springmvc/struts + spring jdbc/hibernate/mybatis等

大多数项目在java后端都是分了三层:
控制层(controller/action),业务层(service/manage),持久层(dao)。
控制层
负责接收参数,调用相关业务层,封装数据,以及路由到jsp页面。然后jsp页面上使用各种标签(jstl/el)或者手写java(<%=%>)将后台的数据展现出来
业务层
负责实现业务逻辑
持久层
数据访问、存储

Java web应用运行机制:
使用maven或者eclipse等工具把你的代码打成一个war包,把这个war包发布到你的生产环境下的web容器(tomcat/jboss/weblogic/websphere/jetty/resin)里。
发布完了之后,启动你web容器,开始提供服务,然后通过配置域名,dns等,设计的网站就可以访问了
1、在浏览器中输入你的网站域名(www.xxx.com),之后发生了什么?
浏览器在通过ip路由到你的服务,在tcp3次握手之后,通过tcp协议开始访问你的web服务器,
你的web服务器得到请求后,开始提供服务,接收请求,之后通过response返回你的应答给浏览器

2、上面的执行过程在实现上分为两种:
传统的Java web项目开发:
1、客户端发送请求
2、服务端的servlet或controller接收请求(路由规则由后端制定,项目开发的重心在后端,web后端的权重很大,UI,前端只是附属)
3、调用service,dao代码完成业务逻辑
4、返回jsp
5、jsp展现一些动态的代码

新的Java web项目开发方式
1、浏览器发送请求
2、直接到达html页面(路由规则由前端制定,项目开发重心在前移)
3、html页面负责调用服务端接口产生数据(通过ajax等等,后台返回json格式数据)
4、填充html,展现动态效果,在页面上进行解析并操作DOM

前端不仅仅是css,js那么简单,前端在使用了一些框架和工具形成前端项目,在项目层面拆开,前端也需要有MVC框架,也需要编译,打包,部署,是很复杂的,
越是大型互联网公司,前端项目越是工程化的项目,包括前端项目的版本管理,运维等。

java web项目都尽量要避免使用jsp,越是大中型的web应用,越是要搞前后台解耦,玩分布式架构,这样的web应用架构才更强:
正常的分布式架构,是都要拆开的:
web服务器集群(nginx) + 应用服务器集群(tomcat) + 文件服务器集群 + 数据库服务器集群 + 消息队列集群 + 缓存集群等等

新的Java web项目开发方式的请求步骤:
大量并发浏览器请求—>web服务器集群(nginx)—>应用服务器集群(tomcat)—>文件/数据库/缓存/消息队列服务器集群
同时又可以玩分模块,还可以按业务拆成一个个的小集群,把核心的业务封装成一个业务中心,玩远程业务调用,玩rpc,玩soa,使用springboot+Docker玩微服务,这样才是一个弹性的分布式架构

特点:
1、实现真正的前后端解耦,前端服务器使用nginx。
前端服务器放的是css、js、图片等等一系列静态资源(甚至还可以把css、js、图片等资源放到特定的文件服务器,例如阿里云的oss,并使用cdn加速),
前端服务器负责控制页面引用、跳转、调用后端的接口
后端服务器使用tomcat(把应用服务器tomcat想象成一个数据提供者),加快整体响应速度,后端服务暂时超时或者机,前端页面也会正常访问,只不过数据刷不出来而已
2、Java web项目开发分工明确:
前端工程师:负责页面逻辑,跳转错误,浏览器兼容性问题,脚本错误,页面样式等问题。
后端工程师:负责接口数据出错,数据没有提交成功,应答超时等问题的处理。
3、大并发情况下,可以同时水平扩展前后端服务器,通过部署服务器集群。减少后端服务器的并发压力,除了接口以外的其他所有http请求全部转移到前端nginx上。
前端框架解决类似于页面嵌套,分页,页面跳转控制等功能,而调用接口就是调用controler里的方法,如果页面上有一些权限等等相关的校验,那么这些相关的数据也可以通过ajax从接口里拿
4、也许你也需要有微信相关的轻应用,那样你的接口完全可以共用,如果也有app相关的服务,那么只要通过一些代码重构,也可以大量复用接口,提升效率。
5、页面显示的东西再多也不怕,因为是异步加载

Java Web开发中前后端分离的技术方案:
1、前端使用AngularJS编写SPA(Single Page Application)应用,后端服务器只提供RESTful接口且完全无状态化。
特点:
前后完全分离,前端开发者完全不需要关心服务端用了什么技术,只需要一份接口说明文档即可。
移动端app与PC端网站可以共用同一套接口。
如果”页面”过多,SPA应用第一次加载速度会稍慢。

2、使用NodeJS渲染Web页面,然后调用后端RESTful接口。
特点:
前后完全分离, 后端开发者可以专注于业务逻辑开发。
NodeJS代码如果异常处理不好容易直接挂掉进程。
增加了一层NodeJS,提高了网络传输的开销,增加了部署和维护成本

相关案例查看更多