java web全栈漫谈

article/2025/11/8 16:32:20
点击上方“ java工会 ”,选择“置顶公众号”

关注我,查看更多全栈相关技术!

原文:https://www.aliyun.com/jiaocheng/1124708.html

一个项目从需求确认到上线,生命周期其实还是挺长的。作为一般公司的话,分工是比较具体的,比如从需求分析师,产品经理,美工,前端,后端再到运维,每个工种都有,但如果要全栈的话,还是要学习不少东西。对于是全栈还是具体的职责,这个因人而异,作为一名javaweb开发人员,我谈谈自己对javaweb全栈的理解。对于上面所说的这些工种,开发人员其实只包含了前端与后端,我所说的全栈也是基于这两点,别看只有这两个,其中某一个都可以让人头很大。先来说说前端,现在的前端跟以前已经完全不同了.

随着一个项目从需求确认到上线,生命周期其实还是挺长的。作为一般公司的话,分工是比较具体的,比如从需求分析师,产品经理,美工,前端,后端再到运维,每个工种都有,但如果要全栈的话,还是要学习不少东西。

对于是全栈还是具体的职责,这个因人而异,作为一名java web开发人员,我谈谈自己对java web全栈的理解。对于上面所说的这些工种,开发人员其实只包含了前端与后端,我所说的全栈也是基于这两点,别看只有这两个,其中某一个都可以让人头很大。

先来说说前端,现在的前端跟以前已经完全不同了,随着nodejs的出现,前端的开发模式跟后端的开发模式越来越靠近,mvc的理念,项目构建工具等等都让现在的前端开发发生了巨大的变化,如果你还是在用jquery一个页面一个页面的写js,那你不妨去接触下vue,react这类前端偏向于组件化编程的框架,nodejs肯定要会用,尤其是npm,谁用谁知道。

这里补充下界面的问题,很多不管是前端还是后端的开发人员,美工不是很好(我也是),bootstrap以及其相关的模板就要收藏一些了,基本的css需要了解,有功夫的还可以掌握,这样你就算有一个比较好的web界面了。

接着说前端,现在web应用程序已经不像以前那样做成一个一个的web页面了,现在的web应用程序的趋势是做成跟pc端程序一样富有交互性的单页面应用(SPA),这样一来就可以实现前后端完全分离,采用json或其它数据格式来进行前后端通信。那么如何来构建前端应用呢,现在用的比较多的是vue或react.

这里说下react,react本身其实只是个视图,他将页面封装成各个组件然后再组装起来,只用他来做一个web app是不现实的,要完成这个工作需要react全家桶来支撑,react用来呈现界面,react-route用来做页面路由,redux(store-存放应用数据,action-执行的操作,reducer-更新应用数据自动更新组件), react-redux用来组合react,将redux的store与react组件绑定,除了这些还需要fetch等第三方工具.

vue相对于react简单,一般的项目vue也完全可以搞定了,有了这些基本就可以开发了,前面说过现在的前端开发模式已经跟后台很相似了,前端可以用nodejs起自己的服务,用webpack来进行构建。开发相对于以前也越来越便利了。es6的一些语法糖以及相关转为es5的垫片保证了这些新语法的可用性,但是浏览器兼容就有点问题了。较低的浏览器可能不支持。总之,前端开发目前是一天一个样了。

再来说后端开发,后端现在一般技术选型都是以spring为中心的,因为目前spring是实际的j2ee标准,基本都是采用springmvc作为请求处理,struts现在应该很少用了,业务层也是基于spring的事物处理,持久层目前mybatis用的多,连接池也是用阿里的多,有了这些,基本的业务代码就可以写起来了,如果有其它需求,比如权限,还可以引入诸如shiro与spring security这样的框架来支撑,spring的目前发展还是比较快的,子项目也相当多,也可以根据自身的需要引入进来。

另外,自servlet3.0后,java web的开发已经完全可以注解化开发,包括用注解替换web.xml,spring相关配置文件等等,个人不喜欢xml,比较喜欢纯java配置。这个因人而异。最后数据库基本是mysql,最近alisql也开源了,也可以试试。总之,后端开发跟着spring基本就可以了,如果要做互联网化的话,那还要有很多东西要学,模块拆分,jms,redis,dubbo等等,这里只是针对传统企业应用,个人感觉互联网话是对传统企业应用的拆分与分布式化,先弄清楚传统企业应用的架构才能在此基础上逐步把应用架构改变为互联网架构。

前端后端都好了,还缺了前后端的接口编制,目前RESTFUL算是前后端接口通信的规范了吧。

