MVC模式:

实则就相当于一个三层架构,不同的是MVC分为控制器,业务层和渲染层。
用户请求页面后,实则请求的是控制器。控制器负责调用页面。如果需要后台参与数据运算或处理的,调用业务层。待确定所有显示内容后,调用渲染层(实际框架中一般为HTML页面,接触MVC之前我死磕ThinkPhp5都没理解它是如何工作的)。最后得到一份完整的HTML代码,将其返回给用户。

JSP内置对象

Request

请求,指用户发送给服务器的请求数据包。一般包含用户携带的session,cookie和HTML请求头(Header)

Response

响应,指服务器发送给用户的响应数据包。注意,响应本身也是包含响应头的,但响应并不包含传给用户的cookie和session,这些应该到Request中的相应对象中修改。

提醒:

编写脚本时的“视角”应该在服务器,即“我”是服务器,“你”是客户端的态度编写。使用这种思路可以规避很多的迷惑行为。

Session

服务器生成的,针对该用户的唯一标识。一般会留存到浏览器关闭为止。但通常有失效周期。
如果是浏览器关闭导致的失效,是浏览器把服务器甩了,
如果是服务器超时导致的失效,是浏览器被服务器甩了。
此对象可以直接存储用户数据,以K/V形式存储,支持所有数据类型。

Application

存储公共信息的对象,留存直到服务器关闭。
相当于一个公告板,所有用户理论上都可以访问得到。所以万不可存放敏感数据。

Out

服务器输出流,控制服务器脚本向用户输出指定数据。相当于System.Out.Println()
但要注意的是,输出流完成之后要及时关闭,否则缓冲区可能溢出。

  • 流、栈:都是以顺序排列的数据组合。但与数组和列表不同的是,流的数据单位并不明确,在读取时可以一次性读取任意长度的数据(只要内存HOW住)。流以顺进顺出,栈以顺进逆出。
  • 缓冲区:内存中为实现某种功能而特意划分的空间。可以近似当做内存。
  • 溢出:指定值超出表示范围。我们常见的溢出是数组溢出。当访问数组中不存在的下标时会出现这个溢出错误。当然若不加此限制计算机仍然可以正常运行,只不过会导致其他程序出现莫名其妙的意外。(早期计算机多发)

PageContext

可以获取页面中的任何对象,相当于所有页面对象的托管对象。
托管对象看上去复杂,其实做起来就是在对象所属类中创建能够容纳被托管对象的属性,初始化时将需托管对象放入属性即可。

Config

需要通过PageContext.getServletConfig()获取。
可以获取服务器的配置信息

Page

JSP页面本身,相当于This指针。

  • 指针:访问它相当于访问指针所指向的对象。对指针的所有操作都将代理到所指向的所有对象。在C语言中可以对指针进行直接操作(虽然个人感觉意义不大)

exception

异常信息类,用以显示异常信息。仅当isErrorPage="true"的页面中才可以被使用。

ASP网页元素

  1. HTML控件:与普通HTML相同,直接工作在客户端中。
  2. HTML服务器控件:事件和属性都运行在服务器的控件。由HTML控件填写runat="server"转化而来。
  3. WEB控件:ASP原生支持的控件,所有事件和属性都必须在服务端完成。
Last modification:May 11th, 2020 at 10:41 am
如果觉得我的文章对你有用,请随意赞赏