EasyUIJ二EE学习路径图

java android线路

javase基础:

java集合,泛型,卓殊处理,Annotation,输入输出,四线程,互联网编制程序,类加运载飞机制和反光,

 

java web:

web运作规律,servlet,jsp才干,mvc设计形式,oracle,JDBC,http会话使用与治本,EL表明式语言,自定义JSP标签,JSTL
core标签库,轻松标签和标签文件,过滤器,监听器

 

android应用开拓:


用与支出环境,分界面编制程序,事件处理,activity与fragment,intent和intentfilter,应用财富,图形与图像处理,数据存储与IO,使用contentProvider,多媒体应用开采,opengl与3d应用,互联网选取,管理桌面,传感应用开采,GPS应用开垦,使用
谷歌 Map服务,service与broadcastReceiver

 

类别实战:

12306客户端,和讯腾讯网客户端,手机香港卫星电视机有限公司,小车之家,捕鱼达人,

 

android内核开拓:

深 入理解Android NDK,用JNI达成原生代码通讯,使用swig自动生成INI代码,日志调节和测试及故障处理,android NDK程序逆向分析,动态调节和测试android程序,android软件破解技艺,android系统移植,linux,进入android dalvik虚拟机,android可试行文件,静态分析android程序

 

 

 

 

 

 

传智播客J2EE学习路线图

(2015版)

第一步:JavaSE部分

  • #### 第三阶段 Java基础知识

    >> Computer基础知识
    >> Java开垦条件的搭建和行使
    >> 进制调换
    >> 有标记数据表示法(原码,反码,补码)
    >> Java语法基础(关键字,标志符,注释,
          常量,变量,数据类型,运算符)
    >> 程序流程序控制制语句及其使用
          (if,switch,for,while)
    >> 函数及其使用
    >> 数组及其使用
    >> 水仙花,裴波纳契数列,数据加密
          等精湛难题的详解疏解。

  • #### 第二品级 面向对象

    >> 面向对象观念
    >> 类与对象
    >> 类的3结合
    >> 封装及其使用
    >> 承接及其使用
    >> 多态及其使用
    >> 抽象类及其使用
    >> 接口及其使用
    >> 包,导包及其使用
    >> 单例设计情势,不难工厂情势和工厂
          方法方式,模板设计格局。

  • #### 第二品级 Eclipse的运用和常用API

    >> Eclipse的设置和使用
    >> Java API的介绍和利用
    >> 字符串类的宽广操作
    >> 正则表达式的行使
    >> 日期类的使用
    >> 集合种类布局及其应用
    >> 非常系列布局及其应用
    >> File类的概述及其使用
    >> IO流连串布局及其使用
    >> 递归算法,装饰设计形式,泛型的使
          用,巩固for循环,可变参数,静态导
          入等特点的详尽解说。

  • #### 第4阶段 JavaSE高级

    >> 10二线程概述及其使用
    >> 八线程的线程安全主题材料及消除方案
    >> 死锁难点
    >> 十2线程的劳动者消费者难点
    >> 线程组,线程池难点
    >> GUI的概述和核心选取
    >> GUI中事件监听机制及适配器设计形式
    >> 网络编制程序概述及其使用

    >> UDP协议发送和接收数据
    >> TCP协议发送和接收数据
    >> 反射的概述及其应用
    >> 反射获取类中的成员并行使
    >> 反射赶上泛型检查
    >> 反射运行配置文件的剧情
    >> 多线程群聊,聊天室的编辑,文件上传
          服务器,类加载器,反射及代理。

  • #### 摄像下载

    >>基础有趣版下载
    >>基础优异版下载

第二步:JavaWeb部分

  • #### 第1阶段 JavaWeb前端

    >> HTML
    >> css
    >> JavaScript
    >> dom

  • #### 第2阶段 JavaWeb基础

    >> xml
    >> tomcat
    >> http协议
    >> servlet
    >> request与resposne
    >> cookie与session

  • #### 第3阶段 JavaWeb中级

    >> jsp语法
    >> el与jstl
    >> 自定义标签
    >> 国际化
    >> mvc与jsp模式
    >> web三层架构

  • #### 第4阶段 JavaWeb-jdbc

    >> Mysql数据库
    >> 多表操作
    >> jdbc原理与API
    >> 事务管理
    >> DataSource
    >> DbUtils
    >> 分页与任何操作

  • #### 第5阶段 JavaWeb-高级

    >> Listener
    >> Filter
    >> 文件上传下载
    >> ajax操作

  • #### 第伍等级 项目实战

    >> 基础抓实
    >> 在线支付
    >> 项目实战

摄像下载

>>JavaWeb录像下载

其三步:SSH框架部分

Struts2框架

  • #### 1. Struts2入门

    >> 框架介绍
    >> Struts2框架介绍
    >> Struts贰异常快入门
    >> Struts2配置
    >> 等等

  • #### 2. action

    >> action成立格局
    >> action配置
    >> action调用
    >> action访问servlet
    >> Result结果类型

    >> action类型转变
    >> action处理请求参数
    >> 请求参数校验
    >> Struts2国际化

  • #### 3. 拦截器

    >> 拦截器原理介绍
    >> 拦截器配置与运用
    >> 拦截器案例
    >> 文件上传与下载

  • #### 4. Struts2核心-拦截器

    >> 拦截器原理介绍
    >> Struts2拦截器配置与应用
    >> 拦截器案例
    >> 文件上传与下载
    >> 触发器

  • #### 5. ognl与valueStack

    >> ognl介绍与主干使用
    >> valueStack介绍与行使
    >> ognl获取valueStack中
          信息

  • #### 6. Struts2标签库

    >> 逻辑标签介绍
    >> 表单标签介绍

  • #### 7. Struts贰归纳案例

    >> Struts二防护表单重提交
    >> Struts2中json插件使用
    >> struts案例-职员和工人新闻保管

Spring框架

  • #### 1. Spring入门

    >> IoC快速入门
    >> Bean管理
    >> DI注重注入
    >> 注脚开辟

  • #### 2. 断面编制程序

    >> AOP编程观念
    >> 自定义AOP实现
    >> AspectJ编程
    >> JdbcTemplate使用

  • #### 3. 事务管理

    >> 编制程序式事务管理
    >> 注脚式事务管理
    >> 评释事务管理

  • #### 3. SSH整合

    >> Struts2整合spring
    >> Spring整合Hibernate
    >> HibernateTemplate
    >> 注明整合

Hibernate框架

  • #### 一. Hibernate支付基础

    >> Hibernate概述
    >> Hibernate急忙入门
    >> HibernateAPI的详解及常见配置
    >> Hibernate持久化配置及主键生成战略

  • #### 2. Hibernate中级开辟

    >> Hibernate持久化对象的景况转换
    >> Hibernate的一级缓存及原理
    >> Hibernate关联关系安排及运用
    >> Hibernate检索情势

  • #### 三. Hibernate高档开荒

    >> Hiberante抓取计策
    >> Hibernate事务并发及处理
    >> Hibernate二级缓存
    >> Hibernate查询缓存

SSH项目实战

第四步:JavaScript部分

  • #### 第1阶段 JavaScript

    >> JavaScript基础内容
    >> JavaScript的ECMA
          Script(语法内容)
    >> JavaScript的BOM
          (浏览器对象模型)
    >> JavaScript的DOM编程
    >> JavaScript常用事件
    >> JavaScript解析XML
    >> JavaScript的函数
    >> JavaScript的对象
    >> JavaScript的闭包
    >> JavaScript的原型
    >> JavaScript的继承

  • #### 第2阶段 Ajax

    >> 同步交互与异步交互

     

     

    传智播客J2EE学习路径图

    (2014版最新)

    第一步:JavaSE部分

    • #### 第壹阶段 Java基础知识

      >> 计算机基础知识
      >> Java开垦条件的搭建和平运动用
      >> 进制调换
      >> 有标记数据表示法(原码,反码,补码)
      >> Java语法基础(关键字,标志符,注释,
            常量,变量,数据类型,运算符)
      >> 程序流程序调节制语句及其使用
            (if,switch,for,while)
      >> 函数及其使用
      >> 数组及其使用
      >> 姚女子花剑,裴波纳契数列,数据加密
            等杰出难点的详解批注。

    • #### 第一等第 面向对象

      >> 面向对象思想
      >> 类与目的
      >> 类的3结合
      >> 封装及其应用
      >> 承接及其应用
      >> 多态及其应用
      >> 抽象类及其应用
      >> 接口及其使用
      >> 包,导包及其应用
      >> 单例设计情势,轻易工厂格局和工厂
            方法形式,模板设计情势。

    • #### 第二等第 Eclipse的施用和常用API

      >> Eclipse的安装和动用
      >> Java API的介绍和使用
      >> 字符串类的科学普及操作
      >> 正则表明式的运用
      >> 日期类的选用
      >> 集合种类布局及其应用
      >> 非常体系布局及其使用
      >> File类的概述及其使用
      >> IO流连串布局及其使用
      >> 递归算法,装饰设计情势,泛型的使
            用,加强for循环,可变参数,静态导
            入等特点的详细讲明。

    • #### 第4阶段 JavaSE高级

      >> 二十四线程概述及其使用
      >> 二10拾2线程的线程安全主题材料及缓解方案
      >> 死锁问题
      >> 四线程的生产者消费者难题
      >> 线程组,线程池难点
      >> GUI的概述和宗旨使用
      >> GUI中事件监听机制及适配器设计情势
      >> 互联网编制程序概述及其应用

      >> UDP协议发送和接收数据
      >> TCP协议发送和接收数据
      >> 反射的概述及其使用
      >> 反射获取类中的成员并运用
      >> 反射越过泛型检查
      >> 反射运营配置文件的始末
      >> 多线程群聊,聊天室的编辑撰写,文件上传
            服务器,类加载器,反射及代理。

    • #### 录制下载

      >>基础风趣版下载
      >>基础经典版下载

    第二步:JavaWeb部分

    • #### 第1阶段 JavaWeb前端

      >> HTML
      >> css
      >> JavaScript
      >> dom

    • #### 第2阶段 JavaWeb基础

      >> xml
      >> tomcat
      >> http协议
      >> servlet
      >> request与resposne
      >> cookie与session

    • #### 第3阶段 JavaWeb中级

      >> jsp语法
      >> el与jstl
      >> 自定义标签
      >> 国际化
      >> mvc与jsp模式
      >> web三层架构

    • #### 第4阶段 JavaWeb-jdbc

      >> Mysql数据库
      >> 多表操作
      >> jdbc原理与API
      >> 事务管理
      >> DataSource
      >> DbUtils
      >> 分页与别的操作

    • #### 第5阶段 JavaWeb-高级

      >> Listener
      >> Filter
      >> 文件上传下载
      >> ajax操作

    • #### 第伍等级 项目实战

      >> 基础抓实
      >> 在线支付
      >> 项目实战

    #### 录制下载

    >>JavaWeb录像下载

    其三步:SSH框架部分

    ### Struts2框架

    • #### 1. Struts2入门

      >> 框架介绍
      >> Struts二框架介绍
      >> Struts二便捷入门
      >> Struts2配置
      >> 等等

    • #### 2. action

      >> action创设格局
      >> action配置
      >> action调用
      >> action访问servlet
      >> Result结果类型

      >> action类型调换
      >> action处理请求参数
      >> 请求参数校验
      >> Struts2国际化

    • #### 3. 拦截器

      >> 拦截器原理介绍
      >> 拦截器配置与使用
      >> 拦截器案例
      >> 文件上传与下载

    • #### 4. Struts2核心-拦截器

      >> 拦截器原理介绍
      >> Struts2拦截器配置与运用
      >> 拦截器案例
      >> 文件上传与下载
      >> 触发器

    • #### 5. ognl与valueStack

      >> ognl介绍与中央采取
      >> valueStack介绍与利用
      >> ognl获取valueStack中
            信息

    • #### 6. Struts2标签库

      >> 逻辑标签介绍
      >> 表单标签介绍

    • #### 七. Struts二综合案例

      >> Struts2防止表单重提交
      >> Struts第22中学json插件使用
      >> struts案例-职员和工人消息保管

    ### Spring框架

    • #### 1. Spring入门

      >> IoC飞速入门
      >> Bean管理
      >> DI信赖注入
      >> 表明开辟

    • #### 二. 断面编制程序

      >> AOP编制程序看法
      >> 自定义AOP实现
      >> AspectJ编程
      >> JdbcTemplate使用

    • #### 三. 事务管理

      >> 编制程序式事务管理
      >> 注脚式事务管理
      >> 注明事务管理

    • #### 3. SSH整合

      >> Struts2整合spring
      >> Spring整合Hibernate
      >> HibernateTemplate
      >> 注脚整合

    ### Hibernate框架

    • #### 1. Hibernate付出基础

      >> Hibernate概述
      >> Hibernate飞快入门
      >> HibernateAPI的详解及常见配置
      >> Hibernate持久化配置及主键生成计策

    • #### 二. Hibernate中间开荒

      >> Hibernate持久化对象的情景调换
      >> Hibernate的拔尖缓存及原理
      >> Hibernate关联关系计划及应用
      >> Hibernate检索格局

    • #### 三. Hibernate高档开采

      >> Hiberante抓取计策
      >> Hibernate事务并发及处理
      >> Hibernate二级缓存
      >> Hibernate查询缓存

    ### SSH项目实战

    第四步:JavaScript部分

    • #### 第1阶段 JavaScript

      >> JavaScript基础内容
      >> JavaScript的ECMA
            Script(语法内容)
      >> JavaScript的BOM
            (浏览器对象模型)
      >> JavaScript的DOM编程
      >> JavaScript常用事件
      >> JavaScript解析XML
      >> JavaScript的函数
      >> JavaScript的对象
      >> JavaScript的闭包
      >> JavaScript的原型
      >> JavaScript的继承

    • #### 第2阶段 Ajax

      >> 同步交互与异步交互
      >> 异步交互原理
      >> 异步交互实现步骤
      >> 异步交互的其实案例
      >> 请求响应使用的数码格式

    • #### 第3阶段 jQuery

      >> JavaScript常用库介绍
      >> jQuery基本使用
      >> jQuery的接纳器
      >> jQuery的DOM操作
      >> jQuery的事件处理
      >> jQuery的Ajax操作
      >> jQuery的常用插件

    • #### 第4阶段 EasyUI

      >> 怎么着运用EasyUI
      >> EasyUI的常用控件
      >> EasyUI的其实案

    #### 录像下载

    >>JavaScript摄像下载

    首先个门类(软件项目管理)

    • ERP
    • 协调办公OA系统
    • 国家用电器力系统
    • BOS宅急送

    #### 录像下载

    >>协调办公OA

    第6步:Maven +软件项目管理

    • #### Maven

      >> MAVEN的安装与安顿
      >> 坐标与依靠
      >> 仓库
      >> 生命周期

      >> 聚合与承袭
      >> Nexus私服
      >> SSH项目+MyEclipse+maven

    • #### 软件项目管理

    第5步:别的框架和工夫

    • #### 第1阶段 WebService

      >> 介绍,分布式计WebService
      >> WebService与历史观的分布式计算技较
      >> Web服务普通接纳于下列场馆
      >> SOAP(Simple ObjectAccess
            Protocol)5
      >> Web服务(Web Services)SOA的
            服务契约WSDL
      >> Web瑟维斯底层原理
      >> 调用网上的web services服务,天气
            预报
      >> 如何看wsdl文件?
      >> 如何发表自个儿的web服务
      >> 增强,修改wsdl的内容

    • #### 第一等第 壮大的的Apache CXF              Web服务

      >> Apache CXF介绍
      >> CXF的WebService应用
      >> 加入音信拦截器
      >> 晋级让CXF协理新型的SOAP一.二磋商
      >> Spring框架整合CXF Web服务
      >> 接口格局公布CXF Web服务
      >> 使用jQuery调用CXF Web服务
      >> WebServices的安全

    • #### 第3阶段 Activiti

      >> 业务流程建立模型与标明BPMN 二.0
            流程引擎
      >> Activiti 基本架构和劳动组件
      >> 流程代办在线流程设计器流程嵌入
            式部署
      >> 流程管理自动化
      >> ProcessEngine(流程引擎)
      >> RepositoryService(管理流程定义)
      >> RuntimeService(实践政管理理,包罗
            运行、推进、删除流程实例等操作)
      >> TaskService(职责管理)
      >> HistoryService(历史管理(施行完
            的数量的管理))
      >> IdentityService(协会机关管理)
      >> FormService(四个可选服务,职务
            表单管理)

    • #### 第4阶段 Orcale

      >> SQL
      >> PL/SQL
      >> JAVA调用存款和储蓄进程和函数
      >> 触发器
      >> 数据字典
      >> 用户安全
      >> 闪回
      >> 分布式数据

    • #### 第5阶段 Spring MVC

      >> SpringMvc两种炫彩处理器
      >> SpringMvc二种调节器
      >> SpringMvc数据再次回到ajax调用
      >> ajax调用和重定向
      >> 文件上传与拦截器
      >> SpringMvc与hibernate整合
      >> SpringMvc注脚参数

    • #### 第6阶段 MyBatis

      >> 基本增、删、改、查的施用
      >> 动态sql
      >> 联合查询
      >> 延迟加载
      >> 一流缓存与二级缓存
      >> mybatis缓存框架
      >> 基于申明mybatis开拓
      >>mybatis整SpringMvc

    • #### 第7阶段 Mongdb

      >> 非关系型数据库的介绍
      >> mongodb数据仓库储存储以及互动
      >> mongdb 的数据备份
      >> mongodb的安控
      >> mongodb 的集群(主从复制,
            副本集)
      >> mongdb 分布式存款和储蓄
      >> mongodb 与java 整合

    • #### 第8阶段 Lucene 和Solr

      >> 全文检索的基本概念
      >> lucene 索引的操作(增加和删除改查分页)
      >> lucene 索引的得分机制原理分析
      >> 分词器的法则以及选取
      >> 索引库优化
      >> 高亮器的行使
      >> lucene 各个查询条件的牵线
      >> 全文字笔迹核准索与数据库检索的界别

      >> lucene 在项目个中的行使以及需求
            注意的主题素材
      >> solr 的介绍以及环境的搭建
      >> solr 的提供的rest 的接口介绍
      >> 使用solrj 来调用solr 的服务
      >> solr 的单主题与多为重的功力
      >> solr 索引结构的剖析以及配备文件介绍
      >> solr 插件的牵线以及安装(与数据库
             整合插件)
      >> solr 怎么构成到咱们的其实使用其中

    #### 录像下载

    >>Activiti职业流录制下载

    其次个档次(软件项目管理)

    • 运动电子商场
    • 医药集中进货平台
    • 杰信商业贸易综合管理平台
    • 新Baba运动网
