java程序整体结构_【笔记】JAVA整体体系结构

温春水视频笔记

1.Web基础 -->静态页面

html:

显示内容,共享信息。    只要看到信息,不用拷贝过来-->贝尔实验室发明

javaScript:

使html中动态元素更具有规则,验证

CSS(Cascading Style Sheets):

使用CSS来决定文件的颜色、字体、排版等显示特性。CSS最主要的目的是将文件的内容与显示分隔开来

服务器:用于将很多信息同步。

美工:自己的作品、美感设计(配色卡)、Photoshop、html、javaScript、CSS。一般网站不超过三个色系。

2.Oracle

3.Core Java

基础,语法规则,它只是基础,还不能做项目,要做项目还需搭框架。

它的基础是C、数据结构、算法。算法提高思维能力,数学。算法很重要的

4.JavaEE(中级部分) -->动态页面

类似技术:(asp:微软,不跨平台/php:C语言写的/cgi:单线程)各有不足,推动java发展

Servlet:

纯java的,学习成本高。随着分层分工复用(MVC)思想推广,Servlet才逐渐被人接受。

Servlet在控制层Controller层

Jsp:

与asp/php/cgi语法规则类似,学习成本低。Servlet先于jsp推出,但jsp先为人接受。

JSP在view层

JDBC:

用于连接数据库,

JDBC在model层

项目大的话一定要存到数据库里。如果存在内存里,没有被持久化,机器已重新启动数据就没有了。

JAVA中用的多的数据库:

Oracle:

收费,用于上亿的项目,出现问题有较好的支持。oracle将Java买过来了,它可使前台和后台更加融合,而                                  且oracle买了服务器weblogic.

MySQL:

免费。几百万上千万的项目

如果要做醒目的话要会jsp、Servlet、JDBC而不能局限于jsp

MVC只是一个软件架构(B/S、C/S也是软件架构,是一种架构模式包括管道过虑器模式),既然是一种模式,接可以将其写成框架,以后可以进行代码复用。这个框架就是SSH中的Struts。

5.SSH(高级部分)相当对JavaEE的封装

Struts1/2

相当于替换Servlet所写的MVC

MVC架构模式既然是一种模式,就可以将它进行封装,所以出现了Struts。Struts不是表示层的,它是一个架构,它主要实现的是MVC。(注意是“主要”,Spring也可以实现MVC)我们通常用Struts实现MVC。

Hibernate:本质是ORM

ORM:(Object/Relation Mapping)对象关系映射

底层的Oracle、Mysql数据库是关系型数据库,编程是面向对象的 ,如何是两者保持一致,引出概                    念:ORM。

ORM的思想:是我们对是数据库的操作更加面向对象。

ORM通过Hibernate来实现

Hibernate和ORM就相当于替换JDBC,本质上是替换,实际是对JDBC进行了封装。

Spring

2003年出来,在SSH中最后出来

作用:管理事务(要么都成功要么都失败,原子性)

IOC:可使程序间耦合度更松散。

AOP:面向切面的编程

6.AJAX(Ajax)Asynchronous JavaScript and XML

异步Javascript及XML

由来:现在项目是B/S的,以前项目时C/S的,C/S客户体验度好,B/S客户体验度不好,但成本低,维护容易。

Ajax是要来改善客户体验度,使B/S也尽量拥有C/S的客户体验度。

AJAX的底层是javascript

Ajax的FrameWork(框架):

JQuery、DWR。JQuery和DWR是对AJAX的封装。相当于Fireworks,不是绝对的。

FLEX:相当于Flash,相当于页面可显示falsh,并能触发一些事件,提高B/S的客户体验度。

网页三剑客:DreamWeaver ,Flash,Fireworks

AJAX和FLEX是胖客户端(rich)。AJAX和FLEX都是为了提高客户体验度。以前C/S是胖客户端。

7.UML OOAD(面向对象的分析与设计)Object Orient Analysis Design

