`

java web工程需要的各项技术等

阅读更多
平时在工作的时候,总是觉得刚毕业的同事们对技术的理解不到位,知其然而不知其所以然。可是,静下心来想一想,这也不能全怪他们,不是新人们不爱学,而是现如今Java Web开发的确很繁复。表面上看,现在会Java的人多如牛毛,SSH 恨不得是每个 java 开发培训课的必选项目,但 WEB 开发的门槛,真的不低。当然,我说不低,是要以一个专业性要求为前提的,如果只是精于“C&P” 大法,其实还不能算“掌握”,顶多是“会用”罢了,更别提精通了。

      在实际的工作中,由于以前项目的积累,已经基本上不会从头建立工程了,通常都是拿现成的工程框架开始做,避免了很多配置啊,依赖啊之类的繁琐的工作。但是今天又感受了一下,用了一天半的时间,从零开始,建立了一个 WEB 工程,所以才有这篇感慨文:Java Web 开发真的不容易。

那么,建立一个比较完整的WEB工程,并且跑起来(完成从前台到数据库的完整处理流程,哪怕只是插入一个整数),需要一个什么样的知识集合呢?

1、首先是环境准备。

通常,我们需要开发工具:Eclipse,或者MyEclipse。但我从来没有用过,我选Eclipse。
然后,选择WEB容器,最常用的Tomcat,或者Jetty,JBoss亦可。我选Tomcat。

2、选择数据库。

没有数据库,很难做出有价值的应用,所以,我们需要选择一个数据库,
自己研究,用的最多的是MySql,当然,Oracle,Postgres也很常见,
喜欢Sql Server的也不少,不过我已经N年没有玩过了。
我选MySql。

3、建立工程。

我相信很多人根本没有自己手工创建过WEB工程的目录结构,都是使用工具自动生成,我坚信,了解工具帮助我们干的事情非常必要,而且非常有好处的。这里主要是建立WEB-INF目录,WEB-INF/classes,WEB-INF/lib,创建初始的 web.xml。

4、写代码前的准备工作

在真正开始写第一行代码之前,我们还需要做的准备工作有:
> 配置日志系统,java领域最常用的 Log4J
> 选择连接池,我用了C3P0
> 选择持久化技术。当然,直接使用JDBC也可以,不过现在多数项目还是用持久化层的,Hibernate 和 Ibatis,处于简单性考虑,选择 Ibatis。

     当然,这些准备工作,除了技术选型的决策,还都涉及到寻找相应的 jar 包、 jar 包所依赖的 jar,以及写编写初始的配置文件,包括:log4j.properties,c3p0.properties 和 ibatis 的一系列配置。据我所知,不了解 log4j.properties 配置项含义,只会拿来例子就用的绝不在少数,还有很多人,在将 web 工程发布到 tomat 以后,无法把 log4j.properties 配置与实际的日志文件所在的位置对应起来。

5、写代码测试配置,并验证不熟悉的技术(比如 ibatis,我第 0.2 次用,N 年前了解过)

这个过程耗时较长,尤其是 ibatis ,官方的文档并不丰富,使用它做到对数据库表的增、删、改、查,调了一个下午的时间,最后发现,ibatis 出到了 3.0,但其配套工具ibator (用于自动从数据库生成表对应的 javabean 和 sql 映射文件)生成的配置文件语法完全不对,仔细一看,ibator 的最后更新时间 2008年,faint!

6、开始写工作代码

这时候就更体现了 Java 大家庭的繁荣,以及程序员的兼容并蓄了。

首先,会 Java,Jsp 那是肯定的。

而框架方面呢,我一直不待见 SSH,因此还是准备只用 Struts,这样可以不学强大的有点过于强大的Spring。
还有些技术点,要么是必然用到的,要么是很好用的,包括:
> XML处理,或者 JSON 二选一,现在 JSON 大有取代 XML 的趋势。
> Apache commons 系列的类库,尤其BeanUtils,StringUtils,API 多少了解一点还是很有好处的。
> JSTL,我一直很想为这项技术鸣不平,我觉得挺好的东西,但我周围的人都很冷落它。

然后,因为项目需要,我还要使用一些特定的技术:
> WEB Service技术,我用 Restful 模式,在Restlet 和 Jersey 之间选择,最后用了 Restlet。
> 需要做一些图表,选用 JFreeChart
> … 其实还有很多,不一一列举了

7、工程打包、发布

日常工作中,工程的集成、打包和发布,通常不是程序员需要关心的问题。但如果是你一个人在战斗,除了会在 MyEclipse 的帮助下集成 Tomcat 进行测试,最好掌握一种手段,把工程打包发布到独立的 Tomcat 下,从而避免繁琐的手工操作。

常见的方式有:
> ant
> maven

原来我用 ant,不过现在转投 maven 了,用熟了以后,感觉 maven 比 ant 要好很多,不过,ant 的价值在于灵活,有时候用于完成一些非标工作挺实用的,比如:增量拷贝文件等等。

如果再提稍微高一点的需求,那就是最好掌握 windows 下批处理文件和 linux 下 shell 脚本的编写。

8、版本控制

为了协作、分享或者是安全起见,保存代码的历史版本很重要,
因此需要选择版本管理工具,SubVersion 和 CVS 都很好,
不过我用 CVS 更熟练一些。

---

因此,做一个合格的 JAVA WEB 开发人员,真的是不大容易。
知识面要宽,学习能力要强,要善于触类旁通。

对了,我还忘了说前台相关的技术,那就是 javascript,CSS,ajax,有时候,还得搭上Flash,及JQuery等一系列的框架。

本文涉及的部分技术,每一个要想做到一定程度的熟悉,都需要不少的时间,
我个人觉得,这个时间跨度为1-2年比较合适,
所以,新入行的朋友们,要在工作前两年经常想一想,自己是不是在各方面逐渐深入,还是一直在做重复性的工作呢?
分享到:
评论

相关推荐

    java web,毕业设计

    Java Web 毕业设计是计算机科学与技术专业学生在完成学业时的一项重要任务,它旨在...通过这个项目,学生不仅能够深入理解Web开发的各项技术,还能学习到如何将理论知识应用于实际问题,为未来的职业生涯打下坚实基础。

    java_web酒店管理系统

    在Eclipse中,你可以创建Web工程,并将项目相关的源代码、资源配置等文件组织起来。 数据库是酒店管理系统的基础,用于存储各类数据。系统可能使用MySQL、Oracle或者SQL Server等关系型数据库,其中MySQL因其开源、...

    达内java软件工程师培训教程

    3. **Oracle**:Oracle数据库是企业级数据库管理系统,Java开发者需要掌握SQL查询、存储过程、触发器、事务处理等,以便进行数据操作和管理。在数据库部分,学员将学习如何通过JDBC与Oracle进行交互,实现数据的增删...

    Java软件工程师:IT最佳就业岗位.pdf

    Java 软件工程师知识点总结 Java 软件工程师是 IT ... Java 软件工程师是一个非常抢手的岗位,需要具备良好的技术基础和实践能力,通过合适的培训和实践, Java 软件工程师可以拥有很高的薪水和良好的职业发展前景。

    java课程设计JAVA Web编程课程设计选题系统.rar

    Java Web应用程序是基于Java技术构建的,主要由Servlet、JSP(Java Server Pages)、JSTL(JavaServer Pages Standard Tag Library)等组件构成。Servlet是Java服务器端程序,用于处理HTTP请求;JSP则是用于创建动态...

    课程设计-基于Java web的学生管理系统(源码+数据库脚本).zip

    Java Web是使用Java技术进行Web应用开发的平台,它结合了Servlet、JSP(JavaServer Pages)和JavaBean等技术,实现动态网页的生成。在这个项目中,源码部分可能包括了控制器、模型、视图以及服务接口等多个组件,...

    达内java软件工程师培训corejava的PPT

    以上只是Core Java部分的基础知识,实际的Java软件工程师还需要了解数据库操作、框架使用(如Spring、MyBatis等)、Web开发、测试技术等更广泛的内容。达内的Java软件工程师培训课程会系统地涵盖这些主题,帮助学员...

    基于java web的超市管理系统(包含源文件)

    《基于Java Web的超市管理系统详解》 在信息技术日益发达的今天,各种管理系统已经渗透到各行...通过深入研究,不仅可以掌握Java Web开发技能,还能了解到软件工程中系统设计、数据库管理以及安全性等多个重要方面。

    基于JAVA WEB的学校实验室管理系统(源码+数据库+软件使用说明书).zip

    对于初学者来说,这是一个很好的实践项目,可以深入理解Java Web开发的全过程,同时也能学习到数据库管理、软件工程等方面的知识。 总之,《基于JAVA WEB的学校实验室管理系统》是一个集成了多种IT技术的实用工具,...

    计算机毕业设计-办公自动化系统-Java Web项目源码.zip

    Java Web是一种开发动态、交互式网站的技术,涵盖了Servlet、JSP(JavaServer Pages)、JSTL(JavaServer Pages Standard Tag Library)等组件。 【描述解析】 描述部分与标题相同,进一步确认了这是一个Java Web...

    博星卓越web开发平台技术参数

    该平台采用先进的技术参数和专业级的项目管理方式,与JBuilder和Eclipse等主流Web开发工具保持一致,确保学生能够迅速适应并掌握各种软件开发工具。 在核心功能方面,博星卓越Web开发平台提供了以下模块: 1. WEB...

    基于Java Web的数字图书电子商务平台的设计与实现.docx

    综上所述,基于Java Web的数字图书电子商务平台的设计与实现是一个复杂的系统工程,涉及到多方面的技术和知识。通过合理选择架构和技术栈,可以有效地解决图书销售过程中的诸多问题,提升用户体验,降低成本,从而为...

    java工程师简历_应聘JAVA开发工程师.doc

    【Java工程师简历】应聘Java开发工程师的文档展示了应聘者具备扎实的Java编程基础和技术栈,以下是根据简历内容提炼出的相关知识点: 1. **Java基础**: - 面向对象编程:理解类、对象、封装、继承和多态的概念。 ...

    java工程师简历范文.docx

    - **服务器平台**:如Tomcat、JBoss等,用于部署和运行Java Web应用。 - **设计模式**:简历中提到了几种常见的设计模式,如工厂模式、单例模式、MVC等,它们是软件设计的最佳实践。 - **Linux操作系统**:对于...

    课程设计-基于Java web的运动会管理系统(源码+数据库+报告).zip

    运动会作为各项体育运动的基础,具有广泛的群众性。每年一度的学校运动会声势浩大,是提高、检验学生的健康水平,开展全民健身运动的有效途径。在规模上虽然不如大型运动会,但由于比赛项目较多,参赛人数广,数据...

    基于Java web的超市销售管理系统设计文档.doc

    本系统旨在利用现代信息技术手段,尤其是Java Web技术,构建一套全面覆盖超市日常业务处理的信息管理系统。具体目标包括: 1. **优化业务流程**:通过信息化手段,理顺并优化超市内部的各项业务流程,提高工作效率...

    JAVA城市建设项目综合管理系统源码

    Java城市建设项目综合管理系统源码是一套完整的开发案例,主要用于实现城市管理中的各项业务流程管理,如项目立项、审批、施工、验收等环节。该系统通常基于Java编程语言,利用其跨平台性和强大的面向对象特性,为...

    基于java web+ssm超市管理系统设计与实现.zip

    本项目旨在设计并实现一个基于Java Web技术栈的超市管理系统,采用Spring、SpringMVC和MyBatis(简称SSM)框架,以提升超市的运营效率和管理水平。本文将深入探讨该项目的设计理念、技术选型以及具体实现过程。 1. ...

    基于Web的Java应用性能监测系统设计与实现.zip

    实现这样的系统需要掌握Java核心技术,包括多线程编程、网络编程、数据库连接池管理等,同时需要熟悉操作系统和网络的基础知识。对于前端部分,可能涉及HTML、CSS、JavaScript以及一些前端框架如React或Vue。后端...

    Java测试与与设计——从单元测试到Web测试

    《Java测试与设计——从单元测试到Web测试》这一主题深入探讨了软件开发中的关键环节:测试。在软件工程中,测试是确保软件质量、功能完整性和用户满意度的重要步骤。本文将围绕“单元测试”和“Web测试”两个核心...

Global site tag (gtag.js) - Google Analytics