>> 异步交互原理  
>> 异步交互实现步骤  
>> 异步交互的实际案例  
>> 请求响应使用的数据格式
  • #### 第3阶段 jQuery

    >> JavaScript常用库介绍
    >> jQuery基本使用
    >> jQuery的选择器
    >> jQuery的DOM操作
    >> jQuery的事件处理
    >> jQuery的Ajax操作
    >> jQuery的常用插件

  • #### 第4阶段 EasyUI

    >> 如何使用EasyUI
    >> EasyUI的常用控件
    >> EasyUI的骨子里案

录制下载

>>JavaScript录制下载

先是个类型(软件项目管理)

  • ERP
  • 和谐办公OA系统
  • 江山电力系统
  • BOS宅急送

录制下载

>>协调办公室公OA

第四步:Maven +软件项目管理

  • #### Maven

    >> MAVEN的设置与配置
    >> 坐标与依靠
    >> 仓库
    >> 生命周期

    >> 聚合与后续
    >> Nexus私服
    >> SSH项目+MyEclipse+maven

  • #### 软件项目管理

第四步:其余框架和技术

  • #### 第1阶段 WebService

    >> 介绍,分布式计WebService
    >> WebService与理念的分布式计算技较
    >> Web服务普通采纳于下列场地
    >> SOAP(Simple ObjectAccess
          Protocol)5
    >> Web服务(Web Services)SOA的
          服务契约WSDL
    >> WebService底层原理
    >> 调用网上的web services服务,气候
          预报
    >> 如何看wsdl文件?
    >> 怎么着揭橥本人的web服务
    >> 增强,修改wsdl的内容

  • #### 第一品级 强大的的Apache CXF              Web服务

    >> Apache CXF介绍
    >> CXF的WebService应用
    >> 出席音信拦截器
    >> 晋级让CXF协助新型的SOAP1.二合计
    >> Spring框架整合CXF Web服务
    >> 接口格局发表CXF Web服务
    >> 使用jQuery调用CXF Web服务
    >> WebServices的安全

  • #### 第3阶段 Activiti

    >> 业务流程建立模型与标注BPMN 二.0
          流程引擎
    >> Activiti 基本架构和服务组件
    >> 流程代办在线流程设计器流程嵌入
          式部署
    >> 流程管理自动化
    >> ProcessEngine(流程引擎)
    >> RepositoryService(管理流程定义)
    >> Runtime瑟维斯(实施管理,包含
          运营、推进、删除流程实例等操作)
    >> TaskService(职务管理)
    >> HistoryService(历史管理(实施完
          的数据的军管))
    >> IdentityService(组织机构管理)
    >> FormService(三个可选服务,任务
          表单管理)

  • #### 第4阶段 Orcale

    >> SQL
    >> PL/SQL
    >> JAVA调用存款和储蓄进程和函数
    >> 触发器
    >> 数据字典
    >> 用户安全
    >> 闪回
    >> 分布式数据

  • #### 第5阶段 Spring MVC

    >> SpringMvc三种炫酷处理器
    >> SpringMvc三种调整器
    >> SpringMvc数据再次来到ajax调用
    >> ajax调用和重定向
    >> 文件上传与拦截器
    >> SpringMvc与hibernate整合
    >> SpringMvc证明参数

  • #### 第6阶段 MyBatis

    >> 基本增、删、改、查的运用
    >> 动态sql
    >> 联合查询
    >> 延迟加载
    >> 超级缓存与二级缓存
    >> mybatis缓存框架
    >> 基于注解mybatis开拓
    >>mybatis整SpringMvc

  • #### 第7阶段 Mongdb

    >> 非关系型数据库的牵线
    >> mongodb数据仓库储存款和储蓄以及互动
    >> mongdb 的数据备份
    >> mongodb的安控
    >> mongodb 的集群(主从复制,
          副本集)
    >> mongdb 分布式存款和储蓄
    >> mongodb 与java 整合

  • #### 第8阶段 Lucene 和Solr

    >> 全文检索的基本概念
    >> lucene 索引的操作(增加和删除改查分页)
    >> lucene 索引的得分机制原理分析
    >> 分词器的原理以及使用
    >> 索引库优化
    >> 高亮器的使用
    >> lucene 种种查询条件的牵线
    >> 全文字笔迹查证索与数据库检索的分裂

    >> lucene 在档次个中的使用以及必要
          注意的题目
    >> solr 的介绍以及环境的搭建
    >> solr 的提供的rest 的接口介绍
    >> 使用solrj 来调用solr 的服务
    >> solr 的单主旨与多为重的成效
    >> solr 索引结构的分析以及布置文件介绍
    >> solr 插件的介绍以及安装(与数据库
           整合插件)
    >> solr 怎么构成到大家的实际上运用在那之中

摄像下载

>>Activiti工作流摄像下载

其次个种类(软件项目管理)

  • 移步电子市肆
  • 医药集中进货平台
  • 杰信商业贸易综合管理平台
  • 新Baba运动网

 

 

 

(注:前文对Java能力做了框架性的辨析,蕴含Java SE、Java EE和Java
ME,让读者领会了Java由什么本领构成。为了系统地球科学习这几个技能,本文将制定一套完整的Java才干学习路径)

 

Java技艺系统图

EasyUI 1

 

在此从前文中大家早就通晓到,Java SE中涵盖了Java的基础技巧,Java
EE中包蕴了网络选取开拓的各种技巧,Java
ME中带有了移动装备使用开垦的各个技艺,且Java SE是Java EE和Java
ME的底子,所以对于Java技巧的求学,有两条学习路径:

Java SE→Java
EE:首要举行互连网利用开荒,是Java才具学习的一条完整路径,是基于Java
EE的集团应用开垦,是当下Java应用的关键方向。

Java SE→Java ME:主要开始展览有线应用开采,该技艺渠道相对简便易行一些。

Java SEàJava EE的本事由低到高产生了3个完好无损的体系,是Java/Java
EE工程师成长不能缺少的本领系统,下边大家就依据Java SEàJava
EE的技艺连串制定壹套完整的就学路径。

一、Java EE工夫分类

据书上说Java EE手艺的分段,我们得以将Java EE才具分为以下3类。

(一)Web应用技术

JDBC:JDBC(Java DataBase
Connectivity)是3个依据专业SQL的数据库访问接口,首要用来连接数据库和一向调用SQL命令试行各个SQL语句和存款和储蓄进程。JDBC异常与Microsoft平莱比锡的ODBC。

Servlet:Servlet是Java平台上的CGI技巧。它在劳务器端运维,用以动态生成Web页面。与历史观的CGI和众多任何类似CGI的才干相比较,Java
Servlet具备越来越高的功效,它凭借线程的章程来支撑并发访问。

JSP(EL/JSTL):JSP(Java Server
Page)是一种完毕普通静态HTML和动态页面输出混合编码的工夫,类似Microsoft
ASP、PHP等本领。它凭借内容和外观表现的分离,使得Web页面开荒能够方便地分开给页面设计人士和程序员。在运转时态,JSP将会被第一调换到Servlet,它的成效和效果与Servlet比较未有距离。

JavaBean:封装业务逻辑的组件,能够实现工作组件的选定。

JSF:JSF(JavaServer Faces)是一种专用于创设Java
Web应用的页面组件本事,它集成了Servlet、JSP、JavaBean、EL、JSTL和自定义标签等各样页面本事,方便绘制丰盛的页面组件。

(二)集团级应用技艺

EJB:EJB定义了1组可采纳的机件Enterprise
Beans。开采职员能够行使这个组件,像搭积木同样树立分布式应用。EJB为它的开垦职员代管了例如安全性、远程连接、生命周期管理及事务管理等技能环节,简化了生意逻辑的费用。

JNDI:JNDI(Java Naming and Directory
Interface)用于固定分布式系统中的各样对象,这个目的包蕴EJB、数据库驱动、JDBC数据源及新闻连接等,还足以选用JNDI访问各样特定的目录服务,如LDAP、NDS和DNS等。
JMS:JMS音讯服务是一组Java应用接口,它提供创造、发送、接收、读取新闻的劳动,使得Java应用能够和种种新闻中间件进行通讯,这一个音信中间件包含IBM
MQ-Series、Microsoft MSMQ及纯Java的SonicMQ。

JavaMail:提供了壹整套仿照邮件系统的抽象类。通过JavaMail,能够创制邮件或新闻应用程序。

JAF:JavaMail利用JavaBeans Activation
Framework(JAF)来拍卖MIME-编码的邮件附属类小部件。MIME的字节流能够被改变到Java对象,只怕转移自Java对象。

JTA:JTA提供了Java
EE中处总管务的标准接口,它帮忙理工程师作的上马、回滚和付出。同时在Java
EE平台上提供叁个JTS(Java Transaction
Service)作为专业的事务处理服务,开荒人员能够使用JTA来使用JTS。

JACC:JACC(Java Authorization Service Provider Contract for
Containers)在Java
EE应用服务器和一定的授权认证服务器之间定义了三个再叁再四的协定,以便将各个授权认证服务器插入到Java
EE产品中去。

JAAS:JAAS(Java Authentication and Authorization
Service)达成了两个Java版本的正儿8经Pluggable Authentication
Module(PAM)框架。它可用来进展用户身份的评议,还是能够经过对用户举办授权,达成基于用户的访问调节。

JCA:JCA(Java EE Connector Architecture)是Java
EE体系架构的1局地,它提供了1套连接各类公司音信连串(包含ERP、SCM、CSportageM等)的系统架构,开采商只须要支出1套基于JCA的连天适配器,就可见在其他Java
EE服务器中接贰连叁并使用它。

JMX:JMX(Java Management
Extensions)致力于消除分布式系统一管理理的主题材料,它是一种选拔编制程序接口、可增添对象和章程的集合体,能够当先各个异构操作系统平台、系统系统布局和网络传输协议,开垦无缝集成的面向系统、互连网和服务的选取。

(3)Web服务本事

JAX-RPC:通过利用JAX-RPC(Java API for XML-based
RPC),已部分Java类或Java应用都可以被再一次打包,并以Web
Services的花样宣布。JAX-RPC提供了将RPC参数(in/out)编码和平化解码的API,使开采职员可以方便地行使SOAP新闻来成功RPC调用,EJB应用也得以动用JAX-RPC来包装成Web服务。

SOA(SAAJ):SAAJ(SOAP with Attachemnts API for
Java)是JAX-RPC的多个增加,为开始展览低层次的SOAP新闻操纵提供了帮忙。

JAXHaval:JAXHighlander(Java API for XML
Registries)提供了与各个类型注册服务进行相互的API。JAX汉兰达运维客户端访问与JAX大切诺基规范匹协作的Web
Servcices,那里的Web Services即为注册服务。一般的话,注册服务总是以Web
Services的款式运维的。

贰、Java技能学习路径图

Java
EE本领,从简单到复杂依次包括:Web应用本事、公司级应用手艺、Web服务技能,除了那么些手艺之外,还有一部分开源的框架技艺,包涵Web框架
Struts/WebWork/Tapstry,业务层框架Spring,持久层框架Hibernate/iBATIS,那些也都以Java
EE的使用技能。

那几个技能尽管琳琅满目,但是也是罕见递进,稳步产生了Java
EE工程师的上学技术门路。除了Java
EE本事之外,还有Java基础才能、数据库基础、网页开拓本领须要在早先年代开始展览支配。在攻读了全数的Java基础、Java
EE才能之后,再付诸于执行,你就直达了架构师的程度,进而走上本事管理的征途,能够高达技巧道路的顶峰——CTO。

依照Java技巧学习路径图,每一步所需调节的课程有:

Java程序员

高级天性

反射、泛型、注释符、自动装箱和拆箱、枚举类、可变

参数、可变回来类型、巩固循环、静态导入

