前言
我们进入到javaweb开发的学习中,首先要了解什么是C/S架构,B/S架构,通俗的来讲,
- C/S架构,客户端/服务器,比如QQ或者一些大型游戏,用户需要先下载软件的客户端,然后才能使用
- B/S架构,浏览器/服务器,我们上网时候所访问的网站基本上全是该模式的项目,用户不需要下载任何东西,只需要浏览器就可以访问到这个项目。
我们在javaweb阶段要学习的web项目就是基于B/S架构的项目。
一、什么是Web
-
web项目中,其实就是两个软件之间的信息交换,客户端机器中的浏览器软件和服务器端机器中的web服务器软件之间的交换,在我们的学习中,就是客户端的浏览器和服务器端的tomcat进行信息交换。
-
浏览器和tomcat是两个不同的软件,但是在开发这两个软件的时候,都是加入了HTTP协议的支持,所有它们俩个进行信息交换的时候,都是通过HTTP协议规定的方式进行交换的。
-
客户端先发送一个请求,然后服务器端接收到这个请求再返回给客户端一个响应,并且把客户端所请求的资源返回给客户端。
-
我们要做的就是,开发一个web项目,然后把这个web项目部署到tomcat服务器里面指定的位置,然后再运行这个tomcat软件,在tomcat运行的过程中,其他计算机里面,只要是网络和我们这个服务器是通的,那么都可以通过浏览器来访问我们的这个web项目。
-
当我们用浏览器访问tomcat的时候,tomcat会按照浏览器发送的这个请求里面的内容,把浏览器想访问的页面从web项目中找到并返回给这个浏览器,或者tomcat去调用web项目所写的某些java类中的方法(即servlet中的方法)
二、Web项目结构介绍
- 一个web项目的基本结构
- 其中JavaWebCode是项目名称,自拟
- web文件夹中WEB-INF这个是固定的,该文件夹中的lib、class、web.xml都是固定的
- web.xml文件在tomcat目录中的conf目录里面的一个web.xml模板
三、一个基础Web项目的构建
-
三层开发
-
一般来说,我们对JavaWeb的理解是,我们前台通过Ajax发出一个请求(request)数据到Servlet,然后Servlet进行一系列的处理后传入Dao层,与数据库内的数据进行匹配等一系列操作,然后对传来的数据返回一个响应(response)到Servlet然后通过Ajax获取响应的结果。
-
那么既然servlet的作用是为了接收请求和返回响应的,那么书写的时候,会把大堆的业务逻辑写在servlet中,这样会显得十分繁琐,并且代码的可读性较差,所以引入一个Service服务层,该层是为了我们将写在servlet中的业务逻辑代码写到service中。(为什么创建service层)
每层的具体介绍
- DAO层(数据访问层)
具体作用是封装对数据库的访问:增删改查,不涉及业务逻辑,只是达到按某个条件获得指定数据的要求。 - service层(服务层)
具体作用是处理业务逻辑的,设计service时候,其书写规范是,需要先写一个接口,然后再去实现。其中接口声明了具体业务的处理方法,方法的实现由具体的业务类来完成。 - servlet层
具体作用是读取客户端(浏览器)发送的显式数据或隐式的HTTP请求数据,处理数据并生成结果,这个过程中可能需要访问数据库,然后发送显式或隐式的数据到客户端(浏览器)。
简单来说,dao层负责完成对数据库的访问,servlet只负责接受请求和返回响应,service把实现业务逻辑。