学习javaweb开发要学习的技术和框架总结:
前言:当初想学习javaweb开发的时候,希望能够全方面地学习(这样找工作时就胸有成足 了)。但是对这个根本不理解,又不认识从事这方面的熟人,所以学习起来无从下手。经过 了一年的’死’学习,从网上,从书本,从视频里面深入了解了 只要把这些技术全学会了,哪就业肯定没有问题了。
java。想从事java的朋友,
前端技术:
HTML, CSS, JA VASCRIPT, JQUERY , AJAX
HTML
超文本”就是指页面内可以包含图片、链接,甚至音乐、程序等非文字元素。 超文本标记语言的结构包括
头”部分(外语:Head)、和 主体”部分(外语:Body),其中 头
部提供关于网页的信息, 主体”部分提供网页的具体内容。
CSS
级联样式表是一种用来表现 HTML (标准通用标记语言的一个应用)或 XML (标准通用标 记语言的一个子集)等文件样式的计算机语言。
JavaScript
JavaScript 一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类 型。它的解释器被称为 动态功能。
JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,
HTML网页增加
最早是在HTML (标准通用标记语言下的一个应用)网页上使用,用来给
jQuery
jQuery是一个兼容多浏览器的
javascript库,核心理念是 write less,do more(写得更少,做得更
如今,jQuery已经成为 55%在使用jQuery。
多)。jQuery在2006年1月由美国人John Resig在纽约的barcamp发布,吸引了来自世界各 地的众多JavaScript高手加入,由Dave Methvin率领团队进行开发。 最流行的javascript库,在世界前10000个访问最多的网站中,有超过
AJAX
AJAX 即 “ Asynchron ous Javascript And XML (异步\JavaScript 和 XML ),是指一种创建交互 式网页应用的网页开发技术。
AJAX = 异步JavaScript和XML (标准通用标记语言的子集)。
AJAX 是一种用于创建快速动态网页的技术。 通过在后台与服务器进行少量数据交换, AJAX 可以使网页实现异步更新。这意味着可以 在不重新加载整个网页的情况下,对网页的某部分进行更新。
Javase
Javase学习是javaee的基础,不管学习 javaee(web)还是javame (安卓),但必须深入学 习javase。Javase学习:java语法,数组,集合,面向对象,异常处理,多线程, 解,泛型,反射,动态代理。
GUI,注
javaee:
xml 编程, http 协议 ,servlet, jsp, javamail , javabean, el 表达式, jstl 自定义标签,会话管 理( session,cookie)。
servlet
是在服务器上运行的小程序。这个词是在
Java applet的环境中创造的,
Java applet是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行, 结果得到为用户进行运算或者根据用户互作用定位图形等服务。
JSP
全名为Java Server Pages中文名叫java服务器页面,其根本是一个简化的 JSP技术有点类似ASP技术,它是在传统的网页 (*.jsp)。
用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
Servlet设计,
是由 Sun Microsystems 公司倡导、许多公司参与一起建立的一种动态网页技术标准。
HTML (标准通用标记语言的子集)
文件(*.htm,*.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名 为
EL 表达式( Expression Language )
目的:为了使 JSP 写起来更加简单。表达式语言的灵感来自于 达式ECMAScript 和 XPath 表 语言,它提供了在 JSP 中简化表达式的方法。
JSTL
(JSP Standard Tag Library, JSP标准标签库)是一个不断完善的开放源代码的 女口 tomcat 4.x。在JSP 2.0中也是作为标准支持的。
JSP标签库,
是由apache的jakarta小组来维护的。JSTL只能运行在支持 JSP1.2和Servlet2.3规范的容器 上,
会话管理( session,cookie )
JavaMail avaMail
顾名思义, 提供给开发者处理电子邮件相关的编程接口。 它是 Sun 发布的用来处理 email 的 API 。它可以方便地执行一些常用的邮件传输。我们可以基于 Microsoft Outlook 的应用程序。
JavaMail 开发出类似于
SSH
ssh为struts+spring+hibernate的一个集成框架,是目前较流行的一种 框架。
集成 SSH 框架的系统从职责上分为四层:表示层、业务逻辑层、数据持久层和域模块 层,以帮助开发人员在短期内搭建结构清晰、可复用性好、维护方便的
Web应用程序。
其中使用Struts作为系统的整体基础架构,负责 MVC的分离,在Struts框架的模型部 分,控制业务跳转,利用 Hibernate 框架对持久层提供支持, Spring 做管理,管理 struts 和 hibernate。
具体做法是: 用面向对象的分析方法根据需求提出一些模型, 将这些模型实现为基本的 Java 对象,然后编写基本的 DAO(Data Access Objects) 接口,并给出 Hibernate 的 DAO 实现, 采用Hibernate架构实现的DAO类来实现Java类与数据库之间的转换和访问, 做管理,管理 struts 和 hibernate。
系统的基本业务流程是:
在表示层中,首先通过
JSP页面实现交互界面,负责传送请
求(Request)和接收响应(Response),然后Struts根据配置文件(struts-config.xml)将 ActionServlet接收到的Request委派给相应的 Action处理。
在业务层中,管理服务组件的 Spring IoC 容器负责向 Action 提供业务模型 (Model) 组件 和该组件的协作对象数据处理 (DAO) 组件完成业务逻辑, 并提供事务处理、 缓冲池等容器组 件以提升系统性能和保证数据的完整性。
而在持久层中,则依赖于 Hibernate 的对象化映射和数据库交互,处理 DAO 组件请求 的数据,并返回处理结果。
采用上述开发模型, 不仅实现了视图、 控制器与模型的彻底分离, 而且还实现了业务逻 辑层与持久层的分离。
这样无论前端如何变化, 模型层只需很少的改动, 并且数据库的变化也不会对前端有所 影响, 大大提高了系统的可复用性。 而且由于不同层之间耦合度小, 有利于团队成员并行工 作,大大提高了开发效率。
Web应用程序开源
最后由Spring
struts
struts 是开源软件。 使用 Struts 的目的是为了帮助我们减少在运用 MVC 设计模型来开发 Web 应用的时间。
如果我们想混合使用 Servlets和JSP的优点来建立可扩展的应用, 选择。
Struts是Apache软件基金会(ASF)赞助的一个开源项目。它最初是 一个子项目,并在 2004年3月成为ASF的顶级项目。它通过采用 实现了基于Java EEWeb应用的MVC设计模式的应用框架,是 个经典产品。
Jakarta项目中的
JavaServlet/JSP技术, MVC经典设计模式中的一
struts是一个不错的
spring
spring 是一个开源框架, Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,
由 Rod Johnson 在其著作 Expert One-On-One J2EE Development and Design 中阐述的部分理 念和原型衍生而来。
它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其分层架构, 分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。 Spring使用基本的JavaBean来完成以前只可能由 不仅限于服务器端的开发。
从简单性、可测试性和松耦合的角度而言,任何
Java应用都可以从Spring中受益。
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架
EJB完成的事情。然而, Spring的用途
hibernate
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象 封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。
Hibernate可以应用在任何使用 JDBC的场合,既可以在 Java的客户端程序使用,也可以 在 Servlet/JSP 的 Web 应用中使用,最具革命意义的是, Hibernate 可以在应用 EJB 的 J2EE 架构中取代 CMP ,完成数据持久化的重任。
Spring MVC
Spring MVC 属于 SpringFrameWork 的后续产品,已经融合在 Spring Web Flow 里面。 Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。 使用 Spring 可插入的 MVC 架构, 可以选择是使用内置的 Spring Web 框架还可以是 Struts 这样的 Web 框架。 通过策 略接口,Spring框架是高度可配置的, 而且包含多种视图技术, 例如JavaServer Page(JSP) 技术、Velocity、Tiles、iText和POI。 Spring MVC 框架并不知道使用的视图,所以不会强 迫您只使用 JSP 技术。
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让 它们更容
易进行定制。
MyBatis
MyBatis 本是 apache 的一个开源项目 iBatis, 2010 年这个项目由 apache software foundation 迁移到了 google code,
并且改名为 MyBatis 。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层 框架。
MyBatis 消除了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。
MyBatis 使用简单的 XML 或注解用于配置和原始映射, 将接口和 Java 的 POJO(s Plain Old Java Objects,普通的 Java对象)映射成数据库中的记录。
JBPM
JBPM,全称是Java Business Process Management (业务流程管理),它是覆盖了业务流程 管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。
jBPM 是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0),EULA(JBoss End User License Agreement) 协议。
Maven
Maven 是基于 项目对象模型 (POM) ,可以通过一小段描述信息来管理项目的构建, 报告 和文档的软件项目管理工具。
Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven的面向项目的方法,许多 项目采用 Maven 的比例在持续增长。
Maven 的
缺省构建规则有较高的可重用性, 所以常常用两三行 Maven 构建脚本就可以构建简单的项 目。由于
Apache Jakarta项目发文时使用 Maven,而且 公司
Lucene
Lucene是apache软件基金会4 jakarta项目组的一个子项目, 是一个开放源代码的全文检 索引擎工具包, 即它不是一个完整的全文检索引擎, 而是一个全文检索引擎的架构, 提供了 完整的查询引擎和索引引擎,
部分文本分析引擎(英文与德文两种西方语言) 。Lucene的目的是为软件开发人员提供一个 简单易用的工具包,
以方便的在目标系统中实现全文检索的功能, 或者是以此为基础建立起完整的全文检索引擎。 Lucene 是一套用于全文检索和搜寻的开源程式库,由 Apache 软件基金会支持和提供。 Lucene 提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。
在 Java 开发环境里 Lucene 是一个成熟的免费开源工具。就其本身而言, Lucene 是当前以 及最