主干编程

IO、多线程、实体类、

集合类、正则表明式、

XML和性质文件

图表编制程序

AWT(Java2D/JavaSound/JMF)、Swing、SWT、JFace

网路编制程序

Applet、Socket/TCP/UDP、NIO、RMI、CORBA

Java语法基础

类、抽象类、接口、最后类、静态类、匿名类、内部类、非常类、编码规范

Java开拓环境

JDK、JVM、Eclipse、Linux

Java大旨编程技能

Java,设计而又充裕Mini的语言。学习Java,须从Java开采条件开始,到Java语法,再到Java的主导API。

一.Java支出入门:Java开荒条件的设置与使用,包罗JDK命令、EclipseIDE、Linux下Java程序的开辟和配置等。

2.Java语法基础:基于JDK和Eclipse环境,举办Java主旨职能开辟,掌握Java面向对象的语法构成,包蕴类、抽象类、接口、最终类、静态类、匿名类、内部类、格外的编写制定。

3.Java着力API:基于JDK提供的类库,精通3大亚湾原子核能发电站心职能:

A。Java焦点编程:包蕴Java编制程序的两大主导作用——Java输入/输出流和八线程,以及常用的辅助类库——实体类、集合类、正则表明式、XML和品质文件。

B。Java图形编制程序:包含Sun的GUI库AWT(Java二D、JavaSound、JMF)和Swing,IBM和GUI库SWT和Jface;

C.
Java网路编制程序:Applet组件编制程序,Socket编制程序,NIO非阻塞Socket编制程序、索罗德MI和CORBA分布式开拓。

四.Java高档个性:通晓JDK一.4、JDK5.0、JDK陆.0中的Java高等特性,蕴含反射、泛型、注释,以及java高档脾气——自动装箱和拆箱、枚举类、可变参数、可变回来类型、加强循环、静态导入等。

 

Java初级、中级软件工程师

JSF框架开采本事

布局文件(页面导航、后台Bean)、JSF组件库(JSF
EL语言、HTML标签、事件处理、)、JSF核心库(格式调换、输入验证、国际化)

Javaweb核心开垦手艺

支付环境(Eclipse、Linux)

三大组件(JSP、JavaBean、Servlet)

推而广之技能(EL、JSTL、Taglib)

网页开拓本事

HTML、XML、CSS、JavaScript、AJAX

数据库设计手艺

SQL、MySql、Oracle、SQLServer、JDBC

Web服务器(Tomcat/Jetty/Resin/JBossWeb)

JavaWeb宗旨手艺:

JavaWeb项目支付的全经过可以解释为:

网页开采+数据库设计——>JavaWeb项目支付,在这之中,javaWeb由六项宗旨手艺整合:JSP+JavaBean+Servlet+EL+JSTL+Taglib,而JSF就是将那多样技能举办有机构成的工夫框架。

 

Java软件高级工程师

各种非凡架构SSH一、SSI一、SSH二、SSI2

Struts一突显层框架

入门配置、宗旨组件、标签库、国际化、数据印证、数据库开采、Sitemesh集成、集成Hibernate/iBATIS

Struts二表现层框架

入门配置、大旨零部件、标签库、国际化、数据校验、Sitemesh集成转变器、拦截器、集成Hibernate/iBATIS

Spring业务层框架

入门配置、IoC容器、MVC、标签库、国际化、数据校验、数据库开采

Hibernate持久层框架

MySQL、Oracle、SQLServer iBATIS持久层框架

MySQL、Oracle、SQLServer

Web服务器(Tomcat/Jetty/Resin/JBossWeb)。

 

Java系统架构师

javaWeb开源技能与框架

工作流

规则引擎

招来引擎

缓存引擎

职务调度

身价验证

报表服务

系统一测试试

集群

负载平衡

故障转移

JavaWeb分布式开荒技艺

JTA(Java事物管理)

JAAS(Java验证和授权服务)

JNDI(Java命名和目录服务)

JavaMail(Java邮件服务)

JMS(java音讯服务)

WebService(web服务)

JCA(java连接连串)

JMS(java管理体系)

应用服务器(JBossAS/WebLogic/WebSphere)。

JavaEE系统架构师

面向云架构(COA)

COA、SaaS、网格总计、集群计算、分布式计算、云计算

面向财富架构(ROA)

ROA、RESI

面向web服务架构(SOA)

WebService、SOA、SCA、ESB、OSGI、EAI

Java设计格局

创造式情势:抽象工厂/建造者/工厂方法/原型/单例

构造型格局:适配器/桥接/组合/装饰/外观/享元/代理

行为型格局:义务链/命令/解释器/迭代子/中介者/备忘录/观望者/状态/攻略/模板方法/访问者

Java与UML建模

对象图、用例图、组件图、安排图、类别图、交互图、活动图、正向工程与逆向工程

CTO首席工夫官

提升计策性

本领首席营业官

团伙提高

公司建设

项目管理

产品质量管理理理

 

 

 

Java介绍
Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。
* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 
  * Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 
  * Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
 J2SE就是做那种桌面安装程序样的,像QQ,WORD那种应用程序。
 J2EE 就是做基于Internet的应用程序,像选课系统,企业网站,银行系统之类的。
 J2ME就是做嵌入式系统开发的,像手机游戏之类的,像现在流行的Android操作系统。

为了让大家能够更快的加入到做项目的队伍,工作室特制定以下培训计划。我们java组现在主要是沿着J2EE这条路线走,主要是这方面项目目前比较多。

一.培训阶段的划分
1. 学习java基础(包括基本语法,面向对象的思想的一些特性,IO,集合框架,jdbc)
2. 学习网页的基础知识(包括html,css,javascript),这些是做好界面的必备知识。
3. 学习javaweb的基础知识(包括jsp,servlet,javabean,MVC,JSTL,EL表达式)
4. 学会使用ssh框架(struts.,hibernate,spring)
二.培训阶段的要求
1.Java基础
1.  大体了解java的运行原理,安装java虚拟机(java虚拟编绎与运行)
2.  熟练掌握java语言基本语法(这个和c语言里面的差不多)
3.  熟练掌握面向对象编程的思想及面向对象的一些基本概念(类,对象,接口,继承,重载,覆盖)
4.  熟练掌握输入输出流(流的概念,文件的读写,终端输入)
5.  熟练掌握集合框架(List,Set,Map)
6.  熟练掌握JDBC连接数据库(sqlserver2000,mysql数据库的使用及连接)
7. 熟练掌握API的使用,熟悉常用类库的使用。
8.  能够编写简单的图形界面程序
这个阶段是j2se的基础知识,特别是面向对象的知识的掌握,类和对象的概念,接口,继承,重载,覆盖,掌握基本的输入输出,然后就是集合框架,List,Set,Map的使用,因为这些在以后的数据库操作中经常将查询结果放在里面,最后就是用jdbc连接数据库,也许之前学过的一些理论都感觉没兴趣,但学了数据库的连接之后,兴趣就来了,因为这是第一次写程序操作数据库。
这个阶段培养人的最大能力就是要勤查API文档,要多去百度,要多向别人请教。
2. 静态网页的制作
1.了解网页的基本知识
2.会写基本的html语言,能够看懂别人写的html
3.会使用表单
4.使用javascript进行客户端验证
这个阶段要掌握一些静态网页的基本知识,学会动手做静态网页。学会用css控制
   页面,学会用javascript来进行表单的验证。
3.  javaweb基础
1. 搭建开发环境
安装Tomcat,并配置虚拟目录
安装Eclipse,并安装MyEclipse插件
作用MyEclipse新建项目,整合Tomcat服务器,部署项目
2.  Jsp的基础语法
了解JSP基本特点
理解JSP的运行机制
熟练使用JSP声明语句
熟练使用JSP Scriptlets
熟练使用JSP表达式
3. JSP指令元素
了解Page,include,taglib指令的使用
了解<jsp:forward><jsp:include><jsp:param><jsp:params>
4. JSP内置对象(9个)
熟练使用JSP内置对象保存属性
熟练JSP属性保存的四个范围(page,request,session,application)
熟练使用request,session对象取得参数值,了解其他各对象常用的方法
5. JavaBean
熟练掌握定义JavaBean,调用JavaBean,设置并获得JavaBean属性,设置JavaBean的范围,移除JavaBean
6. EL表达式
熟练掌握使用EL运算符
熟练掌握EL内置对象
熟练掌握EL存取
7. JSTL标签库
JSTL核心标签库,数据库标签库,I18N格式化标签库,XML标签库和JSTL函数标签库
熟练掌握通过JSTL核心标签库定义变量,输出变量,移除变量
熟练掌握通过数据库标签库完成数据库操作
熟练掌握XML标签库完成 XML文件操作
熟练掌握I18N标签库完成国际化操作
熟练掌握通过JSTL函数标签库完成常用函数操作
8. Servlet开发
熟练掌握如何定义Servlet
理解Servlet的生命周期
熟练掌握HttpServlet的常用方法
熟练掌握使用Servlet的接口
9. Filter开发
熟练掌握如何定义并配置Filter
理解Filter的生命周期
熟练掌握如何添加非法文字过滤器,字符编码过滤器,登录验证过滤器
10. Listener开发
熟练掌握如何定义并配置Listener
熟练掌握 ServletContextListener,ServletContextAttributeListener,HttpSessionListener,
HttpSessionAtrributeListener接口的实现和作用
11. Dao设计模式
了解什么是Dao设计模式以及其特点
熟练掌握如何定义数据库连接类
熟练掌握如何定义Vo类
熟练掌握如何定义Dao接口,Dao类以及Dao工厂类
熟练掌握如何使用Dao实现数据库操作
12. MVC设计模式
了解什么是MVV设计模式
了解Model1和Model2的区别以及优缺点
熟练掌握如何定义视图,模型,控制器部分,用MVC进行开发
这个阶段才是真正的接触了javaweb的知识,要会用javaweb进行动态网页的开发,
这个阶段完成后,就能做一些应用系统的开发了,javaweb也基本上学完了,后面基本上都是些别人根据基础知识做好的框架或组件,我们只要拿来用就行。
 4 . ssh框架
1 Struts2基础
了解如何下载并安装Struts2 框架
了解Struts2运行原理
熟练掌握如何新建控制器
熟练掌握如何配置控制器
了解实现Action接口的优点
熟练掌握通过Struts2标签库简化表单
熟练掌握通过继承ActionSupport完成输入校验
熟练掌握页面国际化以及校验错误信息国际化
2 Struts2高级开发
熟练使用Struts2内建的类型转换器
理解服务器端校验的重要性
熟练使用addFieldError来添加校验错误信息
熟练使用struts2校验框架完成输入校验
3  Hibernate持久化
了解什么是ORM映射以及特点
熟练掌握配置Hibernate配置文件
熟练掌握创建持久化类
熟练掌握创建关系映射文件
熟练掌握通过Hibernate框架进行数据库操作
4 Struts2整合Hibernate开发
熟练掌握持久层设计
熟练掌握业务逻辑层设计
熟练掌握struts2 整合hibernate 开发
5 Spring开发
熟练掌握Spring的依赖注入
熟练掌握Spring的自动装配
熟练掌握Spring面向切面编程
框架的发现,提高了软件开发的速度,增强了软件开发的规范性,使人们都按照某一种模式,一种规范去进行开发。这个阶段我们要做的就是学会使用这些框架来进行开发,了解框架的原理,当然有能力的话,根据它的原理,我们可以试着看下它的源码,自己试着写框架。
三.各阶段所要掌握的工具
 1.Java基础
  1.会用记事本(或EditPlus)编写java程序,在DOS下进行编绎与运行。(初级阶段)
  2.会用JCreator编写,编绎,运行。(中级阶段)
  3.会用Eclipse,JBuilder,NetBeans其中之一集成开发环境(高级阶段,推荐使用Eclipse)
  4.会安装并使用Navicate(mysql的界面环境),sqlserver2000。(数据库)
2. 静态网页的制作
  1. 会用记事本(或EditPlus)编写Html语言
  2. 会用Dreamweaver进行编写Html语言
  3.Fireworks切图
  4.Photoshop图片处理
3.  javaweb开发
  1.Tomcat使用(javaweb服务器)
  2.MyEclipse (javaweb开发)
  3.JUit单元测试工具
  4.PowerDesigner数据库设计工具
  5.CVS版本控制工具
  6. Rose ,visio UML建模工具
四.各阶段所要掌握的知识点
 1.Java基础
(基本要求)
1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、

环境变量配置,Java程序的实现过程  
2.Java语言基础   
     a). 数据类型:
         8种基本类型:byte,char,short,int,long,float,double,boolean
 引用类型:  数组, 类,接口
     b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for
     c).数组
        int num[]={1,2,3,4,5};  <<==>> int []num={1,2,3,4,5};
3.面向对象的基础
       a).类:具有相同属性和行为的一组对象的集合
       b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。
       c).类是对象的模板(原型),对象是类的具体实例
       d).抽象、封装、继承,多态(重载,重写,接口多实现)
       e).构造方法(默认构造器/参数化构造器)
       f).限制访问修饰符: private,缺省(默认),protected,public
       g).附加修饰符:final,static,abstract
       h).接口
4.Java 基础包
         a). java.lang :
            包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean)
            其它类:String,StringBuffer,Math,Class,Object
         b). java.util
        随机类:Random
        日期类:Date,Calender
        集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap
  c). java.io         
     文件类:File
     字节流:FileInputStream,FileOutputStream
     字符流:FileReader,FileWriter,BufferedReader,BufferedWriter
     二进制流:(了解) DataInputStream,DataOutputStream
 构造键盘流:BufferedReader  input=
new BufferedReader(new InputStreamReader(System.in));
  d). java.swt /javax.swing 了解java图形界面及事件响应机制
     容器类组件:JFrame,JPanel,JScrollPane
     组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox,

                    JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem
 5.JDBC 数据库连接       
    数据库的连接步骤: 
   1). 加载数据库驱动类: Class.forName(driver)
   2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password)
   3). 基于连接对象建立处理器对象/预处理器对象
      Statement stmt=conn.createStatement();
      PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)"); 
   4). 处理器执行SQL命令(Select/Insert/Update/Delete)
executeQuery(Select)
 ==>返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始))
    executeUpdate(Insert/Update/Delete) ==>返回执行命令影响的记录行(int)
   5). 关闭各个对象 
(高级要求,可以暂时不用掌握)
1. java内存管理(垃圾收集及对象引用的内存分析)
2. 栈和堆的区别(变量比较复制,引用传递和值传递)
3. 异常处理机制(异常的原量,异常程序流程)
4. 网络通信(TCP和UDP开发)开发
5. Java多线程开发
6. Applet,JavaWebStart.SWT,JavaFX
7. 数据库存取(事务存取,SavePoint)
8. 分布式计算(RMI,CORBA)
9. java本地调用(JNI原理,调用c程序,调用Delphi)
10. 反射机制(Annotation,动态代理)
11. Java动态编程(Compiler API,Instrumentation,Javassist,ClassEditor)
12. JMX资源管理容器
13. XML开发(DOM,DOM4J,SAX,JDOM)
14. LOG4J日志开发
15. 定时任务,日程工具Timer,Quartz
16. ZIP工具包
17. Excel文档存取工具POI
18. UML建模
19. 设计模式
2. 静态网页的制作
(基本要求)
1. 会写简单的HTML,并且能看懂一些正规网页(多级标题的运应。列表标记(序和无序标记)超链接标记,图像标记,表格标记,多媒体标记,表单标记
)
2. 用javascript做些简单的表单验证
3. 用css做排版
4. 会用Dreamweaver做简单的网页
(高级要求)以后从事界面开发的人,可以多下点工夫
1. 能够熟练用Dreamweaver制作网页
2. 能够熟练使用Photoshop进行图片处理
3. 能够熟练用Fireworks对图片进行切割
4. 能够熟练使用javascript做一些特效
5. 能够熟练使用DIV+CSS进行排版
3.  javaweb开发
 (基本要求)
