开发人员如何做好技术长期规划?

1 前言

随着程序员的经验、资历不断提升,不再满足于日常业务搬砖,也要朝技术创新方向不断努力。对低级别的技术同学来说也许点上面的优化就可以做的不错了,但对于高级别的同学,体系化的思考能力尤其重要,这就需要做好技术规划。
在大前端新框架层出不穷的年代,技术规划似乎约等于轮子大法,不管三七二十一,新出一个框架拿来就尝试一下,例如RN、Flutter这类框架,第一批吃螃蟹的总能获得不错的红利。要是再有追求的,直接另起炉灶自己实现一下,例如Weex就是RN的Vue语言版本,在阿里体系内也是混的风生水起。
但最近几年大前端的新技术趋于稳定,不再有那么多红利可吃,另外很多公司也严禁重复造轮子,作为业务开发的我们如何在日常繁重的业务开发中做好技术规划呢?

2 什么是技术规划

规划,意思就是个人或组织制定的比较全面长远的发展计划,是对未来整体性、长期性、基本性问题的思考和考量,设计未来整套行动的方案。规划是融合多要素、多人士看法的某一特定领域的发展愿景。
-百度百科

从百度百科的定义来看,技术规划相比于日常技术优化有几个特点:

  • 整体性:技术规划一定是对现有系统有体系化的思考,得出一个全面整体的改进方案,不在停留在某些具体优化点之上
  • 长期性:技术规划一般周期都在在季度、半年度甚至年度,这就意味着这件事情是比较长期稳定的,需要持续推进的
  • 方向性:技术规划需要针对某个方向,提出一个较为长远的目标,设计全面的发展计划和行动方案

  

规划的意义就在于给到一个长远的目标,起到了灯塔的作用,也许一开始并不能马上就找准方向得到理想的结果,但是通过设立规划目标、阶段性的里程碑,不断做有积累的事情,最终就能够得到理想的结果。

3 怎么做技术规划

前期准备

  • 业务分析
    技术不是空中楼阁,一定是服务于业务场景,这个需要技术同学加深业务的理解。有句话提到加深业务理解总结下来就是:“站在业务方的视角,在理解业务发展目标、看清业务发展方向的前提下,做出技术和业务的平衡”。
    所以技术规划首先要考虑的是业务价值,千万不要为了技术自嗨,为了规划而规划,一定要想想做这件事情最终给业务能带来什么?

  • 业界对标
    当你要解决一个问题的时候,要相信你不会是第一个遇到的,也许业界已经有很好的解决方案,所以技术规划时候需要前期做足准备,充分调研看看别人是如何解决的,是否适合你的场景,多比较多对标,再开始动手。
    技术同学往往会有自己动手的冲动,往往觉得自己亲自造轮子解决才有成就感,其实如果你能采用成熟方案以最小代价解决问题,这个难道不是更有效吗?

设立目标

一般设立目标的时候遵循SMART(S=Specific、M=Measurable、A=Attainable、R=Relevant、T=Time-bound)原则,可以逐条对照目标原则看你的目标是否符合。

当然设立目标也需要考虑一些因素:

  • 收益:目标一定是能够获得业务收益的,例如收入、效率、体验,不要设立一个无法明确收益的目标。
  • 技术:从技术层面来看,分为三个层次:现有扩展或者深度挖掘,新方向探索,趋势判断。越往后面的层次约考验技术同学的技术判断能力,这个需要大量的积累。
  • 团队:目标是否是现有团队人力可以承受的?技术能力上团队是否能够支撑?比如做一个移动操作系统可能就不是一个中小公司可以考虑的事情,或许只有华为、阿里这类大型公司才有可能落地实现。

一个技术规划设立目标的例子:

在xxx时间内达到:

  • xxx系统可用性99.99%
  • xxx系统线上故障<x个
  • xxx系统响应时间90线<x秒

任务分解