全栈会了前端与后端貌似还不可以,因为没有一套管理工具来全程服务开发,比如版本控制系统,自动化构建工具,代码审核工具,代码质量管理工具,项目管理工具,持续集成系统等,git做为版本控制还是可以的,gitlab也可以,osc上也可以建自己的git项目,自动化构建工具推荐gradle,一用就喜欢,代码审核工具我们之前用的boardview,代码质量管理工具sonar,项目管理工具redmine,持续集成工具用jenkis,最后最好部署一套自己的maven私服,这样当程序开发完成后,使用jenkis就可以一键发布应用了。

最后说点基础的东西,鄙人的基础就不太牢,对与java web开发人员来说,英语一定要能阅读,达到spring.io上的官方文档基本能看懂就可以了,不能阅读,最新的东西你可能就不知道了,只能等别人翻译的了,别人翻译的有时候真不如自己直接看原版的。其次就是比较基础的东西了,比如java基础,对各种api的掌握程度,相关规范,官方的java语言规范,servlet规范可以看看,英文好的直接上英文版的吧,web开发http协议一定要看看,java虚拟机要有了解,jvm规范可以看看,tomcat需要了解,设计模式也需要会用,这些东西是java的原点,有时间多回来看看,总会有收货的。

就这么多了吧,算是自己未来的发展方向吧,与各位java web开发者共勉,有好的见解请留言哈。

精彩文章推荐

Java爬虫Get校花网所有美女图片,附源代码

Java编程新手入门要多久

Java程序员如何学习架构

Java基础第一阶段知识点,招实习的面试官都在问这些

戳二维码关注java工会获取更多技术干货

不可错过的技术公众号

呵呵

md


http://chatgpt.dhexx.cn/article/GRjJWnKX.shtml

相关文章

Web全栈~34.CAS

Web全栈~34.CAS 上一期 原子变量 Java并发包中的原子变量有以下几种 AtomicBoolean:原子Boolean类型,常用来在程序中表示一个标志位。 AtomicInteger:原子Integer类型。 AtomicLong:原子Long类型,常用来在程序中生成…

PythonWeb全栈开发介绍

文章目录 1 什么是Web开发2 Python Web开发技能点3 什么是全栈开发4 技术选型如何开始 1 什么是Web开发 权威定义 Web(World Wide Web)即全球广域网也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息…

Web全栈~17.购物车案例(JavaScript动态效果)

Web全栈~17.购物车案例(JavaScript动态效果) 上一期 前言 前三期已经对购物车的样式绘制完毕,那么这一期就用JavaScript来实现动态效果。 全选 思路 可以在input标签里,添加单击事件,并且传递一个this。这个this就会把input本身传递过去。 <li><input type"ch…

java web全栈_web全栈java开发哪个前景好

展开全部 全栈和java哪个能更好62616964757a686964616fe58685e5aeb931333365633862迎合市场需求&#xff0c;有同学咨询学习哪个在以后前景和工作薪水上能更吃香&#xff0c;首先我们先来了解下Java开发和全栈开发的区别。 全栈开发工程师是指掌握多种技能&#xff0c;能够独立…

Web全栈开发基础(小白入门版本)

博客传送门 近几个月认真写了写Web全栈代码&#xff0c;有点小收获这里分享一下。我还做了个PPT&#xff0c;资源路径 欢迎拍砖指点&#xff01; Web全栈开发是一个听起来很虎的名词。本文从技术层面解释全栈开发&#xff0c;能帮助没有全栈概念&#xff0c;或者说对相关技术…

web全栈开发项目搭建整体思路和学习路线

web全栈开发 全栈开发技术介绍&#xff1a; 全栈技术指可以完整整个项目搭建的有效集合。 包括&#xff1a;网站的设计&#xff0c;web前端开发&#xff0c;web后端开发&#xff0c;数据库设计&#xff0c;接口和组件&#xff0c;移动端开发&#xff0c;产品设计&#xff0c;系…

mysql建立索引的几大原则

1&#xff0e;选择唯一性索引 唯一性索引的值是唯一的&#xff0c;可以更快速的通过该索引来确定某条记录。例如&#xff0c;学生表中学号是具有唯一性的字段。为该字段建立唯一性索引可以很快的确定某个学生的信息。如果使用姓名的话&#xff0c;可能存在同名现象&#xff0c…

MySQL建立索引的正确姿势与使用索引的最佳指南!