1. WEB的两个发展阶段:静态,动态
2. 动态WEB的主要实现手段及区别
3. Tomcat的主要作用及配置
4. 开发一个简单的交互式程序
5. MyEclipse开发工具的使用
6. 在MyEclipse中使用Tomcat服务器
7. JSP中的三种注释
8. 三种SCriptlet及其区别
9. Page指令,包含指令
10. Jsp连接数据库
11. 两个include以及forward语句
12. 了解九个内置对象的定义
13. 掌握JAVAWEB中的四种属性范围
14. 掌握pageContext对象的使用
15. 掌握request,response,session,application四种内置对象及属性的设置
16. Javabean的主要作用,定义及使用,四种保存范围
17. 掌握Smartupload组件的作用,上传文件,为上传文件重命名
18. Dao数据库操作
19. MVC模式
20. Servlet
21. EL
22. JSTL
(高级要求,可以暂时不用掌握)
1. Filter
2. Listener
3. 报表的处理(JFreeChat)
4. 邮件收发(JavaMail)
5. 分页技术
6. Ajax
7. JSF
8. Freemarker
4.ssh框架学习
1.Struts(基本要求)
1. 了解struts2 框架的思想,MVC实现
2. 在Eclipse中开发struts2
3. Struts2 的基本流程
4. Struts2的基本配置(web.xml,struts.xml.struts.properties,struts.xml)
5. Struts2的Action(实现Action类,Action访问Servlet API,配置Action,动态方法调用,使用通配符,默认Action)
6. Struts2的处理结果(配置结果,Struts2支持的处理结果类型,redirect,chain)
7. Struts2的属性驱动与模型驱动
8. Struts2的类型转换器
Struts(高级要求)
1. Struts2的文件上传下载
2. Struts2的拦截器
3. Struts2的输入校验
4. Struts2的国际化
5. Struts2的标签库
6. Struts2的Ajax
7. 整合JSF
8. 整合JFreeChart
五.各阶段任务
  1.Java基础
1. 安装配置java运行环境JDK,了解java程序的运行机理,用记事本写个HelloWorld程序,并在命令行操作。
2. 用java写个对数组降序排列程序(数组最好可以自己输入);在后面抄一个有图形的界面的程序(像画图的,有菜单的之类的),自己试着运行下(相信大家看到图形后会有惊喜的)。
3. 安装JCreator,用JCreator写个执行单步的计算器(不要求界面)。如输入3+5 输出8
4. 了解类,面向对象,继承,接口的相关概念,会编写一定的基础程序。
(1)定义一个接口,里面有方法ShowS(),ShowC()
(2)编写一个正方形类,实现了上面的接口,其中包含边长A,面积S和周长C,编写方法ShowS()和ShowC()分别输出正方形的面积和周长。(测试数据:A=5)
(3)编写一个长方体类继承自正方形类,长为A宽为B,重写方法ShowS()和ShowC()分别输出长方形的面积和周长。(测试数据:A=3,B=5)
(4)编写测试类来测试以上两个类。
5. 学会查API文档(这是必备的,因为类库非常多,要记是不可能的,记得常用的就行,另外就是要勤查文档),实现下面的接口。
 要求:涉及到具体时间的标准格式格式一般为:yyyy-MM-dd HH:mm:ss
测试类可以自己写。
public interface TimeInterface {
 // 计算当月最后一天,返回字符串
 public  String getDefaultDay();
 // 获得本周星期日的日期
 public  String getCurrentWeekday();
 // 获取当天时间
 public  String getNowTime(String dateformat);
 // 获得上周星期日的日期
 public  String getPreviousWeekSunday();
 // 获得下个月最后一天的日期
 public  String getNextMonthEnd();
 // 获得明年最后一天的日期
 public  String getNextYearEnd();
 /**
  * 是否闰年,参数要求由键盘输入
  * 
  * @param year
  *            年
  * @return
  */
 public  boolean isLeapYear(int year);
}
6. 安装Eclipse,会用Eclipse编写程序,编写图形界面程序,能够对事件响应有很好的了解。编写一个记事本,能够对字体大小,字体形状,字体颜色进行控制,能够复制粘贴。(多查API文档)
7. 编写图形界面的计算器,能够实现简单的加减乘除运算,乘立方法算。
8. 安装sqlserver2000数据库,了解数据库基本知识,能够用查询分析器进行简单的增删改查。
9. 能够用JDBC连接数据库,将登录注册程序连接上数据库。
2. 静态网页的制作
1. 学会用html语言做静态网页。做一个介绍自己的网站(要求:代码手写,有以下标签:多级标题,列表,超链接,图像,表格,多媒体,表单)
2. 对介绍自己的网站的布局用css ,div控制完成
3. 用javascript对自己的网站进行表单验证。
4. javaweb开发
1. 安装Tomcat和MyEclipse,配置环境,了解jsp的运行原理。
2. 学习jsp的基本语法,会用四种内置对象,能够实现表单的提交,页面的跳转,做个登录注册程序,不要求连接数据库。
3. 用jsp对介绍自己的网站进行更改,要求能够,实现表单的提交,页面的参数传递和连接数据库对自己信息进行更改。
4. 了解Servlet的运行原理,配置Servlet,利用Servlet做一个登录注册程序。
5. 学习javabean,对登录注册用Servlet+javaBean+jsp实现
6. 用el表达式,对登录注册程序用EL表达式实现
7. 用JSTL表达式,对登录注岫程序用JSTL表达式实现
4.ssh框架学习

 

 

JAVA完全学习路径图:

Java介绍
Java分为三个体系JavaSE(Java2 Platform Standard Edition,java平台标准版),JavaEE(Java 2 Platform,Enterprise Edition,java平台企业版),JavaME(Java 2 Platform Micro Edition,java平台微型版)。
* Java SE(Java Platform,Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境和实时环境中使用的 Java 应用程序。Java SE 包含了支持 Java Web 服务开发的类,并为 Java Platform,Enterprise Edition(Java EE)提供基础。 
  * Java EE(Java Platform,Enterprise Edition)。这个版本以前称为 J2EE。企业版本帮助开发和部署可移植、健壮、可伸缩且安全的服务器端 Java 应用程序。Java EE 是在 Java SE 的基础上构建的,它提供 Web 服务、组件模型、管理和通信 API,可以用来实现企业级的面向服务体系结构(service-oriented architecture,SOA)和 Web 2.0 应用程序。 
  * Java ME(Java Platform,Micro Edition)。这个版本以前称为 J2ME。Java ME 为在移动设备和嵌入式设备(比如手机、PDA、电视机顶盒和打印机)上运行的应用程序提供一个健壮且灵活的环境。Java ME 包括灵活的用户界面、健壮的安全模型、许多内置的网络协议以及对可以动态下载的连网和离线应用程序的丰富支持。基于 Java ME 规范的应用程序只需编写一次,就可以用于许多设备,而且可以利用每个设备的本机功能。
 J2SE就是做那种桌面安装程序样的,像QQ,WORD那种应用程序。
 J2EE 就是做基于Internet的应用程序,像选课系统,企业网站,银行系统之类的。
 J2ME就是做嵌入式系统开发的,像手机游戏之类的,像现在流行的Android操作系统。

为了让大家能够更快的加入到做项目的队伍,工作室特制定以下培训计划。我们java组现在主要是沿着J2EE这条路线走,主要是这方面项目目前比较多。

一.培训阶段的划分
1. 学习java基础(包括基本语法,面向对象的思想的一些特性,IO,集合框架,jdbc)
2. 学习网页的基础知识(包括html,css,javascript),这些是做好界面的必备知识。
3. 学习javaweb的基础知识(包括jsp,servlet,javabean,MVC,JSTL,EL表达式)
4. 学会使用ssh框架(struts.,hibernate,spring)
二.培训阶段的要求
1.Java基础
1.  大体了解java的运行原理,安装java虚拟机(java虚拟编绎与运行)
2.  熟练掌握java语言基本语法(这个和c语言里面的差不多)
3.  熟练掌握面向对象编程的思想及面向对象的一些基本概念(类,对象,接口,继承,重载,覆盖)
4.  熟练掌握输入输出流(流的概念,文件的读写,终端输入)
5.  熟练掌握集合框架(List,Set,Map)
6.  熟练掌握JDBC连接数据库(sqlserver2000,mysql数据库的使用及连接)
7. 熟练掌握API的使用,熟悉常用类库的使用。
8.  能够编写简单的图形界面程序
这个阶段是j2se的基础知识,特别是面向对象的知识的掌握,类和对象的概念,接口,继承,重载,覆盖,掌握基本的输入输出,然后就是集合框架,List,Set,Map的使用,因为这些在以后的数据库操作中经常将查询结果放在里面,最后就是用jdbc连接数据库,也许之前学过的一些理论都感觉没兴趣,但学了数据库的连接之后,兴趣就来了,因为这是第一次写程序操作数据库。
这个阶段培养人的最大能力就是要勤查API文档,要多去百度,要多向别人请教。
2. 静态网页的制作
1.了解网页的基本知识
2.会写基本的html语言,能够看懂别人写的html
3.会使用表单
4.使用javascript进行客户端验证
这个阶段要掌握一些静态网页的基本知识,学会动手做静态网页。学会用css控制
   页面,学会用javascript来进行表单的验证。
3.  javaweb基础
1. 搭建开发环境
安装Tomcat,并配置虚拟目录
安装Eclipse,并安装MyEclipse插件
作用MyEclipse新建项目,整合Tomcat服务器,部署项目
2.  Jsp的基础语法
了解JSP基本特点
理解JSP的运行机制
熟练使用JSP声明语句
熟练使用JSP Scriptlets
熟练使用JSP表达式
3. JSP指令元素
了解Page,include,taglib指令的使用
了解<jsp:forward><jsp:include><jsp:param><jsp:params>
4. JSP内置对象(9个)
熟练使用JSP内置对象保存属性
熟练JSP属性保存的四个范围(page,request,session,application)
熟练使用request,session对象取得参数值,了解其他各对象常用的方法
5. JavaBean
熟练掌握定义JavaBean,调用JavaBean,设置并获得JavaBean属性,设置JavaBean的范围,移除JavaBean
6. EL表达式
熟练掌握使用EL运算符
熟练掌握EL内置对象
熟练掌握EL存取
7. JSTL标签库
JSTL核心标签库,数据库标签库,I18N格式化标签库,XML标签库和JSTL函数标签库
熟练掌握通过JSTL核心标签库定义变量,输出变量,移除变量
熟练掌握通过数据库标签库完成数据库操作
熟练掌握XML标签库完成 XML文件操作
熟练掌握I18N标签库完成国际化操作
熟练掌握通过JSTL函数标签库完成常用函数操作
8. Servlet开发
熟练掌握如何定义Servlet
理解Servlet的生命周期
熟练掌握HttpServlet的常用方法
熟练掌握使用Servlet的接口
9. Filter开发
熟练掌握如何定义并配置Filter
理解Filter的生命周期
熟练掌握如何添加非法文字过滤器,字符编码过滤器,登录验证过滤器
10. Listener开发
熟练掌握如何定义并配置Listener
熟练掌握 ServletContextListener,ServletContextAttributeListener,HttpSessionListener,
HttpSessionAtrributeListener接口的实现和作用
11. Dao设计模式
了解什么是Dao设计模式以及其特点
熟练掌握如何定义数据库连接类
熟练掌握如何定义Vo类
熟练掌握如何定义Dao接口,Dao类以及Dao工厂类
熟练掌握如何使用Dao实现数据库操作
12. MVC设计模式
了解什么是MVV设计模式
了解Model1和Model2的区别以及优缺点
熟练掌握如何定义视图,模型,控制器部分,用MVC进行开发
这个阶段才是真正的接触了javaweb的知识,要会用javaweb进行动态网页的开发,
这个阶段完成后,就能做一些应用系统的开发了,javaweb也基本上学完了,后面基本上都是些别人根据基础知识做好的框架或组件,我们只要拿来用就行。
 4 . ssh框架
1 Struts2基础
了解如何下载并安装Struts2 框架
了解Struts2运行原理
熟练掌握如何新建控制器
熟练掌握如何配置控制器
了解实现Action接口的优点
熟练掌握通过Struts2标签库简化表单
熟练掌握通过继承ActionSupport完成输入校验
熟练掌握页面国际化以及校验错误信息国际化
2 Struts2高级开发
熟练使用Struts2内建的类型转换器
理解服务器端校验的重要性
熟练使用addFieldError来添加校验错误信息
熟练使用struts2校验框架完成输入校验
3  Hibernate持久化
了解什么是ORM映射以及特点
熟练掌握配置Hibernate配置文件
熟练掌握创建持久化类
熟练掌握创建关系映射文件
熟练掌握通过Hibernate框架进行数据库操作
4 Struts2整合Hibernate开发
熟练掌握持久层设计
熟练掌握业务逻辑层设计
熟练掌握struts2 整合hibernate 开发
5 Spring开发
熟练掌握Spring的依赖注入
熟练掌握Spring的自动装配
熟练掌握Spring面向切面编程
框架的发现,提高了软件开发的速度,增强了软件开发的规范性,使人们都按照某一种模式,一种规范去进行开发。这个阶段我们要做的就是学会使用这些框架来进行开发,了解框架的原理,当然有能力的话,根据它的原理,我们可以试着看下它的源码,自己试着写框架。
三.各阶段所要掌握的工具
 1.Java基础
  1.会用记事本(或EditPlus)编写java程序,在DOS下进行编绎与运行。(初级阶段)
  2.会用JCreator编写,编绎,运行。(中级阶段)
  3.会用Eclipse,JBuilder,NetBeans其中之一集成开发环境(高级阶段,推荐使用Eclipse)
  4.会安装并使用Navicate(mysql的界面环境),sqlserver2000。(数据库)
2. 静态网页的制作
  1. 会用记事本(或EditPlus)编写Html语言
  2. 会用Dreamweaver进行编写Html语言
  3.Fireworks切图
  4.Photoshop图片处理
3.  javaweb开发
  1.Tomcat使用(javaweb服务器)
  2.MyEclipse (javaweb开发)
  3.JUit单元测试工具
  4.PowerDesigner数据库设计工具
  5.CVS版本控制工具
  6. Rose ,visio UML建模工具
四.各阶段所要掌握的知识点
 1.Java基础
(基本要求)
1. 了解Java语言的特征,掌握JDK(Java开发工具包)的安装、目录层次、

环境变量配置,Java程序的实现过程  
2.Java语言基础   
     a). 数据类型:
         8种基本类型:byte,char,short,int,long,float,double,boolean
 引用类型:  数组, 类,接口
     b).结构化语句: if,if--else ,if--else if ,switch--case,while,do--while,for
     c).数组
        int num[]={1,2,3,4,5};  <<==>> int []num={1,2,3,4,5};