高级程序员,架构师

OOAD做软件的架构,UML相当于OOAD的工具

8.XML(Extensible Markup Language可扩展标记语言)

最核心作用:1.数据传输例如:一个程序用java写的。另一个程序用.net,要实现这两程序的通信要用到web

Service,web service的本质就是XML。

a600d09e3234c87d154f4b2f366f8572.png

2. XML还可用于做配置文件

什么是XML:XML用于配置文件,用于传输数据

9.Design Pattern(重要)

设计模式 ,作用:经验的复用

10.EJB

最大特点:分布式(Distributed )

谷歌全世界有两百万台服务器,如何相互协作为我们提供服务呢,若是用java,则可以用EJB来实现。

两台机器本是分开的,要通过分布式来实现进行通信

总结一:java整个体系结构

web基础:做前台界面

Core Java:盖楼的砖,java基础

Servlet、jsp、JDBC:想要做企业级项目要用到这三。

MVC(架构模式):要将Servlet、jsp、JDBC整合到一块,就出现了MVC。

Structs:MVC既然是一种模式,就可以对其进行封装,所以出现Structs

Hibernate:JDBC中有很多模板代码,是用不到的。所以出现了Hibernate对JDBC进行替换。说是替换,实质是对

JDBC进行封装。

Spring:在JDBC中做了一些事务管理,如何简化这种管理,可通过Spring来做。为使使程序耦合度松散,用到Spring中的IOC

AJAX:增加B/S的客户体验度,是B/S也拥有C/S的客户体验度

JQuery、DWR。JQuery和DWR是对AJAX的封装。相当于Fireworks,不是绝对的。

UML OOAD(Object Orient Analysis Design面向对象的分析和设计)OOAD做软件的架构,UML是它的一个工具

XML(Extensible Markup Language可扩展标记语言)作用:1.数据传输2. XML还可用于做配置文件

总结二:java整个体系结构

做界面:html

用户端验证:javascript

统一风格:CSS

砖,基础:Core Java

做企业级项目:Servlet(Controller层),jsp(view层),JDBC(model层)

用MVC做开发

用Structs对MVC进行封装

其中JDBC用的面向对象的编程方式,但底层是关系型数据库,为使对数据库的操作更面向对象就用:Hibernate

为提高体系架构的灵活性:Spring

为提高客户体验度:Ajax,B/S没有C/S客户体验度好

对Ajax进行封装:JQuery、DWR

为使项目有一个非常好的整体结构:UML OOAD

使项目实现异构程序间数据的交互(如java与.net间的通信)用:web service,web service底层是xml

使每个模块内部做的更好,实现经验复用:Design Pattern

通过java实现分布式开发:EJB

进一步解析JAVAEE

Servlet(Controller层)

1.Servlet基础

request.getParameter得到前端传来的数据

request.setAttribute("username",username);将数据存起来

Request.getRequestDispatcher("/success.jsp").forward(request,response);页面转发

在web.xml配置Servlet:

指向某个类

/

2.Servlet生命周期(ServletLife Cycle)

init/service/destroy:初始化/提供服务/释放

如何取得会话参数:在web.xml配置

针对某个特定的servlet

3.Session(HttpSession):保持会话状态

通过HttpSession实现

http协议是无状态的,所以通过session来保存。cookie保存在客户端,session保存在服务器端

HttpSession session=req.getSession();

Session.setAttribute();

页面跳转,到下一个页面进行getAttribute()

Session可以跨多个页面,只要是一个用户即可。

Session的值也是存在cookie里的,若客户吧cookie禁用,就比较麻烦。所以出现URL重写

URL重写(URL rewrite)

后台:response.sendRedirect()

前台:

Filter:过滤器

处理中文乱码,防止非法登陆,

Listener

JSP(view层)

jsp语法

脚本片段:

表达式:

声明:

JDBC(Model层)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值