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) 收藏 举报
浙公网安备 33010602011771号