3.面向对象的基础
       a).类:具有相同属性和行为的一组对象的集合
       b).对象:客观存在的或可被描述的抽象对象,具有特定属性和行为的实体。
       c).类是对象的模板(原型),对象是类的具体实例
       d).抽象、封装、继承,多态(重载,重写,接口多实现)
       e).构造方法(默认构造器/参数化构造器)
       f).限制访问修饰符: private,缺省(默认),protected,public
       g).附加修饰符:final,static,abstract
       h).接口
4.Java 基础包
         a). java.lang :
            包装类(Byte,Character,Short,Integer,Long,Float,Double,Boolean)
            其它类:String,StringBuffer,Math,Class,Object
         b). java.util
        随机类:Random
        日期类:Date,Calender
        集合框架体系:Collection,List,Set,ArrayList,LinkedList,Vector,HashMap
  c). java.io         
     文件类:File
     字节流:FileInputStream,FileOutputStream
     字符流:FileReader,FileWriter,BufferedReader,BufferedWriter
     二进制流:(了解) DataInputStream,DataOutputStream
 构造键盘流:BufferedReader  input=
new BufferedReader(new InputStreamReader(System.in));
  d). java.swt /javax.swing 了解java图形界面及事件响应机制
     容器类组件:JFrame,JPanel,JScrollPane
     组件: JLabel,JTextField,JPasswordField,JTextArea,JComboBox,

                    JRadioButton,JCheckBox,JMenuBar,JMenu,JMenuItem
 5.JDBC 数据库连接       
    数据库的连接步骤: 
   1). 加载数据库驱动类: Class.forName(driver)
   2). 通过驱动程序管理器获取连接: DriverManager.getConnection(url,user,password)
   3). 基于连接对象建立处理器对象/预处理器对象
      Statement stmt=conn.createStatement();
      PreparedStatement stmt=conn.prepareStatement("insert into student values(?,?,?,?,?)"); 
   4). 处理器执行SQL命令(Select/Insert/Update/Delete)
executeQuery(Select)
 ==>返回查询的结果集(ResultSet, ResultSet.getXXX(列编号,从1开始))
    executeUpdate(Insert/Update/Delete) ==>返回执行命令影响的记录行(int)
   5). 关闭各个对象 
(高级要求,可以暂时不用掌握)
1. java内存管理(垃圾收集及对象引用的内存分析)
2. 栈和堆的区别(变量比较复制,引用传递和值传递)
3. 异常处理机制(异常的原量,异常程序流程)
4. 网络通信(TCP和UDP开发)开发
5. Java多线程开发
6. Applet,JavaWebStart.SWT,JavaFX
7. 数据库存取(事务存取,SavePoint)
8. 分布式计算(RMI,CORBA)
9. java本地调用(JNI原理,调用c程序,调用Delphi)
10. 反射机制(Annotation,动态代理)
11. Java动态编程(Compiler API,Instrumentation,Javassist,ClassEditor)
12. JMX资源管理容器
13. XML开发(DOM,DOM4J,SAX,JDOM)
14. LOG4J日志开发
15. 定时任务,日程工具Timer,Quartz
16. ZIP工具包
17. Excel文档存取工具POI
18. UML建模
19. 设计模式
2. 静态网页的制作
(基本要求)
1. 会写简单的HTML,并且能看懂一些正规网页(多级标题的运应。列表标记(序和无序标记)超链接标记,图像标记,表格标记,多媒体标记,表单标记
)
2. 用javascript做些简单的表单验证
3. 用css做排版
4. 会用Dreamweaver做简单的网页
(高级要求)以后从事界面开发的人,可以多下点工夫
1. 能够熟练用Dreamweaver制作网页
2. 能够熟练使用Photoshop进行图片处理
3. 能够熟练用Fireworks对图片进行切割
4. 能够熟练使用javascript做一些特效
5. 能够熟练使用DIV+CSS进行排版
3.  javaweb开发
 (基本要求)
1. WEB的两个发展阶段:静态,动态
2. 动态WEB的主要实现手段及区别
3. Tomcat的主要作用及配置
4. 开发一个简单的交互式程序
5. MyEclipse开发工具的使用
6. 在MyEclipse中使用Tomcat服务器
7. JSP中的三种注释
8. 三种SCriptlet及其区别
9. Page指令,包含指令
10. Jsp连接数据库
11. 两个include以及forward语句
12. 了解九个内置对象的定义
13. 掌握JAVAWEB中的四种属性范围
14. 掌握pageContext对象的使用
15. 掌握request,response,session,application四种内置对象及属性的设置
16. Javabean的主要作用,定义及使用,四种保存范围
17. 掌握Smartupload组件的作用,上传文件,为上传文件重命名
18. Dao数据库操作
19. MVC模式
20. Servlet
21. EL
22. JSTL
(高级要求,可以暂时不用掌握)
1. Filter
2. Listener
3. 报表的处理(JFreeChat)
4. 邮件收发(JavaMail)
5. 分页技术
6. Ajax
7. JSF
8. Freemarker
4.ssh框架学习
1.Struts(基本要求)
1. 了解struts2 框架的思想,MVC实现
2. 在Eclipse中开发struts2
3. Struts2 的基本流程
4. Struts2的基本配置(web.xml,struts.xml.struts.properties,struts.xml)
5. Struts2的Action(实现Action类,Action访问Servlet API,配置Action,动态方法调用,使用通配符,默认Action)
6. Struts2的处理结果(配置结果,Struts2支持的处理结果类型,redirect,chain)
7. Struts2的属性驱动与模型驱动
8. Struts2的类型转换器
Struts(高级要求)
1. Struts2的文件上传下载
2. Struts2的拦截器
3. Struts2的输入校验
4. Struts2的国际化
5. Struts2的标签库
6. Struts2的Ajax
7. 整合JSF
8. 整合JFreeChart
五.各阶段任务
  1.Java基础
1. 安装配置java运行环境JDK,了解java程序的运行机理,用记事本写个HelloWorld程序,并在命令行操作。
2. 用java写个对数组降序排列程序(数组最好可以自己输入);在后面抄一个有图形的界面的程序(像画图的,有菜单的之类的),自己试着运行下(相信大家看到图形后会有惊喜的)。
3. 安装JCreator,用JCreator写个执行单步的计算器(不要求界面)。如输入3+5 输出8
4. 了解类,面向对象,继承,接口的相关概念,会编写一定的基础程序。
(1)定义一个接口,里面有方法ShowS(),ShowC()
(2)编写一个正方形类,实现了上面的接口,其中包含边长A,面积S和周长C,编写方法ShowS()和ShowC()分别输出正方形的面积和周长。(测试数据:A=5)
(3)编写一个长方体类继承自正方形类,长为A宽为B,重写方法ShowS()和ShowC()分别输出长方形的面积和周长。(测试数据:A=3,B=5)
(4)编写测试类来测试以上两个类。
5. 学会查API文档(这是必备的,因为类库非常多,要记是不可能的,记得常用的就行,另外就是要勤查文档),实现下面的接口。
 要求:涉及到具体时间的标准格式格式一般为:yyyy-MM-dd HH:mm:ss
测试类可以自己写。
public interface TimeInterface {
 // 计算当月最后一天,返回字符串
 public  String getDefaultDay();
 // 获得本周星期日的日期
 public  String getCurrentWeekday();
 // 获取当天时间
 public  String getNowTime(String dateformat);
 // 获得上周星期日的日期
 public  String getPreviousWeekSunday();
 // 获得下个月最后一天的日期
 public  String getNextMonthEnd();
 // 获得明年最后一天的日期
 public  String getNextYearEnd();
 /**
  * 是否闰年,参数要求由键盘输入
  * 
  * @param year
  *            年
  * @return
  */
 public  boolean isLeapYear(int year);
}
6. 安装Eclipse,会用Eclipse编写程序,编写图形界面程序,能够对事件响应有很好的了解。编写一个记事本,能够对字体大小,字体形状,字体颜色进行控制,能够复制粘贴。(多查API文档)
7. 编写图形界面的计算器,能够实现简单的加减乘除运算,乘立方法算。
8. 安装sqlserver2000数据库,了解数据库基本知识,能够用查询分析器进行简单的增删改查。
9. 能够用JDBC连接数据库,将登录注册程序连接上数据库。
2. 静态网页的制作
1. 学会用html语言做静态网页。做一个介绍自己的网站(要求:代码手写,有以下标签:多级标题,列表,超链接,图像,表格,多媒体,表单)
2. 对介绍自己的网站的布局用css ,div控制完成
3. 用javascript对自己的网站进行表单验证。
4. javaweb开发
1. 安装Tomcat和MyEclipse,配置环境,了解jsp的运行原理。
2. 学习jsp的基本语法,会用四种内置对象,能够实现表单的提交,页面的跳转,做个登录注册程序,不要求连接数据库。
3. 用jsp对介绍自己的网站进行更改,要求能够,实现表单的提交,页面的参数传递和连接数据库对自己信息进行更改。
4. 了解Servlet的运行原理,配置Servlet,利用Servlet做一个登录注册程序。
5. 学习javabean,对登录注册用Servlet+javaBean+jsp实现
6. 用el表达式,对登录注册程序用EL表达式实现
7. 用JSTL表达式,对登录注岫程序用JSTL表达式实现
4.ssh框架学习

 

 


于很强的跨平台性,java本领吸引了汪洋的跟随者,能够说是世界排名第二的编制程序语言,在世界的每一种角落,都活跃着java技巧。即使说IT技能学习起来
并不困难,不过要是未有强烈的主旋律,未有客观的安顿,那么学习起来就格外困难,上面就大约梳理一下java的上学路线。

  1. Java语言功底

       谈到Java语言基础学习的图书,大家自然会推荐Bruce埃克el的《Thinking in
    Java》。它是1本写的一定深厚的技术书籍,Java语言功底部分基本未有其余任何一本书能够超越它。该书的撰稿人Bruce埃克el在互连网上被喻为天才的黄牛党,小编的《Thinking in
    C++》在19九伍年曾获SoftwareDevelopment Jolt
    Award最好书籍大奖。作者从一九八八年现今,已经刊登了高出150篇Computer技能文章,出版了陆本书,并且在中外做了数百次演讲。他是
    《Thinking in Java》、《Thinking in C++》、《C++ Inside &
    Out》《Using C++》和《Thinking in Patterns》的小编,同时依旧《BlackBelt
    C++》文集的编写。他的书被读者誉为“最棒的Java参考书……相对令人震动”;“购买Java参考书最明智的选料”;“小编见过的最好的编制程序指
    南”。笔者的不可多得才华,极其凌驾语言的技能,使笔者被选为Java发展拾年间与Java关系最缜密的10位物之一。

  2. 2

    Java数据结构

       市面上关于Java数据结构的书小编就很少很少。大约有APress 的《Java
    Collections》,Jones 和Bartlett 的《Data Structures in
    Java》、《Object-oriented Data Structures Using Java》以及Prentice
    哈尔l 出版的《Data Structures and Algorithms in Java》 (Dec 1玖,
    二零零六)还有壹本正是《Data Structures And Algorithms With
    Object-oriented Design Patterns In Java》。

  3. 3

     Java IO Eys

       市面上关于IO的书本也只是唯有Oreilly出版社的两本,都以Elliotte
    Rusty 哈罗德的编慕与著述。两本书的作风基本1致,推荐阅读是首先版的《Jvava
    I/O》,讲得比较粗浅,内容相相比较集中,实例也繁多。第一版二零一九年3月国外才出版,很幸运笔者在网络上下载了第二版,讲得最好详细――7贰陆页的大块头
    (小编化了七个星期),这一次将NIO和IO和在1块儿,还包罗J二ME部分的,不过串口、并口通讯部分好像类库协理不够,自身不能实操。

  4. 4

    Java数据库

     
     数据库的图书太多太多了,也是太烂太烂了!那下边的书笔者基本都研究过,推荐的你就看看Apress的《JDBC
    Recipes A Problem Solution Approach
    》很不利,海外2005年初才出版,(国内类似未有中文版,然而出了汉语版也不自然值得看――国内平常将国外的书翻译得一塌糊涂、不堪入目)可是大家真正
    很幸运,网络上有电子版的。值得一看。推荐自身看的率先本比较满意的――Wiley出版的《Java
    Database Bible》,讲得很科学!Sun集团本人的关于JDBC
    API介绍的那壹本《JDBC API Tutorial
    andRefernece》也不易。笔者第三本JDBC的就算钻探的那套API。

  5. 5

     Java 网络编制程序

      互联网编制程序――多少个隐衷的、充满挑衅的倾向。然则在谈Java网络编制程序此前率先多谢Sun集团的开荒职员,因为它们天才的思量,充满灵性的架构,使广大java程序员学习java网络编制程序变得11分轻易。

     

     

    基础是王道,不要只会用框架而不懂其落实!!!!

J2EE主要技术:

-   web service技术:java API for XML processing(JAXP)             
                      
                                  java API for XML Register(JAXR)  
                                  java API for XML-based
    RPC(JAX-RPC)  
                                 
    SOAP with Attachment API for Java(SAAJ)
-   组件模型技术:java servlet 

                        javaServer Pages(JSP)  
                        javaServer Faces(JSF)  
                        Enterprise JavaBeans(EJB)  
                        java Message Servicce(JMS)

-   管理技术(Management
    Technologies)

               J2EE Deployment Specification  
                      J2EE
Management Specification  
                      J2EE Client
Provisioning   
                      Java
Authorization Contract for Containers 

-    其他相关技术(Other J2EE
    Technologies)

            JDBC  
                   Java Data Objects (JDO)  
                    CORBA (Java IDL
and Java RMI-IIOP)  
                   JavaMail  
                 
 Transactions

作为一名普通J2EE应用程序的开发者来说,我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资料就行了!

一般J2EE应用开发人员所必须熟练掌握的。Java Server Page,Java
Servlet,Enterprise
JavaBean,JDBC,Transactions。还有JAXP等XML相关技术,Java Message
Service,Java Mail,JDO等等是最好应该掌握的。其他Management
Technologies,Connector
Architecture等等主要是给容器提供商中间件提供商参考的,应用开发者不需要怎么关心.  

学习Java语言基础  
参考资料:《Java编程思想》,JDK文档,内含JDK源代码  
对于初学java的人来说,我不推荐使用IDE而直接用文本编辑器,然后用命令行编译运行。利于理解CLASSPATH,PATH这些最基本概念。  

几个最重要的命令行工具

javac:           
编译源文件到class文件  
       java:              运行class  
       jar:                打包工具  
       javadoc:         生成java
doc的工具


J2EE基础  
Servlet参考资料:&lt;&lt;Core Servlet and JSP
2Edition&gt;&gt;和&lt;&lt;More Servlets and Java Server
Pages&gt;&gt;  
EJB参考资料:&lt;&lt; Enterprise JavaBeans, 3nd
Edition&gt;&gt;和&lt;&lt; Mastering Enterprise Java Beans Third
Edition&gt;&gt;  