引言 数据库索引&#xff0c;绝对是MySQL的核心功能之一&#xff0c;如果没有索引机制的数据库&#xff0c;那数据的检索效率绝对是令人无法接受的&#xff0c;毕竟没有索引的表数据&#xff0c;就如同一个普通的文本文件存储在磁盘中。在《索引上篇》中&#xff0c;我们对于M…

mysql创建索引语句

1:表结构 2:创建索引语句 alter table staffs add index idx_staffs_nameAgePos(NAME,age,pos); 执行后效果

MySQL建立索引的注意事项

大家都知道对数据库表字段建立索引可以有效的提升数据的查询效率&#xff0c;但索引也不是随便建立的&#xff0c;需要我们对建立索引的规范有一定的了解&#xff0c;才能更好的发挥出索引的优势&#xff0c;避免因为滥建索引反而带来整体性能的下降。 1、哪些列上建立索引&am…

MySQL之创建索引

文章目录 MySQL之创建索引1.五种索引分类2.创建表后创建索引命令(create)3.创建表后创建索引命令(alter)3.1单列主键索引3.2单列唯一索引3.3组合唯一索引3.4单列普通索引3.5组合普通索引3.6单列全文索引 4.创建表时创建索引命令(create)4.1单列主键索引(不起名)4.2组合普通索引…

MySQL几种创建索引的方式

一、创建表时创建索引 key 索引名 &#xff08;column&#xff09;&#xff1b; 二、表创建好后创建索引 1、通过Alter创建索引 ①PRIMARY KEY&#xff08;主键索引&#xff09; mysql > ALTER TABLE table_name ADD PRIMARY KEY ( column ) ②UNIQUE(唯…

Mysql 创建索引

数据库建立索引常用的规则如下&#xff1a; 1、表的主键、外键必须有索引&#xff1b; 2、数据量超过300的表应该有索引&#xff1b; 3、经常与其他表进行连接的表&#xff0c;在连接字段上应该建立索引&#xff1b; 4、经常出现在Where子句中的字段&#xff0c;特别是大表的…

mysql 创建索引的三种方式

1、使用CREATE INDEX创建&#xff0c;语法如下&#xff1a; CREATE INDEX indexName ON tableName (columnName(length)); 2、使用ALTER语句创建&#xff0c;语法如下&#xff1a; ALTER TABLE tableName ADD INDEX indexName(columnName); ALTER语句创建索引&#xff0c;下面提…

前端的rem的用法

1.概念 首先来说说rem的概念&#xff0c;rem就是根元素的字体大小单位。 2.简单讲讲rem的概念 <html><head><meta charset"utf-8"><style type"text/css">html {font-size: 30px;}.div1 {font-size: 1rem;}.div2{font-size: 30…

前端预览pdf文件流

场景是前端需要实现预览各种文件的功能&#xff0c;又要保证安全&#xff0c;所以采用了文件后端转换成pdf文件流前端预览的方式进行预览&#xff0c;经过一段时间查找帖子&#xff0c;记录一下遇到最大的坑 网上帖子很多&#xff0c;试了之后一直没有实现&#xff0c;究其根源…

前端实现文件下载的方法

前端实现文件下载 前端下载一般分为两种情况&#xff0c;一种是后端直接给一个文件地址&#xff0c;通过浏览器打开就可以下载&#xff0c;另外一种则需要发送请求&#xff0c;后端返回二进制流数据&#xff0c;前端解析流数据&#xff0c;生成URL&#xff0c;实现下载。 一、…

前端项目部署到服务器

1.准备工具 服务器&#xff1a;阿里云 腾讯云 华为云都可以 我这里使用的是阿里云ECS共享型(推荐) xshell&#xff1a;用于远程连接服务器&#xff0c;修改配置文件 xftp&#xff1a;用于连接远程服务器&#xff0c;将本地资源上传到远程服务器 2.服务器设置 1.第一次需重…

微服务前端部署

四.config机器前端部署 1.在config机器上安装jdk1.8,mysql,redis,nacos,nginx安装流程我就不一一解释了,大家可自行百度,后面我会贴上必要的配置信息 2.修改前端的vue.config.js的配置 配置修改:前端ui文件中的index.js文件、vue.config.js文件 如下图: 3.修改后在前端…

前端cookie详解

cookie在前端还是比较总重要的&#xff0c;接下来将总结一下cookie知识点。 将从以下方面去聊一聊cookie。 1、什么样的数据适合放到cookie中。 2、cookie是如何设置的。 3、cookie如何进行携带传送给服务器的。 4、cookie如何实现删除的。1、什么样的数据适合存放在cookie中?…