一、动态网页和静态网页
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
版权声明:本文为博主原创文章,转载请附上博文链接!