因需要开始开发web。从Java零基础开始,边学边做项目,现将十来天的学习过程和总结,分享给想入门的Java EE的朋友,内容不涉及编程细节。
下面将对每个阶段设计的一些基本概念进行形象化解释,便于快速入门编程,不涉及技术细节。
第一阶段
建议找个网站快速入门Java编程以及数据库编程,知识细节可以在开发过程中不断学习提高。
在进行下一阶段之前,简单介绍一些Java EE的两大架构:C/S和B/S。
第二阶段
建议找个网站快速入门HTML、CSS、JavaScript,掌握一些基本概念:标签、HTML元素、表单等。形象理解为HTML定义了网页显示的内容,CSS描述了网页的布局,JavaScript定义了网页的行为。什么是网页的行为?就是页面上事件(鼠标点击、键盘输入等)的响应函数。
第三阶段
对于无Java EE开发基础的来说,这阶段有几个基本概念理解非常重要。首先是Servlet。
Servlet本质是一个Java对象,拥有一系列的方法来处理HTTP请求。它是用Java语言开发,又服务器端调用和执行。细节部分如HTT原理、Cookie、Session都得专门花时间研究。
Servlet技术是在Java EE之前出现的,同时JSP也是在Servlet的基础上发展起来的。什么JSP?
JSP=HTML + Java片段 + JSP语法 +JavaScript。
为什么JSP本质上也是Servlet?我们看下访问JSP的过程:如果第一次 访问,.jsp文件被服务器"翻译"成一个对应的java文件(Servlet),然后再编译成.class文件并加载到内存中,如果再访问,那就直接调用内存中的jsp实例。
JSP的优势:
- 一次编写,到处运行
- 良好的跨平台性
- 多种开发工具支持
- 强大的可伸缩性(JSP+JavaBean)的方式
JSP的不足:
- JSP产品的复杂度高(入门比ASP难)
- 要求运行的机器配置要高,因为JSP是用class常驻内存的方式运行的,效率高,但是需要占用更多的内存
下面用示意图表示整个B/S的工作图
各部分涉及的技术:
服务器在客户端保存用户的信息就是cookie。用户访问时,服务器在服务器的内存中分配一个空间,这个空间就是session,默认存在时间为30min。
第四阶段
前面都是基本知识和基本原理的准备,实际开发中是用了对以上内容包装的框架,内容很多,将工作已经涉及的部分说下。下图示意本阶段需要学习的技术。
如果在编程过程中,对web层MVC有疑惑,可以看下如下介绍。
SSH(struts+Spring+hibernate)中Struts的工作原理:
SSH(struts+Spring+hibernate)中hibernate是一个对象关系映射(ORM,Object Relation Mapping)的框架,实际上就是对JDBC进行了轻量级封装。好处是:代码与不同数据库解耦;将数据库变成一个Java对象;会优化SQL语句。
SSH(struts+Spring+hibernate)中Spring实际是一个容器框架,管理各个层,可以配置各种Bean(action/service/dao...),并维护Bean之间的关系。