个人技术博客(α)------javaweb的学习路程
该博文大致内容是学习的一个过程,心得,并不是以技术博客为主,在此说明。
关于javaweb的学习开始的时间大概是从大二下(2017年6、7月份)的暑假开始的,在学长的介绍下加入了实验室进行学习,由于是一枚萌新,之前学习的内容大部分还是以课程内容,而课程大一大二涉及的专业方向的课又比较少,所以除了c和c++略懂之外可以说是一无所知,而学长就丢给了我一堆学习的视频,大致内容如下(附带百度云的链接):
(链接的顺序就是我学习的顺序,可以参考下)视频是韩顺平老师的教学视频,虽然可能年代有点久远,但是讲的还是不错的,就是后面的框架可以不看,去看些新的,后续也会提到
java_se: http://pan.baidu.com/s/1i47c8T3 密码:zcd8
java servlet:http://pan.baidu.com/s/1hs7uTEW 密码:clw3
java jsp:http://pan.baidu.com/s/1hs2Bnec 密码:qh39
ssh框架(Struts+hibernate+spring)
Struts:http://pan.baidu.com/s/1qYt7wUK 密码:q24u
hibernate:http://pan.baidu.com/s/1bozNw0R 密码:0dwx
spring:http://pan.baidu.com/s/1eSGS0iY 密码:1vzf
对学习资料的大致介绍:
一开始学习的时候我就很苦恼,不清楚是什么,不知道顺序如何弄起,在后面的学习中渐渐明白了一些关系。
java_se:视频中讲的就是最基础java的内容,语法,基础算法,结构体什么的,后面比较难的就是线程这些东西,,其中的线程是很重要的东西。
servlet+jsp:servlet大概就是调用的一些方法,jsp就是你眼睛看到的界面,然后servlet来实现jsp的跳转和实现一些功能。在学完这些之后,你就可以写一些简单的网页了,可是这种网页是没有框架的,这时候我们就需要去学习ssh框架了。
ssh框架(Struts+hibernate+spring):
问:什么是框架呢?
答:顾名思义,框架就是带有骨骼,支架的含义。 在软件工程中,框架被定义为整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。框架是实现了某应用领域通用功能的底层服务。使用这种框架的编程人员可以在一个通用功能已经实现的基础上开始具体的系统开发。框架提供了所有应用期望的默认行为的类集合。具体的应用通过重写子类或组装对象来支持应用专用的行为。问:那为什么要用框架呢?
答:(1)更加规范化,在写大项目的时候和你一起合作的伙伴根据规范,就可以更好的衔接,而不至于出太多的错误。(2)把前段后端很明显的分割开,分工明确,便于分配。(3)框架自身提供的一些方法,可以使你的开发效率更快。(大概就是这样,可能还有更多的好处,这里就不一一细举了,反正一句话,学好框架是很重要的)问:那什么是ssh框架呢?
答:先说下其组成部分,hibernate:这个是跟数据库相联系的,这个是给我印象最深的,因为使用hibernate的话,比如你原来使用mysql的数据库,现在想用oracle的话,你就只要改几句话就可以了,如果你不用,那就悲剧了,你得改一大堆的东西,因为数据库的一些细节还是不同的。然后就是spring和Struts这两个感觉是同一级别的东西,实现的东西也差不多,所以这里使用ssh框架我觉得在现在不太合适,可能因为这个视频是比较早以前的东西,所以会采用ssh,我的一位大佬同学告诉我说,ssh框架现在用的人已经很少了,Struts的占比率现在已经少之又少,目前主要是spring当道,所以大部分的框架是使用spring+hibernate的就行了,Struts已经有点凉的味道。所以在这里,我并不推荐你们看ssh,还是去学spring+hibernate吧。问:如果要学习spring+hibernate要怎么学呢?
答:这个我目前也在学,所以也没什么经验,也没建议,大概就是百度了一些方法在这里讲一下,(1)上网去找视频,这是比较适合新手的人去看的,因为比较容易理解(2)看文档+做实例,这是我目前用的方法,怎么说,学了几天的感觉就是很痛苦,因为我真的是个新手,所以第一种方法可能更适合我,但是苦在没有好的视频,如果有,希望能推荐给我参考下(3)去买参考书,我查了下,大部分人都推荐spring实战这本书,我也跟风买了一本,今天刚到,还在EMS那边,这里真心吐槽EMS,简直慢的过分。我后面买的其他快递全到了,EMS才刚到,也是醉了。
这里还有就是spring好像也分为几种框架,大佬说先学spring mvc框架,是比较入门的,还有其他的好像要用到一大堆注释,比较难。
使用的工具:
我最开始一直都是使用eclipse和myeclipse,但是,在大佬来帮忙改bug 的时候被吐槽了,说是myeclipse现在比较难用,推荐使用idea的编译工具,我也下载使用了下,确实是很智能,很方便,就是不太熟练,多敲点应该就能上手了。
学习小建议:
其他的建议可能没啥,我最想说的大概就是不要看视频上瘾,看的时候觉得好想都很简单,就比如web里面生命周期的事情,当初我就是一直跳着看着,没注意这个,到后面自己写小项目的时候才发现这个东西是多么重要,所以,建议大家在看视频的时候最好还是多动手去敲代码,那种感觉是完全不同的,实战你才会发现没那么简单。
还有就是视频一些部分是可以快进看的,更推荐的是快进看完视频,然后去敲个东西练练手,或者,拿个项目去分析你会学到更多,因为视频看完真的很容易完,看的太细反而效率很低下。
之后的学习之路:
下面主要的学习分为三个方面,按照重要顺序安排:
(1)学号spring mvc框架,将以前的实例改为该框架。
(2)开始转向Android方向,根据第一行代码学习(目前也有学一点,但是不多,主要还是放在了web上面)。
(3)空闲之余,希望理解一些前端得到知识,因为感觉前端优雅也很关键,也挺喜欢那一方面的。
如果有什么学习上面的建议,或者我里面观点不对,也可以在下方给出建议与意见,谢谢。
个人技术博客(α)------javaweb的学习路程的更多相关文章
- 个人技术博客Alpha----Android Studio学习
项目联系: 本次项目我主要负责Android studio的后端,以及游戏文案游戏策划,结果后来事情太散了,Android studio学的不咋地,文案写完还有帮着写一写数据库的插入语句,然后就是跟队 ...
- 多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客
多IDC数据分布--MySQL多机房部署 - 学习笔记 - 51CTO技术博客 多IDC数据分布--MySQL多机房部署
- [福大软工] Z班——个人技术博客评分
个人技术博客 作业地址 https://edu.cnblogs.com/campus/fzu/SoftwareEngineering2015/homework/1070 作业要求 个人技术博客单次作业 ...
- 如何写出高质量的技术博客 这边文章出自http://www.jianshu.com/p/ae9ab21a5730 觉得不错直接拿过来了 好东西要大家分享嘛
如何写出高质量的技术博客?答案是:如果你想,就一定能写出高质量的技术博客.看起来很唯心,但这就是事实.有足够愿力去做一件目标明确,有良好反馈系统的事情往往很简单.就是不停地训练,慢慢地,你自己 ...
- ******IT公司面试题汇总+优秀技术博客汇总
滴滴面试题:滴滴打车数据库如何拆分 前端时间去滴滴面试,有一道题目是这样的,滴滴每天有100万的订单,如果让你去设计数据库,你会怎么去设计? 当时我的想法是根据用户id的最后一位对某个特殊的值取%操作 ...
- 转: BAT等研发团队的技术博客
BAT 技术团队博客 1. 美团技术团队博客: 地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.c ...
- 技术博客(初用markdown)。
技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容 输出不同的三位数 以下为代码和输出结果 *** #include<stdio.h> ...
- 技术博客(初用markdown)
技术博客 菜鸟教程在这个网站我学到许多有趣的东西,并且弥补了我之前的一些不足之处. 以下为我学习到的内容. 1 如果想输出多个多位数的时候,可以尝试用多个if语句.如果需要输出3为数的时候,设置三个变 ...
- 作业一:创建个人技术博客、自我介绍、简单的C程序
年9月14日中午12点: 一.主要内容 建个人技术博客(博客园 www.cnblogs.com) 本学期将通过写博客的方式提交作业,实际上,最终的目的是希望同学们能通过博客的形式记录我们整个学习过程 ...
随机推荐
- OS开发(2):自定义tabbar | 导航条 | 突显中间按钮
tabbar是放在APP底部的控件,也叫navigationbar或导航条.常见的APP都使用tabbar来进行功能分类的管理,比如微信.QQ等等. 需求是这样的,需要一个特殊一点的tabbar,要求 ...
- python的Web框架,Django的ORM,模型基础,MySQL连接配置及增删改查
Django中的ORM简介 ORM概念:对象关系映射(Object Relational Mapping,简称ORM): 用面向对象的方式描述数据库,去操作数据库,甚至可以达到不用编写SQL语句就能够 ...
- PHP报错类型
p: 语法错误 定界符; F: 致命错误 函数;方法重名;包含(require) W: 警告 包含(include); N: 通知 变量未声明,函数
- Mini2440 通过 SPI 操作 OLED (裸板下使用 SPI 控制器)
在裸板下使用 SPI 的话,有两种方法可选: 使用 IO 口模拟 SPI 进行操作 使用 SPI 控制器进行操作 这里我们选用控制器的方式,简单方便. 初始化 SPI static void SPIC ...
- [转]多个ajax请求时控制执行顺序或全部执行后的操作
本文转自:https://blog.csdn.net/fsdad/article/details/71514822 一.当确保执行顺序时: 1. 请求加async: false,,这样所有的ajax就 ...
- jQuery 【事件】【dom 操作】
事件 hover( function(){},function(){}) -- 鼠标移入移出事件 toggle(function(){},function(){},function(){} ...
- Java高级类特性(二)
一.static关键字 static关键字用来声明成员属于类,而不是属于类的对象.1). static (类)变量类变量可以被类的所有对象共享,以便与不共享的成员变量区分开来. static变量也称作 ...
- elasticsearch6.7 05. Document APIs(10)Reindex API
9.REINDEX API Reindex要求为源索引中的所有文档启用_source. reindex 不会配置目标索引,不会复制源索引的设置.你需要在reindex之前先指定mapping,分片数量 ...
- 通过Eureka自带REST API强行剔除失效服务
1.确定需要强行剔除的服务 2.执行接口 方便复制: http://{ip}:{port}/eureka/apps/CONFIG-SERVER-TEST/tom:config-server-test: ...
- HTML常用标签及属性
标签格式 格式: 双边:<标签名 属性1="值1" 属性2='值2' 属性3=值3>内容</标签名> 单边:<标签名 属性1="值1&quo ...