java总结

来源:互联网 发布:优化案例 编辑:程序博客网 时间:2024/05/01 13:03

第一章

 

1.什么是javaee

       Javaee是一个开发分布式企业级应用的规范和标准.

2.为什么要学习javaee?

       为了程序的易维护性和可扩展性.

3.javaee包括的技术

 

 

 

Javaee与框架之间的关系

应用程序-à框架集-àjavaee

 

 

MVC框架

M:数据层,C控制层,V表示层

 

 

第二章

 

What is servlet ?

Servlet是一个java程序,是在服务器端运行用来处理客户端请求并作出响应的程序.

 

Why we user servlet?

请求流关键要素:HTTP方法、要访问的页面、表单参数。

响应流关键要素:状态码、内容类型、内容。

HTMLHTTP响应的一部分。对于HTML中的img元素又会发出一次请求,我们应该尽量减少请求的次数。

How to use servlet?

1.servlet的生命周期

加载和实例化---初始化---服务---销毁

 

在我们创建好一个servlet之后,Eclipse会自动为我们创建一个web.xml文件,该文件里配置有servlet

例子:

  <servlet>

    <description>This is the description of my J2EE component</description>

    <display-name>This is the display name of my J2EE component</display-name>

    <servlet-name>SelectServlet</servlet-name>

    <servlet-class>servlet.SelectServlet</servlet-class>

  </servlet>

 

 

  <servlet-mapping>

    <servlet-name>LoginServlet</servlet-name>

    <url-pattern>/servlet/LoginServlet</url-pattern>

  </servlet-mapping>

(注意:上下两个name值必须相等)

 

重定向:

Response..sendRedirect(“你要定向的地址”);----注意,重定向后,会丢失数据,浏览器地址改变

 

转发

request.getRequestDispatcher("/one/loginShow.jsp").forward(request,response);---不丢失数据,浏览器地址不变

//获取客户端请求元素

request.getParameter("uname");

//存储数据

Request.setAttribute(“aa”,aa);

//获取数据

Request.getAttribute(“aa”,aa);

 

 

 

第三章

创建会话

HttpSession session = request.getSession(false);

//存储数据

session.setAttribute(“aa”,aa);

//获取数据

session.getAttribute(“aa”,aa)

 

关闭会话

 

1.       关闭浏览器

2.       调用invalidate()方法,删除session对象和数据;

3.       两次访问时间大于色色死哦难定义的非活动时间间隔---可以自己在项目中配置时间间隔,也可以在tomcat中配置时间间隔,如果两者都存在,以项目中配置的时间间隔为准

 

 

第四章

1格式化问题

decimalFormat(“要格式化的格式”).format(要格式化的元素);

 

常用的集合类和接口

1.       List接口

Arraylist类和linkedlist

2.       set接口

hashset(无序,不可重复元素)类和treeset(可以人工排序)

上面两个接口都继承collection接口

Map接口

Hashmap(线程不同步) <比较> hashtable(线程同步)

Properties

 

 

第五章

MVC设计模式

Mà对应模式是javaBean

Và对应模式是jsphtml

Cà对应模式是Servlet

 

使用mvc设计模式可以大大提高程序的维护性和扩展性

关于mvc各个层的总结:

PO

persistant object持久对象

 

最形象的理解就是一个PO就是数据库中的一条记录。

好处是可以把一条记录作为一个对象处理,可以方便的转为其它对象。

-------------------------------------------------------------------------------

BO

business object业务对象

 

主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。

比如一个简历,有教育经历、工作经历、社会关系等等。

我们可以把教育经历对应一个PO,工作经历对应一个PO,社会关系对应一个PO

建立一个对应简历的BO对象处理简历,每个BO包含这些PO

这样处理业务逻辑时,我们就可以针对BO去处理。

--------------------------------------------------------------------------------

 

 

VO

value object值对象

ViewObject表现层对象

 

主要对应界面显示的数据对象。对于一个WEB页面,或者SWTSWING的一个界面,用一个VO对象对应整个界面的值,VO是在servletnew出来的。

 

--------------------------------------------------------------------------------

 

 

DTO

Data Transfer Object数据传输对象

主要用于远程调用等需要大量传输对象的地方。

比如我们一张表有100个字段,那么对应的PO就有100个属性。

但是我们界面上只要显示10个字段,

客户端用WEB service来获取数据,没有必要把整个PO对象传递到客户端,

这时我们就可以用只有这10个属性的DTO来传递结果到客户端,这样也不会暴露服务端表结构.到达客户端以后,如果用这个对象来对

 

应界面显示,那此时它的身份就转为VO

 

 

 

POJO

plain ordinary java object 简单java对象

个人感觉POJO是最常见最多变的对象,是一个中间对象,也是我们最常打交道的对象。

 

一个POJO持久化以后就是PO

直接用它传递、传递过程中就是DTO

直接用来对应表示层就是VO

 

--------------------------------------------------------------------------------

 

DAO

data access object数据访问对象

这个大家最熟悉,和上面几个O区别最大,基本没有互相转化的可能性和必要.

主要用来封装对数据库的访问。通过它可以把POJO持久化为PO,用PO组装出来VODTO

 

 

VOPO的比较:

VO是业务对象 ,由业务逻辑使用,它存活的目的就是为数据提供一个生存的地方。

PO 则是数据对象的表现,它可以简化对象数据与物理数据的转换

 

VOnew关键字创建,由GC回收。

PO则是向数据库中添加新数据时创建,删除数据库中数据时删除,并且它只能存活在一个数据库连接中,断开连接即被销毁。

 

VO的属性根据当前的业务不同而不同。

PO的属性则是跟数据库表的字段一一对应。PO对象需要实现序列化接口。

 

 

 

POVO的关系:

 

首先说POVO吧,它们的关系应该是相互独立的,一个VO可以只是PO的部分,也可以是多个PO构成,同样也可以等同于一个PO(当然我是指他们的属性)。正因为这样,PO独立出来,数据持久层也就独立出来了,它不会受到任何业务的干涉。又正因为这样,业务逻辑层也独立开来,它不会受到数据持久层的影响,业务层关心的只是业务逻辑的处理,至于怎么存怎么读交给别人吧!不过,另外一点,如果我们没有使用数据持久层,或者说没有使用hibernate,那么POVO也可以是同一个东西,虽然这并不好。

 

 

 

VOFormBean(HTML表单的封装)的关系:

其次,让我们看看FormBeanVO,如果简单地讲,我们是可以不需要FormBean的,它只是struts带来的一部分,而VO是无论如何不能舍弃的。如果让FormBean直接到业务层(它本来应该生活在控制层),那么会带来什么?ViewModel就出现了强耦合,如果想改一下view的表示,整个业务逻辑都得改.

 

 

第六章

3种链接数据库方式

 

单例模式

 

 

自定义异常处理

原创粉丝点击