JavaWeb如何实现客户端与服务器交互以及MVC

模型无

这是一个最简单的模型,什么都没写,客服端发送请求到达服务器,然后服务器解析这些请求,并且做出响应,然后再发送给客户端,由此呈现给用户

那么服务器具体是怎么解析这些数据的呢?

Tomcat

无
这里进一步说明了,服务器获取数据是用的Tomcat服务器,并且Tomcat服务器会吧这部分内容发送给Sevlet解决,然后再由Tomcat服务器返回这些请求

那么Sevlet又是如何解析这些请求的呢?

Sevlet

在这里插入图片描述
每个服务器请求到达Sevlet,Sevlet都会产生两个对象(请求、响应),然后我们获取传送的数据是通过请求来获取,然后我们需要吧要显示的页面写入响应里,然后服务器通过获取Sevlet的响应来返回给客户端

以下是注意事项:
1.响应和请求都是成对出现的,不会只有响应也不会只有请求
2.每个客户端发送一个请求,Sevlet都会单独开启一条线程去执行

总结:

1.到现在我们应该也差不多理清楚客户端到服务器是怎么发送数据,怎么返回数据的了,至于中间是通过什么协议,Tomcat怎么获取数据,怎么返回数据的不是我们操心的事,这些都是封装好的,我们只需要用就好了,也就是说我们只需要负责Sevlet里面的代码就搞定
2.那接下来我们来讲讲分层以及MVC吧

分层

在这里插入图片描述
通过这个图我们可以很清晰的看书一个分层的思想,这里我用“用户登录”这个操作,来举例说明

1.数据库中有个表,叫“User”,有属性“name、psw、phone”
2.我JAVA中也需要有一个类对应,类名就是“User”,有成员变量“name、psw、phone”以及对应的“get、set”方法以及构造函数
3.我有个页面表单就是用来显示“用户登录”的,然后Sevlet可以通过表单name获取到输入的值
4.Sevlet通过request获取到输入的值,并且创建了“User”对象,吧“User”对象发送给了“Sever”
5.Sever获取到“User”对象,并且做出响应的判断,例如输入为空、输入不正确的判断,但是数据库的的数据还没拿到,所以又把这个对象发送的“Dao”
6.Dao,获取到这个对象,并且通过JDBC链接数据库,获取数据库中存的数据,进行比配,如果相同就返回这个对象,如果不同就返回NULL,返回给“Sever”
7.Sever获取到“Dao”返回的对象,通过判断是否为NULL,然后讲这个布尔值返回给“Sevlet”
8.Sevlet获取到布尔值,然后进行相应的页面跳转或者提示

以上就是一个完成的流程了,接下来最后简单讲解MVC:

MVC

在这里插入图片描述
这是一个很简单的MVC模型,简单介绍如下:
M:Model(模型),是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象负责在数据库中存取数据。(所以用sever+Dao+数据库)
V:View(视图),是应用程序中处理数据显示的部分;通常视图是依据模型数据创建的。(客户端就是显示视图的)
C:Controller(控制器),是应用程序中处理用户交互的部分;通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。(所以用的Sevlet)

扫描二维码关注公众号,回复: 5057726 查看本文章

总结:

这只是一个最简单理论分析,还是需要自己多实践代码,才能分析,后续我会分析第一个JSP页面以及第一个登录页面的实现

猜你喜欢

转载自blog.csdn.net/qq_37871033/article/details/86625910
今日推荐