javaWeb中的一些概念

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※分割线※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※分割线※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 springmvc

 

 1、RESTful风格:一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。

它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

2、

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※分割线※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

 

JavaWeb目录结构

  • Java Resource

    • src:存放Java源代码的目录。
    • Libraries:存放的是Tomcat及JRE中的jar包。
  • build:自动编译.java文件的目录

  • WebContent(WebRoot):存放的是需要部署到服务器的文件

    • MEAT-INF:是存放工程自身相关的一些信息,元文件信息,通常由开发工具和环境自动生成。

      • MANIFEST.MF:配置清单文件
    • WEB-INF:这个目录下的文件,是不能被客户端直接访问的。

      • classes:存放Java字节码文件的目录。
      • lib:用于存放该工程用到的库。
      • web.xml:web工程的配置文件,完成用户请求的逻辑名称到真正的servlet类的映射。
    • 凡是客户端能访问的资源(*html或*.jpg)必须跟WEB-INF在同一目录,即放在Web根目录下的资源,从客户端是可以通过URL地址直接访问的。

 

 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※分割线※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

servlet相关概念

1、看到HttpServlet继承GenericServlet,GenericServlet  实现Servlet, ServletConfig, Serializable

问题:1)GenericServlet抽象类中 有这样一句“ private transient ServletConfig config;” transient 作用是什么?

           2)为什么要继承Serializable?

2、看servlet介绍时,有这么一句话“Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。” 

问题:1)Web 服务器是什么?应用服务器是什么?区别和联系。

Web服务器的主要功能是存储,处理和传递网页给客户。

主流Web服务器包括Apache、IIS 、Nginx,还有比较多使用Tomcat,Jetty,WebSphere,WebLogic,Kerstrel等等。

Web应用程序容器 :Web程序开发框架(含运行环境,比如解释执行JSP,Web API)。

Web应用程序容器比web服务器多实现了一些功能。

Web容器本身具备了做为一个Web服务器的功能,事实上通常实现Web容器功能的服务器就是一个Web服务器.比如Tomcat , IIS ,Jetty。还有比较多使用WebSphere,WebLogic等等。

区别:

当有人说到“web服务器”时,你通常要把它认为是以HTTP为核心、web UI为向导的应用。

当有人说到“应用服务器”时,你可能想到“高负载、企业级特性、事务和队列、多通道通信(HTTP和更多的协议)”。

但现在提供这些需求的基本上都是同一个产品。

           2)了解 HTTP 客户端 

           3)了解HTTP 服务器

3、“Java Servlet 通常情况下与使用 CGI(Common Gateway Interface,公共网关接口)实现的程序可以达到异曲同工的效果”
问题:CGI是什么

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

java名词

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

1、浅谈JavaSE、JavaEE、JavaME三者的区别

Java SE 是做电脑上运行的软件。

Java EE 是企业及开发,最多的应该是web开发- 

Java ME 是做手机软件的。

2、jar包和war包分别是什么及其区别

JavaSE程序可以打包成Jar包(J其实可以理解为Java了),而JavaWeb程序可以打包成war包(w其实可以理解为Web了)。

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

20180531

对象建模

对象建模技术

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

20180531

java工程中文件命名(PO/POJO/VO/BO/DAO/DTO/TO)

1、POJO

POJO(Plain Ordinary Java Object)简单的Java对象,其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用。

在它里面除了JavaBean规范的方法和属性没有别的东西,即private属性以及对这个属性方法的public的get和set方法。

2、VO(value -object)值对象

 通常用于业务层之间的数据传递。

3、DTO (Data Transfer Object)数据传输对象 
主要用于远程调用等需要传输对象的地方。如:应用之间传输数据。

 

4、PO(Persistent Object)持久对象--数据关系模型

在o/r映射的时候出现的概念。

通常对应数据模型(数据库),本身还有部分业务逻辑的处理。

可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合,只能存活在一个数据库连接中,断开连接即被销毁。  

O/R映射:层是持久层的一个特例,它的数据模型是对象模型(Object),存储模型是关系模型(Relational),cmp和Hibernate是对象模型到关系模型之间转换的两种不同实现。 

 

5、BO(business object)业务对象 (service)

从业务模型的角度看。封装业务逻辑的java对象,通过调用DAO方法,结合PO,VO进行业务操作。

6、DAO(data access object)数据访问对象 
它负责持久层的操作,与数据库交互。操作PO,VO,TO。

7、TO(Transfer Object),数据传输对象  
在应用程序不同tie(关系)之间传输的对象 ,DAO层读数据源数据传TO传输给客户端,DAO接收客户端数据修改数据源。

参照:

https://www.cnblogs.com/windanchaos/p/6398803.html

 

※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※

posted on 2018-06-13 11:36  helloJava小白  阅读(71)  评论(0)    收藏  举报

导航