web服务器、应用服务器:Tomcat,Jetty,JBoss,Weblogic,WebSphere(后两个收费)  
数据库:PostgreSQL,MySQL,Oracle,MS
SQL,DB2(前2个开源)  
如果单单只是学习Servlet,推荐使用Tomcat,如果学习EJB的话,推荐使用Jboss,不仅仅是因为它是Open
Source的,主要是配置比较简单,使用方便。对于初学者用来做做EJB,JDBC的练习,推荐MySQL,理由简单,用户文档齐全。
PostgreSQL国内使用者远不如MySQL多。  

提高参考资料:&lt;&lt;Refactoring: Improving the Design of Existing
Code &gt;&gt;,&lt;&lt;Effective
Java&gt;&gt;提高代码质量和规范性。结合着学习一些优秀的开源项目的源代码。这些开源项目的代码风格,注释都是值得借鉴的。  

实际中也只能是需要什么技术再学习什么技术!  

再提高:从软件架构,Framework层次上来学习。可参考面向对象的圣经&lt;&lt;Design
Patterns&gt;&gt;, &lt;&lt;Core J2EE
Patterns&gt;&gt;。学习设计模式的时候,建议是结合实际的源代码来看,比如看看Junit源代码,你可以看到很多设计模式优雅的实现。

