目录
第一章 编程基础
程序员到架构师的进阶之路是非常艰辛和漫长的,需要掌握很多基础知识和高级的知识技能,本章大致介绍程序员进阶之路,让我深刻认识到程序员的发展方向,刚毕业的程序员一枚,就应该规划好以后的发展方向,便只管风雨兼程,一往无前。
1.1 程序员进阶
大学毕业后,作为菜鸟的我经过千辛万苦,终于找到了我人生中的第一份工作。但是,随着工作的展开,我遇见越来越多的问题,迫切的需要学习新的知识。在每天需要编写大量代码的同时 也需要对自己的职业生涯做一个规划。结合前辈们走过的道路,作为一名程序员,职业规划大概是这样的。
到了高级程序员,可供选择的方案就比较读了,大致如下图所示:
高阶程序员向上进阶有三种方法。
一是成为项目经理,负责管理加上部分开发。因为高级程序员对公司的项目是非常了解的,对公司目前的开发过程也非常熟悉。二是成为一名架构师,专注于技术,专门负责维护公司的项目、产品方面的架构工作。三是转型成为一名产品经理,纯粹负责公司产品的规划、设计、包装,甚至肩负一定的市场职责。所谓的产品经理,就是向技术部提出一个原型设计。
到了高级程序员的阶段,对于是选择做项目经理,产品经理或者技术写代码成为优秀的架构师,每个人都有不同的想法,所做的选择也是不一样的,这跟自己的能力和性格也有一定的关系,总的来说,拥有更多更强的能力,就拥有更多的选择,还有什么理由不学习呢?
项目经理:在大型公司中,主要起协调资源的作用,再往上还有项目集经理。
产品经理:一般则是公司已经将项目过度到产品后,才能发挥更大的作用。
架构师:专注于公司的研发平台,管理架构方面的东西。例如,写核心代码,并且指导底下的开发人员合理的编码,维护代码库。
全栈工程师:类似高级开发的角色,只不过懂得东西比较多,前端和后端都可以做,技术比较全面。
每种开发语言,都有自己领域的架构师,如C++架构师、PHP架构师、Java架构师等。架构师需要对公司的整个研发平台了如指掌,清楚平台中细枝末节的东西。真正的架构师看到代码就有一种亲切感,可以很容易分析出隐藏在代码前后的业务过程。
Java架构师,至少需要在java领域有5年的开发 经验。需要掌握的内容有很多,可以分为前端、后端、数据库、服务器、中间件等。
前端插件可以极大的提高开发效率,甚至在不需要美工的情况下做出时尚的界面,类似的插件有AngularJS、Avalon、Bootstrap、ExtJS、JQuery EasyUI、JQuery UI等,这些叫做前端组件或者前端框架,除了这些插件外,还需要掌握JavaScriptHTML等技能。
后端主要掌握的技能是Java、JVM、Servlet、Struts、Spring、Hibernate、Mybatis,Spring MVC、Spring boot等。
数据库有Oracle、Mysql、SQL Server, 一般常用的数据库就这三个,但是除了这些外,还有NoSQL的MongodbDB等区别于传统类型的数据库。需要掌握数据库的各种SQL语法,以及掌握数据库的调优、备份和恢复等技能。
服务器包括物理服务器、云服务器,还有web服务器如Tomcat等。
卧槽,需要学这么多东西,架构师才能入门初级。架构师之路道阻且长,赶紧学习去了。
1.2 选择开发工具
Java中常用的开发工具有NetBeans、JBuilder、Eclipse、MyEclipse、InterIIiJIEAD等。
1.3 安装jdk
JDK是java开发的核心,包含了java运行环境、工具、基础类库。如果没有JDK,Java开发是无法运行起来的,Java项目也无法运行起来。
JDK安装和环境变量配置这么简单的事懒得写,教程很多。
1.4 安装Tomcat服务器
Tomcat安装也贼简单,不再赘述,在此介绍一下何为Tomcat。
1.4.1 什么是Tomcat
Tomcat简单的说就是一个运行JAVA的网络服务器,底层是Socket的一个程序,它也是JSP和Serlvet的一个容器。
1.4.2 为什么我们需要用到Tomcat
如果你学过html,css,你会知道你写的页面只能自己访问,别人不能远程访问你写的页面,Tomcat就是提供能够让别人访问自己写的页面的一个程序。
1.4.3 配置Tomcat
运行Tomcat需要JDK的支持【Tomcat会通过JAVA_HOME找到所需要的JDK】。
- 新建JAVA_HOME环境变量【路径是JDK的主目录】
- 进入Tomcat目录下的bin中启动startup.bat,以下是成功启动Tomcat的页面。
- 在浏览器地址栏输入http://localhost:8080,如果能够出现Tomcat页面,说明配置成功了!
注意: 如果在使用Tomcat时出现了 Errordeploying web application directory web222,很大原因就是jdk和tomcat的版本不匹配。目前,jdk8不能匹配tomcat7.0,所以要降低jdk版本【换成JDK7】
当然也有可能不是一帆风顺能够直接启动Tomcat,不能正常启动Tomcat会有以下情况
- JAVA_HOME配置错误
- 端口被占用了
第一种方法:在cmd输入netstat -anb查看谁占用了该端口【Tomcat默认的是8080】,在进程中关闭它
第二种方法:主动改变tomcat的端口, 到tomcat主目录下的conf/server.xml文件中修改,把8080端口改成是8088或者是其他的‘
1.4.4 相关术语介绍
1.4.5 tomcat结构目录
- bin:启动和关闭tomcat的bat文件
- conf:配置文件
- server.xml该文件用于配置server相关的信息,比如tomcat启动的端口号,配置主机(Host)
- web.xml文件配置与web应用(web应用相当于一个web站点)
- tomcat-user.xml配置用户名密码和相关权限.
- lib:该目录放置运行tomcat运行需要的jar包
- logs:存放日志,当我们需要查看日志的时候,可以查询信息
- webapps:放置我们的web应用
- work工作目录:该目录用于存放jsp被访问后生成对应的server文件和.class文件
1.4.6 webapps目录的详细说明
在webapps中建立了web1目录,下面放置我们的html文件,jsp文件,图片等等,则web1就被当做web应用管理起来【tomcat6.0以后的版本才支持】
例子:在webapps下创建一个web站点,在web站点下创建一个html文件,访问html文件
web站点的目录是有规范的
1.4.7 配置虚拟目录
为什么需要配置虚拟目录?
如果把所有web站点的目录都放在webapps下,可能导致磁盘空间不够用,也不利于对web站点目录的管理【如果存在非常多的web站点目录】
把web站点的目录分散到其他磁盘管理就需要配置虚拟目录【默认情况下,只有webapps下的目录才能被Tomcat自动管理成一个web站点】
把web应用所在目录交给web服务器管理,这个过程称之为虚拟目录的映射
- 配置虚拟目录方法一:
- 在其他盘符下创建一个web站点目录,并创建WEB-INF目录和一个html文件。
- 找到Tomcat目录下/conf/server.xml文件
- 在server.xml中的节点下添加如下代码。path表示的是访问时输入的web项目名,docBase表示的是站点目录的绝对路径
- 访问配置好的web站点
- 配置虚拟目录方法二:
- 进入到conf\Catalina\localhost文件下,创建一个xml文件,该文件的名字就是站点的名字。
- xml文件的代码如下,docBase是你web站点的绝对路径
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="D:\web1" reloadable="true"></Context>
- 访问web站点下的html资源
Tomcat体系结构
浏览器访问WEB资源的流程图
1.5 Hello World程序
JDK安装配置好了,开发工具也选好了,Tomcat也安装好了,至于JDK如何配置,Eclipse如何安装,Tomcat如何集成到Eclipse上,简单得很,现在来开始写万恶的Hello World 入门程序了。
略。