个人技术博客(α)------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) 本学期将通过写博客的方式提交作业,实际上,最终的目的是希望同学们能通过博客的形式记录我们整个学习过程 ...
随机推荐
- Netty入门简介
前言 Netty是一个高性能.异步事件驱动的NIO框架,它提供了对TCP.UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机 ...
- NIO ServerSocketChannel ScoketChannel
package com.yb.nio; import java.io.IOException; import java.net.InetSocketAddress; import java.net.S ...
- 迁移基于Microsoft.DirectX的AudioRecoder类到SharpDX上
最近迁移项目到x64上,要处理的东西还是蛮多的,所以我要在说一次,不到万不得已不要用COM组件,要用COM组件也得首先考虑不需要我们关心平台的做法,或者得有64位版本. 比如Office的COM组件调 ...
- PHP序列化变量的4种方法
序列化是将变量转换为可保存或传输的字符串的过程:反序列化就是在适当的时候把这个字符串再转化成原来的变量使用.这两个过程结合起来,可以轻松地存储和传输数据,使程序更具维护性. 1. serialize ...
- C#中的readonly跟const用法小结
总结一下常量和只读字段的区别: 由来: 笔者也是在看欧立奇版的<.Net 程序员面试宝典>的时候,才发现自己长久以来竟然在弄不清出两者的情况下,混用了这么长的时间.的确,const与rea ...
- 【手记】解决“未能创建 SSL/TLS 安全通道”异常
之前写了一个桌面程序,程序会间歇性访问某个https接口,一直用的好好的,今天突然报错了,异常就发生在访问接口的地方,曰“请求被中止,未能创建 SSL/TLS 安全通道.”,另外有台电脑也有跑该程序, ...
- 无法从其“Checked”属性的字符串表示形式“checked”创建“System.Boolean”类型
如果你要在后台进行设置的话...在<input type="radio" id="dd" name="dd" runat=" ...
- python基础小结
1.常用的格式符号 2.input函数 3.在程序中,看到了%这样的操作符,这就是python中的格式化输出 age = 18 name = "xiaohua" print(&qu ...
- LoadRunner接口测试标准模板
Action() { int nHttpRetCode; // 默认最大长度为256,get请求需注意缓存问题,需要根据content-length进行修改 web_set_max_html_para ...
- Python hashlib 模块
使用 md5 加密 import hashlib m = hashlib.md5() m.update('hello world'.encode('utf-8')) # 加密的字符串需要先编码成 ut ...