2018/11/23

一、动态网页和静态网页

1、静态网页

静态web无法连接数据库

静态页面就是页面上所有东西都做好了放到后台的,不管是谁在什么时候看到的页面内容都是一样的。

静态的html页面文件,可以用本地的浏览器直接打开。

2、动态网页

可以连接数据库

动态页面的内容一般都是依靠服务器端的程序来生成 的,不同人、不同时候访问页面,显示的内容都可能不同。

3、静态页面 VS 动态页面

前者就是存粹的html页面,web服务器接受请求时,总是直接将其返回给浏览器,因此并不涉及到后端开发。

而后者其实是含有服务逻辑,并且能够最终生成html页面的模板文件,不管它的后缀是jsp还是php,都是模板。

特殊情况:静态html页面利用javascript的Ajax(XMLHTTPRequest)技术,也可以从服务端获取数据。

二、用户在浏览器上输入请求到用户看到页面的过程

1、过程

Brower接受请求

DNS进行域名解析翻译成IP地址

Web Servlet对请求进行处理  做出应答。这时是RunTime,可以对数据库里的数据进行增删改查

最后形成html页面  返回给用户

2、浏览过程

用户通过浏览器发出请求之后,首先要通过DNS将域名解析成IP地址。

实际上请求的是这个IP和端口(默认80)对应的Web服务器。

在服务端,分两种情况: 第一种,请求的是*.html/*.jpg/*.js/*.css之类的静态资源,那么Web服务器会直接返回给浏览器。

                                        第二种,请求的是动态资源,那么Web服务器会调用相应的编译器及解释器将动态模板渲染成一个html,再返回给浏览器。

有几个概念不要混淆:  a)Service:服务;     b)Server:服务器;      c)Servlet:java的一种服务端程序。

三、MVC框架

 MVC的核心目标是解耦,相对传统的JSP或者ASP来说,主要是将不同层面的代码单独抽取出来,形成上面的三层架构。 最终目标是一致的,都是利用服务器端编程,对动态模板页面进行渲染,最终生成html发送给用户。

1、Controller(控制器)

控制器(Controller)不是不干活,而是不干具体的活,主要是进行调度,包括接收Get/Post参数,然后调用某个Service来返回若干个Model,最后再将这些Model发送给指定的View,最终渲染成html给用户显示。 

【不干具体活,用来接收用户的请求传递信息;里面可以有若干个Action】

       Action(动作):都是用 piblic void 来定义的,是用户定义的最小单元。

2、Model(模型)

 Model(模型)其实就是对数据对象的封装

【通过Controller传达过来的内容调用相应的Service进行处理,再用Model发送给View】

      Service(服务):实际上真正干活的,处理用户的请求。

       Model(模型):作为响应结果

3、View(视图)

View(视图)其实就是动态页面的模板文件,它利用控制器(Controller)传过来的数据来填充html,生成最终页面

【将Model的响应结果呈现给用户】

四、通过例题学习

例:在temp里面建一个helloworld.html

 

GroupController代码:

在Controller里面新建一个class类  名为HelloController

 

运行结果:

 

#():输出指令。将括号内的数据插入到 HTML

#render(file, param=value, ...):引用指令。将代码片段引用进来,可携带参数。
---------------------
作者:女汉子版小可爱
来源:CSDN
原文:https://blog.csdn.net/weixin_43784593/article/details/84404699
版权声明:本文为博主原创文章,转载请附上博文链接!

猜你喜欢

转载自www.cnblogs.com/zxz1411752614/p/10074948.html