在目标设立好之后,需要进行目标的拆解,形成一份可以执行的计划。在任务分解的过程中需要注意几点:

  • 全景图
    任务分解不是没有章法的,这个尤其考验技术leader的技术大局观,必须具备开阔的视野看到整个事情的全景图,才能够在宏观层面更好的进行拆解。
    以美团点评金融平台 Web 前端技术体系为例(图片来源:https://tech.meituan.com/2018/03/16/front-end-web-architecture.html):

    我相信在做技术规划的时候,有这张技术全景图对于任务分解会起到非常大的帮助。规划要做的事情可以很容易按照分层图一层层拆分,或者按照不同框架系统进行拆分,同时也可以针对某层或者某个框架模块进行细分目标设定,使得目标更加精确容易衡量。
  • 明确可执行
    拆分出来的子任务需要明确可执行,子任务或者子目标也是要遵循SMART原则,同时拆分后更加贴近最终落地的结果,更加容易执行,未来也更容易进行衡量。

执行计划

任务分解后是制定执行计划,这个和做业务需求一样,要把一件事在分解拆细,评估工时,安排到人,进行项目排期。在执行计划上需要注意几点:

  • 设定里程碑


    对于一个长期的技术规划项目而言,经过任务拆解后可以能会分为几个子方向或者子项目并行开发,再加上周期漫长,如果要等到全部做完后再验证结果,这时候往往会产生非常大的偏差。里程碑的设立非常重要,一方面可以给到团队阶段性的胜利成果鼓励信心,另一方可以快速验证小步快走,避免出现重大的方向误差。
  • 高风险项目
    针对高风险项目,需要采取快速试错的方式,小步快走,前期要分阶段快速出成果。先做demo进行技术验证,再小范围尝试,最终再沉淀为应用。

  • 计划设定
    技术设定时候可以前紧后松,项目管理按照时间分阶段,月度计划可以细化到周或者天,长期计划可以细化到月。
    任务拆分和估时的颗粒度也要适中,拆分出来的每一件事情都是可以测试验证效果的,但同时不宜太大(1~3天工作量最好),这样可以提高工作量预估的准确性,而且将来计划调整也比较灵活。

风险评估

执行过程中需要不断评估风险,风险分为两类:技术风险和管理风险。
技术风险:前期需要评估技术可行性,结合团队技能和梯队情况,充分调研业界最佳实践,寻找到合适自己的技术方案,一定要记住不要被“颠覆性”的想法冲昏了头脑。
管理风险:团队人员配备是否充足,是否会因为业务波峰波谷导致技术需求无法持续,这个需要考验技术leader对于未来业务的判断,同时和业务团队充分沟通,针对技术需要留有一些固定比例人力,保证技术项目的长期性。

贯彻执行

执行过程中,项目到了一个里程碑,需要停下来进行总结复盘,看看当前的位置离目标是否越来越近,复盘过程中是否有改善的地方,同时按照当前的状态对计划进行调整和制定改进动作。规划就是为了更好地适应明天的变化。

4 总结一下 

技术规划包括明确目标、任务分解、执行计划、风险评估、贯彻执行这5个环节,每个环节都需要技术leader们认真思考,技术规划不光是表面光鲜高大上的事情,更需要脚踏实的狠抓细节才能落地。
最后,大家往往提到技术规划的时候脑中总是飘过各种高大上、酷炫屌炸天的技术,对于那些脏活苦活不屑一顾。但是我们需要仔细思考,回归到技术的本源,任何技术都是为业务服务的,如何选取合适的技术并且体现业务价值才是真正应该值得各位同学好好追寻探索。

---华丽的分割线---
第一则广告:美团点评上海团队招聘前端资深/专家工程师,有兴趣的同学欢迎投简历到wangdan53[AT]meituan.com

第二则广告,有兴趣同学可以关注微信公众号奶爸码农,不定期分享关于投资、理财、IT等内容:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件开发人员薪酬设计方案 软件开发人员一般都视自己为企业主要财富的创造者,他们不单要求获得工资报酬,还希 望与投资者、经营者共同参与企业剩余价值的索取与分配,这一需求显然与企业现有的 薪酬体制相矛盾。为了解决这一问题,必须建立公平合理的价值分配体系。   在国内软件企业中,多数对软件开发人员实行的是与企业内部技术职务相关的等级 工资制度,员工进入企业之后无论绩效如何,除非职务提升,否则工资无法增长。虽然也 有部分企业授予员工认股期权,但大多数软件企业都未上市,期权对员工来说有如空头支 票。部分企业曾推行与项目相关的奖励制度,但随着近年来IT市场的疲软,为了保证投 资者的收益,项目奖金也被逐渐取消.   软件开发人员一般都视自己为企业主要财富的创造者,他们不单要求获得工资报酬 ,还希望与投资者、经营者共同参与企业剩余价值的索取与分配,这一需求显然与企业现 有的薪酬体制相矛盾.为了解决这一问题,必须建立公平合理的价值分配体系,如此才能 做到开发人员与企业薪心相映。   软件企业中的价值分配体系主要体现于企业中的薪酬制度、晋升提拔制度。为了提 高价值分配的公平性和激励性,可以从以下六方面着手.   内部公平性   首先,工资制度的设计要体现内部公平性。即在岗位评价基础上建立与企业内部技术 职称相关的等级工资制度,提薪与技术职称提升相关而与年龄无关.   结合软件开发人员的特点,可从责任要素(权重占40%)、知识与技能要素(权重 占30%)、努力程度(权重占20%)和工作环境要素(权重占10%)等四个方面对软件 开发岗位进行评价,确定岗位的相对价值;从业务能力(权重占30%)、创新能力(权重占 30%)、团队精神(权重占20%)和职业素质(权重占20%)等四个方面对员工的岗位综 合能力进行评估,确定特定岗位上特定员工的相对价值;通过绩效管理来评价员工的业绩 ,确定员工的实际贡献。通过这三方面来综合确定软件开发人员的工资水平。   初级应用工程师、应用工程师、系统分析员和开发经理等技术职称分别对应不同的 工资等级范围,员工的工资水平既可随技术职称的提升而升至更高等级,也可以随业绩 的提升在同一工资等级范围内向上浮动。令每位软件开发人员的工资之间相互可比较, 以此实现其内部一致性。   外部竞争性   其次,软件开发人员的总体薪酬水平在职业劳动力市场应当具有竞争力,保证其外 部竞争性。   软件企业应当至少每年进行一次同行业薪酬水平调查,可以委托专业机构进行,也 可以购买Hay Croup、Mercer、Watson Wyatt等国际人力资源专业咨询机构的年度行业薪酬水平报告。以薪酬调查作为市场参照 ,了解企业的薪酬水平在行业中的地位,结合企业的总体战略和人工成本负担能力来确 定本企业的薪酬水平策略。可以采取领先策略,总体薪酬水平在行业范围内高于竞争对 手,以吸引、保留优秀员工;也可以采取相应策略,薪酬水平与竞争对手相仿,吸引和 保留称职员工,使企业有能力在其他方面(如质量和管理)与对手竞争。   动态激励性   第三,企业在不同发展阶段和不同战略目标下应当对软件开发人员实行不同的薪酬 策略,以配合企业总体战略目标的实现,体现其动态激励性。   从企业所处发展阶段来看,在企业初创期,可以采用:低底薪+高奖金+低福利的薪 酬策略以维持生存、促进成长;在企业高成长期,可以采用:具有竞争力的底薪+高奖金 +低福利的薪酬策略以进一步推动高速成长;企业步入成熟期之后,底薪、奖金和福利均 应具有竞争力,以维持高速成长;企业步入逐步稳定发展的阶段之后,薪酬策略则应调 整为:高底薪+低奖金+高福利,以稳定员工队伍并且逐步降低人工成本. 从企业的战略目标来看,在以投资促发展的经营战略下,企业应当采用:高报酬+中等个 人业绩奖+中等福利的报酬组合,以刺激创业;在保护利润和保护市场的战略下,企业应 当采用:平均工资水平+中等个人业绩奖+标准福利的报酬组合,以奖励管理技巧,向管 理要效益;在收获利润并投资别处的经营战略下,企业应当采用:低于平均水平的工资 +刺激成本的适当奖励+标准福利的报酬组合,以确保控制成本。   分享企业赢利   第四,应当给予软件开发人员分享企业赢利的权利。   虽然近年来IT市场较为疲软,软件企业赢利下降,但如果因此而拒绝与软件开发人员 分享企业赢利,必将导致优秀人才的大量流失而最终损害企业的核心竞争力。为确保软 件企业的长远发展,对软件开发人员实行长期奖励计划,令其参与企业赢利的分配势在必 行。 由于深圳地区的大部分软件企业尚未上市,实行奖金银行这一长期奖励计划更具有可行 性.所谓奖金银行,即将软件开发人员应获取的奖金大部分存入奖金银行中储存起来,延 期支付,期满可以转为限定性股权或补充养老金.通过这一方式,一方面可以促使软件开 发人
提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4个综合案例,可以作为案头必备的查询手册 一线开发人员全力打造,分享技术盛宴! 重点内容及特色 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握的技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和事务管理等,Spring中的数据库技术与AOP等。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》各篇独立,适合读者全面学习或对部分内容重点学习。 读者对象 有Java基础,想进一步学习SSH框架整合开发的人员 了解SSH整合开发,想进一步提高开发技术的人员 正在使用SSH整合技术开发项目,想查阅资料的人员 大中专院校的学生和老师,以及Java培训班的学员和讲师 需要一本案头必备查询手册的程序员 光盘内容 6小时多媒体体视频讲解 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》所涉及的源代码 布衣暖,菜根香,好书滋味长!清华大学出版社长期以来一直秉承为读者多出好书的宗旨,多年来为读者奉献了大量脍炙人口的精品图书。尤其在计算机图书出版领域更是形成了鲜明特色,所出版的各类计算机图书受到了广大读者的好评。本次出版的“原创经典,程序员典藏”系列图书是清华大学出版社的重点精品计算机图书,旨在帮助读者全面学习各类程序设计语言和开发工具,提高开发水平。同时也为广大程序员提供良好的技术参考,以便作为案头必备的查询手册。 内容提要 -------------------------------------------------------------------------------- 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean、Jdbc和Hibernate模板、事务管理、Spring AOP等)以及 Hibernate(会话、映射、标准查询API、HQL、事务管理、锁等)。除此之外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》还提供了两个完整的实例来讲解开发SSH的详细步骤和方法。通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解和认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的技术人员、对SSH开发感兴趣的人员以及大专院校学生阅读,尤其是具有一定的Web开发经验的技术人员。 目录 -------------------------------------------------------------------------------- 第1篇 web开发基础篇 第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的下载与安装 1.7 在MyEclipse中配置。Tomcat 1.8 在EclipseIDEforJavaEEDevelopers中配置Tomcat 1.9 小结 第2章 JavaWeb应用开发基础 2.1 Web技术的发展 2.2 JavaWeb技术 2.2.1 Java.Welb程序的基本组成 2.2.2 Java,Web程序的目录结构 2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1 在MyEclipse中使用JavaScript 3.1.2 在EclipseIDEforJavaEE中使用JavaScript 3.1.3 在NetBeans中使用JavaScript 3.1.4 其他的JavaScriptIDE 3.2.1 avaScdpt语法基础 3.2.1 实例:编写第一个JavaScript程序:Greet 3.2.2 变量 3.2.3 原始类型 3.2.4 类型转换 3.2.5 函数与函数调用 3.2.6 类和对象 3.3 JavaScript高级技术 3.3.1 DOM技术概述 3.3.2 获得HTML元素的3种方法 3.3.3 实例:图像自动切换 3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 3.5.1 AJAX概述 3.5.2 实例:使用XMLHttpRequest获得Web资源 3.5.3 实例:使用XMLHttpRequest跨域访问Web资源 3.5.4 实例:AJAX的3种交换数据方法 3.6 小结 第4章 Servlet技术 4.1 Servlet的Helloworld程序 4.1.1 实例:在My Eclipse中编写Helloworld程序 4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例:用service方法处理客户端请求 4.2.6 实例:初始化(init)和销毁(destroy)Servlet 4.2.7 实例:使用PrintWriter输出响应消息 4.2.8 实例:用ServletOutputStream显示图像 4.2.9 实例:使用RequestDispatcher包含Web资源 4.2.10 实例:使用RequestDispatcher转发Web资源 4.3 HttpServletResponse类的其他功能 4.3.1 产生状态响应码 4.3.2 设置响应消息头 4.3.3 实例:验证响应头设置情况 4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie读写客户端信息 4.5.4 实例:用Cookie读写复杂数据 4.6 处理Session 4.6.1 什么是Session 4.6.2 HttpSession接口中的方法 4.6.3 HttpServletRequest接口中的Session方法 4.6.4 实例:通过Cookie跟踪Session 4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个JSP程序 5.1.1 实例:编写显示服务器当前时间的JSP程序 5.1.2 调试JSP程序 5.1.3 改变JSP的访问路径和扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中嵌入Java代码 5.3.3.JSP声明 5.3.4.JSP表达式语言(EL) 5.3.5 实例:用EL函数替换HTML中的特殊字符 5.3.6 JSP页面中的注释 5.4 JSP指令 5.4.1 JSP指令简介 5.4.2 page页面指令 5.4.3 include加入指令 5.5.JSP的9个内置对象 5.5.1 out输出对象 5.5.2 pageContext封装对象 5.5.3 其他的JSP内置对象 5.6 JSP标签 5.6.1 插入标签 5.6.2 转发标签 5.6.3 传参标签 5.6.4 创建:Bean标签 5.6.5 设置属性值标签 5.6.6 获取属性值标签 5.7 JSP的标准标签库(JSTL) 5.7.1 如何使用JSTL 5.7.2 条件标签 5.7.3 循环标签 5.8 小结 第6章 用Servlet和JSP实现注册登录系统 第2篇 Struts 2篇 第7章 编写Struts 2的第一个程序 第8章 Struts 2进阶 第9章 Struts 2的* 第10章 Struts 2的类型转换 第11章 Struts 2的输入校验 第12章 文件的上传和下载 第13章 国际化 第14章 Struts 2的标签库 第15章 Struts 2对AJAX的支持 第16章 用Struts 2实现注册登录系统 第3篇 Hibernate篇 第17章 Hibernate的Helloworld程序 第18章 配置Hibernate 第19章 Hibernate的会话与O/R映射 第20章 Hibernate的查询与更新技术 第21章 Hibernate的高级技术 第4篇 Spring篇 第22章 Spring的Helloworld程序 第23章 反向控制(Ioc)与装配JavaBean 第24章 Spring中的数据库技术 第25章 Spring的其他高级技术 第5篇 综合实例篇 第26章 Struts 2与Hibernate、Spring的整合 第27章 网络硬盘 第28章 论坛系统
提供典型应用案例,剖析JSP/Servret技术与Struts 2技术在Web开发中的不同 提供完整的应用案例,使读者可以深入体会SSH开发模式的精髓 所有开发工具和框架均使用目前的最新版本,紧跟技术发展的趋势 提供230个实例和4个综合案例,可以作为案头必备的查询手册 一线开发人员全力打造,分享技术盛宴! 重点内容及特色 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》介绍了Web开发中客户端技术的基础知识,包括JavaScript、CSS、AJAX等,这些技术都是Web应用中常用的客户端技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax+》讲解了JSP/S rvlet技术的基础知识,并提供了一个综合案例展示其具体应用,它们是Java Web服务端技术的基石,也是学习Java Web开发所要必须掌握的技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》重点讲解了Struts 2、Speing和HIbernate框架的基础知识和高级技术,如Sruts 2中的*、类型转换、国际化和标签等,HIbe rna{e的会话、0/R映射和事务管理等,Spring中的数据库技术与AOP等。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》特别介绍了Struts 2对AjAX的支持,还重点剖析了SSH框架的整合开发,并给出了两个综合案例来展示整合SSH框架开发Web应用。 和已经出版的同类图书相比,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》讲解由浅入深,涵盖更多内容,列举了大量典型实例具有超强的实用性,另外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》各篇独立,适合读者全面学习或对部分内容重点学习。 读者对象 有Java基础,想进一步学习SSH框架整合开发的人员 了解SSH整合开发,想进一步提高开发技术的人员 正在使用SSH整合技术开发项目,想查阅资料的人员 大中专院校的学生和老师,以及Java培训班的学员和讲师 需要一本案头必备查询手册的程序员 光盘内容 6小时多媒体体视频讲解 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》所涉及的源代码 布衣暖,菜根香,好书滋味长!清华大学出版社长期以来一直秉承为读者多出好书的宗旨,多年来为读者奉献了大量脍炙人口的精品图书。尤其在计算机图书出版领域更是形成了鲜明特色,所出版的各类计算机图书受到了广大读者的好评。本次出版的“原创经典,程序员典藏”系列图书是清华大学出版社的重点精品计算机图书,旨在帮助读者全面学习各类程序设计语言和开发工具,提高开发水平。同时也为广大程序员提供良好的技术参考,以便作为案头必备的查询手册。 内容提要 -------------------------------------------------------------------------------- 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》通过对SSH中的各种技术循序渐进地讲解,使读者尽快掌握开发基于SSH的Web程序的方法。《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》内容包括Web客户端技术、JSP/Servlet技术、Struts 2(*、类型转换、输入校验、上传和下载文件、Struts 2的各种标签、对 AJAX的支持等)、Spring(Ioc容器、装配Java Bean、Jdbc和Hibernate模板、事务管理、Spring AOP等)以及 Hibernate(会话、映射、标准查询API、HQL、事务管理、锁等)。除此之外,《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》还提供了两个完整的实例来讲解开发SSH的详细步骤和方法。通过对这两个实例的学习,读者可以对SSH开发模式有更透彻地理解和认识。SSH是目前最流行的Java Web开发技术。 《Java Web开发技术大全:JSP+Servlet+Struts+Hibernate+Spring+Ajax》适合广大从事Java Web开发工作的技术人员、对SSH开发感兴趣的人员以及大专院校学生阅读,尤其是具有一定的Web开发经验的技术人员。 目录 -------------------------------------------------------------------------------- 第1篇 web开发基础篇 第1章 搭建开发环境 1.1 本书使用的软件和框架的版本 1.2 JDK6的下载与安装 1.3 Eclipse3.4 的下载与安装 1.4 MyEclipse6.5 的下载与安装 1.5 Eclipse:IDEforJavaEEDevelopers的下载与安装 1.6 Tomcat6的下载与安装 1.7 在MyEclipse中配置。Tomcat 1.8 在EclipseIDEforJavaEEDevelopers中配置Tomcat 1.9 小结 第2章 JavaWeb应用开发基础 2.1 Web技术的发展 2.2 JavaWeb技术 2.2.1 Java.Welb程序的基本组成 2.2.2 Java,Web程序的目录结构 2.2.3 JavaWeb程序的配置文件 2.3 MVC模式与MvC框架 2.3.1 JSP模型1和JSP模型2 2.3.2 Web应用程序需要的基础服务 2.3.3 MVC模式概述 2.3.4 常用的MvC框架 2.4 小结 第3章 Web开发中的客户端技术 3.1 常用的JavaScriptIDE简介 3.1.1 在MyEclipse中使用JavaScript 3.1.2 在EclipseIDEforJavaEE中使用JavaScript 3.1.3 在NetBeans中使用JavaScript 3.1.4 其他的JavaScriptIDE 3.2.1 avaScdpt语法基础 3.2.1 实例:编写第一个JavaScript程序:Greet 3.2.2 变量 3.2.3 原始类型 3.2.4 类型转换 3.2.5 函数与函数调用 3.2.6 类和对象 3.3 JavaScript高级技术 3.3.1 DOM技术概述 3.3.2 获得HTML元素的3种方法 3.3.3 实例:图像自动切换 3.3.4 正则表达式 3.3.5 实例:表格排序 3.4 CSS基础 3.4.1 CSS的基本语法 3.4.2 在Style属性中定义样式 3.4.3 在HTML中定义样式 3.4.4 在外部文件中定义样式 3.4.5 样式的继承 3.5 AJAX.基础 3.5.1 AJAX概述 3.5.2 实例:使用XMLHttpRequest获得Web资源 3.5.3 实例:使用XMLHttpRequest跨域访问Web资源 3.5.4 实例:AJAX的3种交换数据方法 3.6 小结 第4章 Servlet技术 4.1 Servlet的Helloworld程序 4.1.1 实例:在My Eclipse中编写Helloworld程序 4.1.2 实例:手工编写:Helloworld程序 4.2 Servlet基础 4.2.1 配置数据库连接池 4.2.2 数据库连接池的应用 4.2 -3实例:用doGet方法处理客户端请求 4.2.4 实例:用doPost方法处理客户端请求 4.2.5 实例:用service方法处理客户端请求 4.2.6 实例:初始化(init)和销毁(destroy)Servlet 4.2.7 实例:使用PrintWriter输出响应消息 4.2.8 实例:用ServletOutputStream显示图像 4.2.9 实例:使用RequestDispatcher包含Web资源 4.2.10 实例:使用RequestDispatcher转发Web资源 4.3 HttpServletResponse类的其他功能 4.3.1 产生状态响应码 4.3.2 设置响应消息头 4.3.3 实例:验证响应头设置情况 4.4 使用:HttpServletRequest获得请求消息 4.4.1 获取请求行消息 4.4.2 获取网络连接消息 4.4.3 获取请求头消息 4.5 处理Cookie 4.5.1 什么是Cookie 4.5.2 Cookie类中的方法 4.5.3 实例:用Cookie读写客户端信息 4.5.4 实例:用Cookie读写复杂数据 4.6 处理Session 4.6.1 什么是Session 4.6.2 HttpSession接口中的方法 4.6.3 HttpServletRequest接口中的Session方法 4.6.4 实例:通过Cookie跟踪Session 4.6.5 实例:通过重写uRL跟踪Session 4.7 Web开发的中文问题 4.7.1 Java的编码原理 4.7.2 实例:解决输出中文乱码问题 4.7.3 实例:解决服务端程序读取中文请求消息的乱码问题 4.7.4 实例:用AJAX技术发送和接收中文信息 4.7.5 实例:在请求消息头和响应消息头中转输中文 4.8 小结 第5章 JSP技术 5.1 用MyEclipse编写第一个JSP程序 5.1.1 实例:编写显示服务器当前时间的JSP程序 5.1.2 调试JSP程序 5.1.3 改变JSP的访问路径和扩展名 5.1.4 手动发布JSP程序 5.2 JSP的运行原理 5.2.1 Tomcat如何处理JSP页 5.2.2 分析由JSP生成的Servlet代码 5.3 JSP基本语法 5.3.1 JSP表达式 5.3.2 在JSP中嵌入Java代码 5.3.3.JSP声明 5.3.4.JSP表达式语言(EL) 5.3.5 实例:用EL函数替换HTML中的特殊字符 5.3.6 JSP页面中的注释 5.4 JSP指令 5.4.1 JSP指令简介 5.4.2 page页面指令 5.4.3 include加入指令 5.5.JSP的9个内置对象 5.5.1 out输出对象 5.5.2 pageContext封装对象 5.5.3 其他的JSP内置对象 5.6 JSP标签 5.6.1 插入标签 5.6.2 转发标签 5.6.3 传参标签 5.6.4 创建:Bean标签 5.6.5 设置属性值标签 5.6.6 获取属性值标签 5.7 JSP的标准标签库(JSTL) 5.7.1 如何使用JSTL 5.7.2 条件标签 5.7.3 循环标签 5.8 小结 第6章 用Servlet和JSP实现注册登录系统 第2篇 Struts 2篇 第7章 编写Struts 2的第一个程序 第8章 Struts 2进阶 第9章 Struts 2的* 第10章 Struts 2的类型转换 第11章 Struts 2的输入校验 第12章 文件的上传和下载 第13章 国际化 第14章 Struts 2的标签库 第15章 Struts 2对AJAX的支持 第16章 用Struts 2实现注册登录系统 第3篇 Hibernate篇 第17章 Hibernate的Helloworld程序 第18章 配置Hibernate 第19章 Hibernate的会话与O/R映射 第20章 Hibernate的查询与更新技术 第21章 Hibernate的高级技术 第4篇 Spring篇 第22章 Spring的Helloworld程序 第23章 反向控制(Ioc)与装配JavaBean 第24章 Spring中的数据库技术 第25章 Spring的其他高级技术 第5篇 综合实例篇 第26章 Struts 2与Hibernate、Spring的整合 第27章 网络硬盘 第28章 论坛系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值