![](http://my.csdn.net/uploads/201206/11/1339428286_5303.png)

![](http://my.csdn.net/uploads/201206/11/1339428302_9175.JPG)  




http://blog.csdn.net/wuzhxun/article/details/3945863
推荐java优秀视频

1-    Java基础:

  v512工作室\_Java高端培训系列视频:
<http://www.verycd.com/topics/215898/>

  重点看Java.SE6开发和Eclipse专辑

 

2-    J2EE(SSH框架):

  
尚学堂科技Java.系列视频教程:<http://www.verycd.com/topics/93279/>

   重点看SSH框架(Struts+Spring+Hibernate),王勇老师讲的,很不错。

 

3-    J2EE项目(以下视频均含源代码):

(1)我的智囊团J2EE项目实训视频 :

http://blog.xunlei.com/web/category.html?uin=ljtcjd&category\_id=1413&keyword=我的智囊团

(2)Java项目开发全程实录(10个项目):<http://www.verycd.com/topics/2722577/>

 

\* 第一阶段:Java基础,包括java语法,面向对象特征,常见API,集合框架; \*第二阶段:java界面编程,包括AWT,事件机
制,SWING,这个部分也可以跳过,用的时候再看都能来及; \*第三阶段:java API:输入输出,多线程,网络编程,反射注解等,java的精华
部分;\*第四阶段:数据库SQL基础,包括增删改查操作以及多表查询;\*第五阶段:JDBC编程:包括JDBC原理,JDBC连接库,JDBC API,
虽然现在Hibernate比JDBC要方便许多,但是JDBC技术仍然在使用,JDBC思想尤为重要;\*第六阶段:JDBC深入理解高级特性:包括数据
库连接池,存储过程,触发器,CRM思想;\*第七阶段:HTML语言学习,包括HTML标签,表单标签以及CSS,这是Web应用开发的基础;\*第八阶
段:JavaScript脚本语言,包括javaScript语法和对象,就这两个方面的内容; \*第九阶段:DOM编程,包括DOM原理,常用的DOM
元素以及比较重要的DOM编程思想;\*第十阶段:Servlet开发,从此开始踏入java开发的重要一步,包括XML,Tomcat服务器的安装使用操
作,HTTP协议简单理解,Servlet API等,这个是java web开发的基础;\*第十一阶段:JSP开发:JSP语法和标签,自定义标
签,EL,JSTL库了解以及MVC三层架构的设计模式理念;\*第十二阶段:AJAX开发:AJAX原理,请求响应处理,AJAX开发库; \*第十三阶
段:轻量级框架,三大框架之一Struts框架的学习,自此踏入java web开发的精华部分,包括Struts体系架构,各种组件,标签库和扩展性的
学习;\*第十四阶段:Hibernate框架学习,三大框架之一,包括检索映射技术,多表查询技术,缓存技术以及性能方面的优化;\*第十五阶
段:Spring框架的学习,三大框架之一,包括了IOC,AOP,DataSource,事务,SSH集成以及JPA集成;  

也可以看看网上的视频:----j2se------java基础加强 -----jdbc -----j2se实例 ------张孝祥javaweb
视频教程------张孝祥javascript------servlet + jsp -----j2ee实例 ---

 

 

从网上发现这篇文章,发现和我写的一篇关于《[知识体系](http://blog.csdn.net/jinxfei/archive/2009/09/27/4602449.aspx)》的文章互相呼应,就转过来了。

转自:<http://tieba.baidu.com/f?kz=692446591>

怎么学习Java,这是很多新手经常会问我的问题,现在我简单描述下一个Java初学者到就业要学到的一些东西:  
   
首先要明白Java体系设计到得三个方面:J2SE,J2EE,J2ME(KJAVA)。J2SE,Java
2 Platform Standard
Edition,我们经常说到的JDK,就主要指的这个,它是三者的基础,属于桌面级应用开发,这部分如果学得好很容易拓展J2EE和J2ME。
J2ME,The Micro Edition of the Java 2
Platform。主要用于嵌入式Java,如手机,PDA等等。J2EE,Java 2
Platform,Enterprise
Edition,就是所谓的企业级Java,适合企业的大型应用开发。  
J2SE:  
   
新手最初学习的时候先要从J2SE开始学起,所包含的内容主要分为:面向对象概念的理解、Java基本语法的学习,Java桌面图形界面应用程序的开发,掌握常用的Java
API等(关键是要学会怎样查阅)。  
重点:Java基本语法(循环结构,数据类型,数组,运算符等)、Swing,awt,事件机制、文件输入输出流处理等  
难点:面向对象思想的理解(接口、类等)、线程、socket网络编程等  
视频教程推荐:孙鑫的Java基础视频教程、张孝祥的Java基础视频教程,讲的都很细,而且这两位老师在教学方面都有很好的经验。  
J2EE:  
       
在学习了J2SE之后,你可以尝试着慢慢过渡到J2EE,当然,学习J2EE海需要很多非JAVA技术的支撑,比如数据库技术,网页编程技术等等,待会我
会详细介绍这两方面的内容。J2EE有三个必学的框架,如果你说你学了J2EE,但又不会这三个框架的话,那会让人笑掉大牙,这三个框架分别是
Struts、Spring和Hibernate,虽然这三个框架应用很广,但不代表这三个框架就代表了J2EE,J2EE还有很多其他的东西,比如
EJB,作为一款重量级(此重量级不是指重量级选手那个意思,此重量级非彼重量级)框架,虽然这个应用慢慢的再被其他框架所取代,但EJB3.0的出现也
给它带回一些生机,作为一个分布式应用的框架,也是大家要去学习和了解的知识。  
       
当然,刚才说到J2EE包含的范围很广,即使我把我所了解的所有技术说出来,也并不能代表J2EE,这是一个很深很广的学问,需要大家以后再工作的时候慢慢去发现了。我所了解的还包括:  
JDBC:Java数据库连接对象,基础中的基础,Hibernate也只是对它的封装而已  
JNDI: Java 命名与目录接口,J2EE重要规范之一  
EJBS: 上面已经提到过了  
RMI: 提供远程调用方法的支持,主要用于程序分布式开发  
JMS: Java消息服务,中间件技术  
JAVA IDL: 提供J2EE平台与CORBA交互能力和互联能力的技术  
JTS: 组件事务监视器  
JTA: 事务划分的一个技术  
JAVAMAIL: Java中的邮件技术  
JAF: Java启动框架,没研究过  
Log4j,一款日志处理的框架应用  
Junit:单元测试的好帮手  
freemarker、velocity:两款不错的模板引擎  
与Flash的交互Flex:目前很多的SNS应用就是使用到了这个技术  
Web
services:想知道我们论坛天气预报的效果是怎么做的吗?请关注这个技术  
SOA:面向服务架构,未来技术发展的趋势之一  
……  
       
不过前面介绍到得这些都不是J2EE的基础,是属于框架应用级别的.要真正把上面说到的知识掌握好,还是的学习J2EE最核心的东西:JDBC、JSP、
servlet和JavaBean,后面三个也是学习SSH的基础(Struts/Spring/Hibernate的简称).鉴于J2EE的内容太过复
杂,建议大家最初只学习: JSP,
servlet和JavaBean,等这个基础掌握好再把SSH学习了,再对其他J2EE技术有个大致的了解就可以出去找工作了。当然,找工作的前提除了
把Java学习好,还会有一些其他的技术也是必须要掌握的。

-\_-
我很简单,Java却要求我学这么多复杂的东西。除了这些技术的东西,在这阶段,大家更多的是会接触到比如设计模式的东西,比如工厂模式、桥梁模式、单例
模式等等,还要学习建模思想(比如UML建模等等)和软件生命周期等等。这些是升华大家编程思想的手段和途径。  
数据库技术:  
    
数据库几乎是程序中不可或缺的一部分,在整个软件开发中更是占据了重要作用.数据库在整个软件中扮演的是地基的角色,你要修房子,就要先打好地基,你要做软件,就要先设计好的数据库.目前数据库几乎都是关系型数据库,代表的有:  
SQL
Server,目前最新的好像是2008,我不是很喜欢追赶时髦,用的还是2005,不过也很不错了,在此之前还有2000.  
MySQL,最知名的开源数据库之一,我很喜欢它的小巧耐用,学过SQL
SERVER数据库再学它,无师自通,易如反掌.  
ORACLE.甲骨文公司的产品,大型数据库,正版的一般公司买不起.只有看看了,不过现在Java开发60%都是会使用到这个数据库,再加上现在甲骨文已经把sun公司收购了,JAVA和ORACLE得关系更加暧昧,各位得多花些时间在这上面了.  
除了这些,你还应该了解一些桌面应用软件开发用到的数据库,比如说sqlite。你在制作安装程序的时候可以把这个数据库打包进你的安装程序。  
网页编程基础:  
    
网页编程基础要学的内容也比较多,但主要集中在以下这三个技术之上,大家每天看的各种样式的网页都是它们呈现的:  
HTML:超文本标记语言  
CSS:层叠样式表  
Javascript:浏览器客户端脚本语言  
现在更是流行各种JavaScript库,比如:Jquery、ExtJs等,你要是会其中的某一个库的使用,找工作so
easy。  
J2ME:  
    
如果你在学习了以上技术还不过瘾,可以再学习手机程序的开发,就我个人看来,开发手机程序技术其实蛮简单的,难点在于优化,比如怎么让你写的程序尽量的节
约手机资源,“代码诚可贵,手机价更高“,所以不得不比PC机多考虑很多成本和实用性问题。J2ME的学习的话,切忌不要单纯的再模拟器上测试,一定要找
真机测试,真机和模拟器的效果之间差别是很大的。更多手机开发技术,有兴趣的朋友可以和我一起探讨。  
开发工具:  
   
开发工具的选择主要还是看大家的习惯,我个人比较喜欢使用eclispe,功能很强大,也很好拓展其他的功能。当让初学你也可以选择JCreator,或
者最好就直接用记事本。等你熟悉了Java代码之后,就可以使用JBuilder、eclispe或者netbeans这一类的工具了。  
    
先说到这里先,以后大家一起完善这个帖子。尽量再给大家整理一些学习的资源在这里。也欢迎大家一起整理我文章中提到的一些技术资源和开发工具。最后,再和大家分享一句话:生命欣欣向荣,唯奋斗不息。也和大家分享一幅Java学习路线图:  
[![](http://hi.csdn.net/attachment/201005/4/0_1272935769KNxA.gif)](http://hi.csdn.net/attachment/201005/4/0_1272935756z51q.gif)

 

 

 

在开始之前有必要再讨论一下J2ME,J2SE,J2EE这些概念。J2ME,The Micro
Edition of the Java 2
Platform。主要用于嵌入式Java,如手机,PDA等等。J2SE,Java 2
Platform,Standard Edition,我们通常所说的JDK(Java Development
Kit)包含在此,是J2EE的基础。J2EE,Java 2 Platform,Enterprise
Edition,就是所谓的企业级Java。这些只是从API级别上的划分,实际上Sun给J2EE的定义是:开发基于组件的多层的企业级应用的规范。也
就是为各种不同的技术定义一个Java的规范,使这些不同的技术结合起来,在Java平台上构建强壮的企业级应用。从这一点来看,J2EE这个概念应该是
涵盖J2ME,J2SE的。比如一个典型的J2EE应用,网上商店,它支持web方式下订单,也支持手机下订单。显然必须用到J2SE,J2ME。所以也
就不存在所谓的从J2SE转向J2EE的问题了,只是后者包含的范围更广而已。

来看看Sun给出的J2EE 相关技术主要分为几大块。

1. Web Service技术

\-   Java API for XML Processing (JAXP)

\-   Java API for XML Registries (JAXR)

\-   Java API for XML-based RPC (JAX-RPC)

\-     SOAP with Attachments API for Java (SAAJ)

2. 组件模型技术(Component Model Technologies)

\-   Java Servlet

\-   JavaServer Pages

\-   JavaServer Faces

\-   Enterprise JavaBeans

\-   Java Message Service

\-     J2EE Connector Architecture

3. 管理技术(Management Technologies)

\-   J2EE Deployment Specification

\-   J2EE Management Specification

\-   J2EE Client Provisioning

\-     Java Authorization Contract for Containers

4. 其他相关技术(Other J2EE Technologies)

\-   JDBC

\-   Java Data Objects (JDO)

\-   CORBA (Java IDL and Java RMI-IIOP)

\-   JavaMail

\-   Transactions

如此之多的技术难免使初学者无所适从,望而却步。即使是一位经验丰富的J2EE开发者,又有几个人敢说J2EE相关的技术我都熟练掌握了。不过作为
一名普通J2EE应用程序的开发者来说,我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资
料就行了。以我个人的观点,下面这些技术是一般J2EE应用开发人员所必须熟练掌握的。Java
Server Page,Java Servlet,Enterprise
JavaBean,JDBC,Transactions。还有JAXP等XML相关技术,Java Message
Service,Java Mail,JDO等等是最好应该掌握的。其他Management
Technologies,Connector
Architecture等等主要是给容器提供商中间件提供商参考的,应用开发者不需要怎么关心,等用到了再去学习也不迟。

语言学习篇

首先是J2SE基础。学习一门新技术,无外乎阅读和实践了。而一本好的参考书对于初学者来说显得格外重要。现在市面上的
Java书籍可以说是铺天盖地,质量也是良莠不齐,令初学者无所适从。所以还是先推荐几本书籍吧。目前对于Java基础知识,大家一般都比较推荐两本
书,&lt;&gt;和&lt;&lt; Core Java? 2, Volume I:
Fundamentals &gt;&gt;。第一本书不必多说了,Bruce
Eckel的大作,Jolt获奖书籍。内容比较全面,基本涵盖了java语言的方方面面。这本书提供了相当丰富的例子,非常有利于对学习内容的了解。另外
书中第一部分对于OO基本书籍的介绍,我觉得对于刚接触OO的人来说帮助会很大。而且此书是Open
Source的,可以从作者网上下载<http://www.mindview.net/Books/TIJ/>而
对于习惯于读中文版的学习者来说,侯捷翻译的中文版是不错的选择。要说这本说的缺点可能就是对于初学者来说厚了一点,这也是一些人并不推荐此书作为初学者
学习用书的原因吧。后面一本&lt;&gt;,目前已经是第七版了,单从它出版的次数来看也可以看出此书受欢迎的程度,这本书特点也是讲述比较全面系统,
基本上一路啃下来的话Java语言基础应该算过关了。缺点也是太厚了,有点像参考手册,前面部分花了不少篇幅讲Swing和Applet,可能对初学者不
是很有用。还有一些像&lt;&lt; Java in a
nutshell&gt;&gt;也是比较不错的基础书籍。

学习了基本的语言基础,别忘了最重要也是最有用的资料还是JDK文档。从你学习java的第一天开始JDK文档应该是常备手头了。如果你碰到问题首
先想到的是到论坛上去提问而不是查阅Jdk文档,那先别继续往下学习了,学会查JDK文档先。不夸张的说在我们的初学者论坛中60%的问题是光查一下
JDK文档就能解决问题的。最新JDK
Documentation下载地址<http://java.sun.com/j2se/1.4.2/download.html>(目前最新版是J2SE5
<http://java.sun.com/j2se/1.5.0/download.jsp>)
不能光说不练,同一下载页面把JDK给下载回来。安装完后有一点我想提一下,安装路径下有一个src.zip(有些jdk版本是src.jar),好东西
啊---JDK源代码,老是有人在论坛上问哪里有JDK源代码下载,你说东西就放在你家里还到处找。有了这个有些问题就需要在论坛上跟人家争来争去了,翻
开源代码瞧一下什么疑问都没有了。几个最重要的命令行工具是

javac:            编译源文件到class文件

java:              运行class

jar:                打包工具。

javadoc:         生成java doc的工具。

对于初学java的人来说,我不推荐使用IDE而直接用文本编辑器,然后用命令行编译运行。这样有利于理解CLASSPATH,PATH这些最基本
概念。CLASSPATH是初学者比较容易感觉迷惑的地方。现在的IDE太聪明了,给个名字就给你自动生成java
source code,自动编译。可能你运行完了你的第一个Hello
World程序,还不知道java和javac是用来做什么的。至于实际的项目开发,一款合适的IDE还是十分重要的,我们稍后再对java开发工具做一
些介绍。

J2EE基础和Java语言进阶

学习完语言基础,就可以比较自然地转入J2EE实际技术的学习了。J2EE实在是比较庞杂,而EJB,Servlet,这些核心技术是作为每一个
J2EE开发人员所需要掌握的。关于servlet,我比较推荐&lt;&gt;和&lt;&gt;,第一本是Sun推荐的Servlet教材。第二本是
当年Amazon最畅销Java书籍,五星级书籍。这本书机械工业出版社有中文版叫&lt;&gt;,感觉翻译得还可以,第二版好像还没有看到有中文版。
两本书都全面系统地介绍了JSP和Sevlet知识,从web服务器配置,JSP,Servlet基本编程,标记库(Tag
Lib),过滤器,事件框架都有很好地描述。提供地例子也比较实用。对于EJB学习,比较著名有两本书,&lt;&lt;
Enterprise JavaBeans, 3nd Edition&gt;&gt;和&lt;&lt; Mastering
Enterprise Java Beans Third Edition&gt;&gt;,两位作者Richard
Monson,Ed Roman都是属于业界重量级人物。而Richard
Monson本身就是EJB规范专家组成员。对我来说,两本书难分优劣,第二本书有个好处就是可以免费下载<http://www.theserverside.com/books/wiley/masteringEJB/index.tss>。

还是那句话,不能光说不练,不过J2EE的练习做起来有一点麻烦,应用服务器是不可少的,最好还得准备个轻量级的数据库。下面简单介绍一下这些工具。

web服务器(Servlet Container)方面有。

Tomcat:          <http://jakarta.apache.org/tomcat/>

Jetty:              <http://jetty.mortbay.org/jetty/>

应用服务器常用的有,

Jboss:            <http://www.jboss.org/products/index>

Weblogic:      
<http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server>

WebSphere:   
<http://www-128.ibm.com/developerworks/downloads/ws/was/?S_TACT=105AGX28&S_CMP=DLMAIN>。

Tomcat,Jetty,Jboss都是Open
Source。Weblogic和WebSphere是J2EE服务器中的老大级人物,价格也不菲。不过对于开发者有免费的试用版下载。

如果单单只是学习Servlet,推荐使用Tomcat,它是Sun官方指定的Servlet,JSP规范的参考实现。对初学者最重要的是它使用比
较简单,自带文档比较齐全,使用者众多,有什么问题容易在论坛上面得到帮助。如果学习EJB的话,推荐使用Jboss,不仅仅是因为它是Open
Source的,主要是配置比较简单,使用方便。比如说对于连接数据库,对于常用的MySQL,Oracle,MS
SQL等等都提供了Sample
Config文件,直接拿过来做些小改动扔到Deploy目录下就可以用DataSource了,部署J2EE应用也简单,把整个.ear或者.war扔
到deploy下就可以了。唯一不方便的地方是从Jboss3.0开始,它的文档开始收费了。但是对于一些基本的配置,在网上还是非常容易找到的,毕竟它
太流行了。至于Weblogic,也比较容易使用,不过比起Jboss来个头大了很多,通过强大的管理界面使得一些常用的配置工作变得十分简单。和
Jboss比起来它的文档就太多了,简直是有点罗里八嗦,比如要部署一个.ear文件,一般我们也就是直接扔到domain下的applications
目录下就会自动deploy了,但是要看它的文档可是长篇大论,容易吓着初学者,以为这又是什么高深的学问。至于WebSphere,个人不推荐初学者使
用,相比前俩个Server比较难使,而且狂吃内存。不过在企业级市场这个家伙表现不俗,毕竟是出生于IBM这样的豪门。

数据库方面,目前常见的主要有PostgreSQL,MySQL,Oracle,MS
SQL,DB2等等。前面两个是开源数据库,后面几个基本上垄断着大部分的数据库市场。对于初学者用来做做EJB,JDBC的练习,我推荐MySQL,理
由还是很简单,开源软件不要钱,个头小使用方面,用户众多文档齐全。下载地址<http://www.mysql.com/products/mysql/>。PostgreSQL也可以考虑,不过国内使用者远不如MySQL多,所以要在论坛上问起问题来就少方便一些了,下载地址<http://www.pervasive-postgres.com/downloads/>。至于后面那些比较重量级的数据库,为了做做练习而言就不用考虑了,
咱也花不起这个钱啊。

学习完J2EE的这些具体技术,这个时候进行基本的J2EE开发应该是不成问题了。此时应该考虑提高自己的代码质量了。这里我强烈推荐Martin
Fowler的&lt;&gt;,这本书不是一本非常实际的书,作者完全是手把手地教你如何提高代码质量,从具体地代码中告诉你什么是代码的Bad
Smell,如何去掉这些Bad
Smell。不少书评是这么说的,这本书对于初级,中级的读者帮助是立杆见影的。至少就我接触到的几个学习编程不久的程序员,编码质量在短期内都有很大提
高。当然重构(Refactoring)这一概念并不只针对Java语言的,它对所有OO语言都是适用的。重构的概念是如此深入人心,以至于今天几乎所有
流行的IDE工具都有对重构的支持。这里我还想再推荐一本&lt;&gt;。从C++过来的程序员都知道&lt;&gt;在C++领域的地位,至今还流传
着这样的趣话,C++程序员分为两种,一种是读过&lt;&gt;的,另一种是没有读过C++的。虽然这本&lt;&gt;在Java领域的影响也许没有
那么大,但对于Java程序员绝对有相当的指导价值。作者是Sun公司的Joshua
Bloch,java Collection
framework的设计者。作者站在JDK设计者的角度向你介绍他的Best
Practice,应该这样做而不应该那样做,对于JDK中某些API设计的缺陷他也毫不袒护的指出。Java语言之父James
Gosling为此书写的前言是这么说的“I sure wish I had had this book ten
years ago。 Some might think that I don't need any Java books, but
I need this
one”。这本书会让你觉得原来你对Java还是有很多东西不了解的。举个例子来说,对象的equals方法,我们认为它很简单,也许你每天都在为你新写
的Class重载这个方法,但是你在重载的时候注意过“自反”,“对称”,“传递”这些必须要考虑的因素,你是否同时还小心谨慎的重载了hashcode
这个方法?如果没有,建议你要读一下这本书。读完这本书,你会觉得离Java的距离更近了。上面两本书都出过中文版,后面一本&lt;&gt;还有两个版
本的中文版,第一次翻译的比较差一点,后来机械工业出版社又委托潘爱民先生重新翻译了一遍。同一本书在同一个出版社连续被翻译了两次也说明国内出版界对这
本书还是比较重视的。

这个阶段,在看书的同时,可以结合着学习一些优秀的开源项目的源代码。这些开源项目的代码风格,注释都是值得借鉴的。实在太懒也别忘了手头上还有个
Jdk的源代码。其实也不用刻意去找源代码,在实际的J2EE项目开发中,基本上都会用到一些优秀的开源项目。Framework可能会用到
Spring,Struts,Log机制基本上都会JarkartaCommons
Log或者Log4j,单元测试会大多会用Junit,结合项目阅读一下其中的一些源代码,既可以提高自己又对项目会有所帮助,说不定因此而得到PM的赏
识呢。一举两得,何乐而不为呢。呵呵,有点扯远了。过了初学者阶段,该学会如何找到适合自己的Java书籍了。历经数十载,今天的Java技术已经变的如
此之庞杂,我相信即使穷净一个人毕生之精力也不可能把Java所有的相关技术都学通,何况新技术还在层出不穷地推出,3年之前谁会知道Struts会成为
Web框架事实上的工业标准。2年之前谁会知道Hibernate会在今天独领风骚。既然已经不能指望一次性把java技术的方方面面都学个通,在实际中
也只能是需要什么技术再学习什么技术了。而能否选择一本好的参考书籍带来的就是事半功倍和事倍工半的效果。所以我觉得花点时间放在选择书籍上面还是很值得
的,否则你在后面只会花更多的时间。下面我谈谈自己选择书籍的一些经验,不一定正确。首先看作者,像上面提到的那些书的作者,都是业界鼎鼎大名的,选择他
们的书一般错不了。大家看的书多了,自己胸中自然也会有一个list,哪些作者是信得过的。二看出版社,计算机书籍方
面,Oreilly,Addison-Wesley都是公认比较好的出版社。对于目前比较流行的Java技术,Oreilly的&lt;&gt;系列是不
错的选择。另外我还会去看看Amazon网站(<http://www.amazon.com/>)的书评,一般小于3星级的书我都不会考虑。还有一个好去处theserverside,<http://www.theserverside.com/>的
书评,这里的书评比较有趣,往往都有很激烈的争论,里面经常会看到一些名人在发言。我要向所有Java学习者推荐,如果我的收藏夹里面只能存放两个网站,
我会选择java.sun和theserverside。在这里你可以了解最新的Java动态,可以学习第一手的Java资料,可以看到Java高手们
(里面不乏业界大腕)激烈辩论。

到此阶段,Java
Developer的基本功底应该算是打好了吧,往后就是不断学习喽。结束这一段之前,最后再介绍一本书Oreilly的&lt;&gt;,因为我觉得多线程编程属于Java基本功,每一个想学好Java的人都应该好好掌握。

提高篇

在这个阶段应该从软件架构,Framework层次上来学习了。作为面向对象的圣经&lt;&gt;,
这本书是不得不推荐的。不用再多说了,这本在面向对象领域地位完全是属于教父级别的。不管你学习的是什么OO语言,不管你现在是用.Net还是J2EE开
发,这本书都是你进阶之路上的必读之书。而&lt;&gt;则专门针对于J2EE来讨论设计模式,书中Sun
Java
Center的资深设计师描述了J2EE关键技术的模式。最佳实践,设计策略和经过验证的解决方案。对于每一个希望成为J2EE
架构师或者设计师,这本书值得一读。学习设计模式的时候,建议是结合实际的源代码来看,比如看看Junit源代码,你可以看到很多设计模式优雅的实现,作
者之一Erich
Gamma本身就是&lt;&gt;的作者。至于J2EE的设计模式,Sun还开辟了专门的空间<http://java.sun.com/blueprints/patterns/>,里面有对常用模式的讨论又提供了详细的源代码样例。正如Grady
Booch所说,模式对于普遍问题提供了通用的解决方案,利用模式就等于拥有一个强大的专家队伍。如果你还没有学习,现在就开始吧。此外对于面向对象方法论,极限编程的思想也应该有所了解<http://www.extremeprogramming.org/>。
对于J2EE项目的具体实施,Rod
Johnson的&lt;&gt;也很有价值,该书以作者丰富的实战经验向我们展示如何用尽可能简单的解决方案构建J2EE
应用,书中作者第一次提出这样的观点,很多时候,J2EE应用完全没有必要用到EJB,对于言必称EJB的广大J2EE开发者来说,怎么说也有点惊世咳俗
的味道。当然,作为Servlet和JDO两个专家组的成员,这可不是作者信口胡驺的。今天风靡Java世界的Spring框架最初便是源于此书,而
IOC,AOP等概念更是被时下的java开发者挂在嘴边。最后,作为对Java的深入学习,Java技术的各个Specification也有必要一
读。

 

 

在开始之前有必要再讨论一下J2ME,J2SE,J2EE这些概念。J2ME,The Micro
Edition of the Java 2
Platform。主要用于嵌入式Java,如手机,PDA等等。J2SE,Java 2
Platform,Standard Edition,我们通常所说的JDK(Java Development
Kit)包含在此,是J2EE的基础。J2EE,Java 2 Platform,Enterprise
Edition,就是所谓的企业级Java。这些只是从API级别上的划分,实际上Sun给J2EE的定义是:开发基于组件的多层的企业级应用的规范。也
就是为各种不同的技术定义一个Java的规范,使这些不同的技术结合起来,在Java平台上构建强壮的企业级应用。从这一点来看,J2EE这个概念应该是
涵盖J2ME,J2SE的。比如一个典型的J2EE应用,网上商店,它支持web方式下订单,也支持手机下订单。显然必须用到J2SE,J2ME。所以也
就不存在所谓的从J2SE转向J2EE的问题了,只是后者包含的范围更广而已。

来看看Sun给出的J2EE 相关技术主要分为几大块。

1. Web Service技术

\-   Java API for XML Processing (JAXP)

\-   Java API for XML Registries (JAXR)

\-   Java API for XML-based RPC (JAX-RPC)

\-     SOAP with Attachments API for Java (SAAJ)

2. 组件模型技术(Component Model Technologies)

\-   Java Servlet

\-   JavaServer Pages

\-   JavaServer Faces

\-   Enterprise JavaBeans

\-   Java Message Service

\-     J2EE Connector Architecture

3. 管理技术(Management Technologies)

\-   J2EE Deployment Specification

\-   J2EE Management Specification

\-   J2EE Client Provisioning

\-     Java Authorization Contract for Containers

4. 其他相关技术(Other J2EE Technologies)

\-   JDBC

\-   Java Data Objects (JDO)

\-   CORBA (Java IDL and Java RMI-IIOP)

\-   JavaMail

\-   Transactions

如此之多的技术难免使初学者无所适从,望而却步。即使是一位经验丰富的J2EE开发者,又有几个人敢说J2EE相关的技术我都熟练掌握了。不过作为
一名普通J2EE应用程序的开发者来说,我们只需要重点学习其中的一部分技术就可以了,对于其他部分只要做到心中有数,哪天需要用到了知道跑哪里去找到资
料就行了。以我个人的观点,下面这些技术是一般J2EE应用开发人员所必须熟练掌握的。Java
Server Page,Java Servlet,Enterprise
JavaBean,JDBC,Transactions。还有JAXP等XML相关技术,Java Message
Service,Java Mail,JDO等等是最好应该掌握的。其他Management
Technologies,Connector
Architecture等等主要是给容器提供商中间件提供商参考的,应用开发者不需要怎么关心,等用到了再去学习也不迟。

语言学习篇

首先是J2SE基础。学习一门新技术,无外乎阅读和实践了。而一本好的参考书对于初学者来说显得格外重要。现在市面上的
Java书籍可以说是铺天盖地,质量也是良莠不齐,令初学者无所适从。所以还是先推荐几本书籍吧。目前对于Java基础知识,大家一般都比较推荐两本
书,&lt;&gt;和&lt;&lt; Core Java? 2, Volume I:
Fundamentals &gt;&gt;。第一本书不必多说了,Bruce
Eckel的大作,Jolt获奖书籍。内容比较全面,基本涵盖了java语言的方方面面。这本书提供了相当丰富的例子,非常有利于对学习内容的了解。另外
书中第一部分对于OO基本书籍的介绍,我觉得对于刚接触OO的人来说帮助会很大。而且此书是Open
Source的,可以从作者网上下载<http://www.mindview.net/Books/TIJ/>而
对于习惯于读中文版的学习者来说,侯捷翻译的中文版是不错的选择。要说这本说的缺点可能就是对于初学者来说厚了一点,这也是一些人并不推荐此书作为初学者
学习用书的原因吧。后面一本&lt;&gt;,目前已经是第七版了,单从它出版的次数来看也可以看出此书受欢迎的程度,这本书特点也是讲述比较全面系统,
基本上一路啃下来的话Java语言基础应该算过关了。缺点也是太厚了,有点像参考手册,前面部分花了不少篇幅讲Swing和Applet,可能对初学者不
是很有用。还有一些像&lt;&lt; Java in a
nutshell&gt;&gt;也是比较不错的基础书籍。

学习了基本的语言基础,别忘了最重要也是最有用的资料还是JDK文档。从你学习java的第一天开始JDK文档应该是常备手头了。如果你碰到问题首
先想到的是到论坛上去提问而不是查阅Jdk文档,那先别继续往下学习了,学会查JDK文档先。不夸张的说在我们的初学者论坛中60%的问题是光查一下
JDK文档就能解决问题的。最新JDK
Documentation下载地址<http://java.sun.com/j2se/1.4.2/download.html>(目前最新版是J2SE5
<http://java.sun.com/j2se/1.5.0/download.jsp>)
不能光说不练,同一下载页面把JDK给下载回来。安装完后有一点我想提一下,安装路径下有一个src.zip(有些jdk版本是src.jar),好东西
啊---JDK源代码,老是有人在论坛上问哪里有JDK源代码下载,你说东西就放在你家里还到处找。有了这个有些问题就需要在论坛上跟人家争来争去了,翻
开源代码瞧一下什么疑问都没有了。几个最重要的命令行工具是

javac:            编译源文件到class文件

java:              运行class

jar:                打包工具。

javadoc:         生成java doc的工具。

对于初学java的人来说,我不推荐使用IDE而直接用文本编辑器,然后用命令行编译运行。这样有利于理解CLASSPATH,PATH这些最基本
概念。CLASSPATH是初学者比较容易感觉迷惑的地方。现在的IDE太聪明了,给个名字就给你自动生成java
source code,自动编译。可能你运行完了你的第一个Hello
World程序,还不知道java和javac是用来做什么的。至于实际的项目开发,一款合适的IDE还是十分重要的,我们稍后再对java开发工具做一
些介绍。

J2EE基础和Java语言进阶

学习完语言基础,就可以比较自然地转入J2EE实际技术的学习了。J2EE实在是比较庞杂,而EJB,Servlet,这些核心技术是作为每一个
J2EE开发人员所需要掌握的。关于servlet,我比较推荐&lt;&gt;和&lt;&gt;,第一本是Sun推荐的Servlet教材。第二本是
当年Amazon最畅销Java书籍,五星级书籍。这本书机械工业出版社有中文版叫&lt;&gt;,感觉翻译得还可以,第二版好像还没有看到有中文版。
两本书都全面系统地介绍了JSP和Sevlet知识,从web服务器配置,JSP,Servlet基本编程,标记库(Tag
Lib),过滤器,事件框架都有很好地描述。提供地例子也比较实用。对于EJB学习,比较著名有两本书,&lt;&lt;
Enterprise JavaBeans, 3nd Edition&gt;&gt;和&lt;&lt; Mastering
Enterprise Java Beans Third Edition&gt;&gt;,两位作者Richard
Monson,Ed Roman都是属于业界重量级人物。而Richard
Monson本身就是EJB规范专家组成员。对我来说,两本书难分优劣,第二本书有个好处就是可以免费下载<http://www.theserverside.com/books/wiley/masteringEJB/index.tss>。

还是那句话,不能光说不练,不过J2EE的练习做起来有一点麻烦,应用服务器是不可少的,最好还得准备个轻量级的数据库。下面简单介绍一下这些工具。

web服务器(Servlet Container)方面有。

Tomcat:          <http://jakarta.apache.org/tomcat/>

Jetty:              <http://jetty.mortbay.org/jetty/>

应用服务器常用的有,

Jboss:            <http://www.jboss.org/products/index>

Weblogic:      
<http://www.bea.com/framework.jsp?CNT=index.htm&FP=/content/products/server>

WebSphere:   
<http://www-128.ibm.com/developerworks/downloads/ws/was/?S_TACT=105AGX28&S_CMP=DLMAIN>。

Tomcat,Jetty,Jboss都是Open
Source。Weblogic和WebSphere是J2EE服务器中的老大级人物,价格也不菲。不过对于开发者有免费的试用版下载。

如果单单只是学习Servlet,推荐使用Tomcat,它是Sun官方指定的Servlet,JSP规范的参考实现。对初学者最重要的是它使用比
较简单,自带文档比较齐全,使用者众多,有什么问题容易在论坛上面得到帮助。如果学习EJB的话,推荐使用Jboss,不仅仅是因为它是Open
Source的,主要是配置比较简单,使用方便。比如说对于连接数据库,对于常用的MySQL,Oracle,MS
SQL等等都提供了Sample
Config文件,直接拿过来做些小改动扔到Deploy目录下就可以用DataSource了,部署J2EE应用也简单,把整个.ear或者.war扔
到deploy下就可以了。唯一不方便的地方是从Jboss3.0开始,它的文档开始收费了。但是对于一些基本的配置,在网上还是非常容易找到的,毕竟它
太流行了。至于Weblogic,也比较容易使用,不过比起Jboss来个头大了很多,通过强大的管理界面使得一些常用的配置工作变得十分简单。和
Jboss比起来它的文档就太多了,简直是有点罗里八嗦,比如要部署一个.ear文件,一般我们也就是直接扔到domain下的applications
目录下就会自动deploy了,但是要看它的文档可是长篇大论,容易吓着初学者,以为这又是什么高深的学问。至于WebSphere,个人不推荐初学者使
用,相比前俩个Server比较难使,而且狂吃内存。不过在企业级市场这个家伙表现不俗,毕竟是出生于IBM这样的豪门。

数据库方面,目前常见的主要有PostgreSQL,MySQL,Oracle,MS
SQL,DB2等等。前面两个是开源数据库,后面几个基本上垄断着大部分的数据库市场。对于初学者用来做做EJB,JDBC的练习,我推荐MySQL,理
由还是很简单,开源软件不要钱,个头小使用方面,用户众多文档齐全。下载地址<http://www.mysql.com/products/mysql/>。PostgreSQL也可以考虑,不过国内使用者远不如MySQL多,所以要在论坛上问起问题来就少方便一些了,下载地址<http://www.pervasive-postgres.com/downloads/>。至于后面那些比较重量级的数据库,为了做做练习而言就不用考虑了,
咱也花不起这个钱啊。

学习完J2EE的这些具体技术,这个时候进行基本的J2EE开发应该是不成问题了。此时应该考虑提高自己的代码质量了。这里我强烈推荐Martin
Fowler的&lt;&gt;,这本书不是一本非常实际的书,作者完全是手把手地教你如何提高代码质量,从具体地代码中告诉你什么是代码的Bad
Smell,如何去掉这些Bad
Smell。不少书评是这么说的,这本书对于初级,中级的读者帮助是立杆见影的。至少就我接触到的几个学习编程不久的程序员,编码质量在短期内都有很大提
高。当然重构(Refactoring)这一概念并不只针对Java语言的,它对所有OO语言都是适用的。重构的概念是如此深入人心,以至于今天几乎所有
流行的IDE工具都有对重构的支持。这里我还想再推荐一本&lt;&gt;。从C++过来的程序员都知道&lt;&gt;在C++领域的地位,至今还流传
着这样的趣话,C++程序员分为两种,一种是读过&lt;&gt;的,另一种是没有读过C++的。虽然这本&lt;&gt;在Java领域的影响也许没有
那么大,但对于Java程序员绝对有相当的指导价值。作者是Sun公司的Joshua
Bloch,java Collection
framework的设计者。作者站在JDK设计者的角度向你介绍他的Best
Practice,应该这样做而不应该那样做,对于JDK中某些API设计的缺陷他也毫不袒护的指出。Java语言之父James
Gosling为此书写的前言是这么说的“I sure wish I had had this book ten
years ago。 Some might think that I don't need any Java books, but
I need this
one”。这本书会让你觉得原来你对Java还是有很多东西不了解的。举个例子来说,对象的equals方法,我们认为它很简单,也许你每天都在为你新写
的Class重载这个方法,但是你在重载的时候注意过“自反”,“对称”,“传递”这些必须要考虑的因素,你是否同时还小心谨慎的重载了hashcode
这个方法?如果没有,建议你要读一下这本书。读完这本书,你会觉得离Java的距离更近了。上面两本书都出过中文版,后面一本&lt;&gt;还有两个版
本的中文版,第一次翻译的比较差一点,后来机械工业出版社又委托潘爱民先生重新翻译了一遍。同一本书在同一个出版社连续被翻译了两次也说明国内出版界对这
本书还是比较重视的。

这个阶段,在看书的同时,可以结合着学习一些优秀的开源项目的源代码。这些开源项目的代码风格,注释都是值得借鉴的。实在太懒也别忘了手头上还有个
Jdk的源代码。其实也不用刻意去找源代码,在实际的J2EE项目开发中,基本上都会用到一些优秀的开源项目。Framework可能会用到
Spring,Struts,Log机制基本上都会JarkartaCommons
Log或者Log4j,单元测试会大多会用Junit,结合项目阅读一下其中的一些源代码,既可以提高自己又对项目会有所帮助,说不定因此而得到PM的赏
识呢。一举两得,何乐而不为呢。呵呵,有点扯远了。过了初学者阶段,该学会如何找到适合自己的Java书籍了。历经数十载,今天的Java技术已经变的如
此之庞杂,我相信即使穷净一个人毕生之精力也不可能把Java所有的相关技术都学通,何况新技术还在层出不穷地推出,3年之前谁会知道Struts会成为
Web框架事实上的工业标准。2年之前谁会知道Hibernate会在今天独领风骚。既然已经不能指望一次性把java技术的方方面面都学个通,在实际中
也只能是需要什么技术再学习什么技术了。而能否选择一本好的参考书籍带来的就是事半功倍和事倍工半的效果。所以我觉得花点时间放在选择书籍上面还是很值得
的,否则你在后面只会花更多的时间。下面我谈谈自己选择书籍的一些经验,不一定正确。首先看作者,像上面提到的那些书的作者,都是业界鼎鼎大名的,选择他
们的书一般错不了。大家看的书多了,自己胸中自然也会有一个list,哪些作者是信得过的。二看出版社,计算机书籍方
面,Oreilly,Addison-Wesley都是公认比较好的出版社。对于目前比较流行的Java技术,Oreilly的&lt;&gt;系列是不
错的选择。另外我还会去看看Amazon网站(<http://www.amazon.com/>)的书评,一般小于3星级的书我都不会考虑。还有一个好去处theserverside,<http://www.theserverside.com/>的
书评,这里的书评比较有趣,往往都有很激烈的争论,里面经常会看到一些名人在发言。我要向所有Java学习者推荐,如果我的收藏夹里面只能存放两个网站,
我会选择java.sun和theserverside。在这里你可以了解最新的Java动态,可以学习第一手的Java资料,可以看到Java高手们
(里面不乏业界大腕)激烈辩论。

到此阶段,Java
Developer的基本功底应该算是打好了吧,往后就是不断学习喽。结束这一段之前,最后再介绍一本书Oreilly的&lt;&gt;,因为我觉得多线程编程属于Java基本功,每一个想学好Java的人都应该好好掌握。

提高篇

在这个阶段应该从软件架构,Framework层次上来学习了。作为面向对象的圣经&lt;&gt;,
这本书是不得不推荐的。不用再多说了,这本在面向对象领域地位完全是属于教父级别的。不管你学习的是什么OO语言,不管你现在是用.Net还是J2EE开
发,这本书都是你进阶之路上的必读之书。而&lt;&gt;则专门针对于J2EE来讨论设计模式,书中Sun
Java
Center的资深设计师描述了J2EE关键技术的模式。最佳实践,设计策略和经过验证的解决方案。对于每一个希望成为J2EE
架构师或者设计师,这本书值得一读。学习设计模式的时候,建议是结合实际的源代码来看,比如看看Junit源代码,你可以看到很多设计模式优雅的实现,作
者之一Erich
Gamma本身就是&lt;&gt;的作者。至于J2EE的设计模式,Sun还开辟了专门的空间<http://java.sun.com/blueprints/patterns/>,里面有对常用模式的讨论又提供了详细的源代码样例。正如Grady
Booch所说,模式对于普遍问题提供了通用的解决方案,利用模式就等于拥有一个强大的专家队伍。如果你还没有学习,现在就开始吧。此外对于面向对象方法论,极限编程的思想也应该有所了解<http://www.extremeprogramming.org/>。
对于J2EE项目的具体实施,Rod
Johnson的&lt;&gt;也很有价值,该书以作者丰富的实战经验向我们展示如何用尽可能简单的解决方案构建J2EE
应用,书中作者第一次提出这样的观点,很多时候,J2EE应用完全没有必要用到EJB,对于言必称EJB的广大J2EE开发者来说,怎么说也有点惊世咳俗
的味道。当然,作为Servlet和JDO两个专家组的成员,这可不是作者信口胡驺的。今天风靡Java世界的Spring框架最初便是源于此书,而
IOC,AOP等概念更是被时下的java开发者挂在嘴边。最后,作为对Java的深入学习,Java技术的各个Specification也有必要一
读。