JSP技术学习笔记
1. JSP简介
1.1 JSP是什么
JSP(Java服务器页面,Java Server Pages)是一个简化的Servelet设计,用来创建Web应用程序,由Sun公司主导制定的Java服务器端动态网页技术标准,类似于.Net的ASP。JSP的出现意义重大,推动了网页从静态走向动态的跨越。
1.2 怎么使用JSP
JSP以文件形式存在,后缀名是**.jsp**,通常一个JSP文件会由以下3个部分组成:
- HTML代码 —— 页面的描述和排版
- Java代码 —— 允许写,但不建议写,会弱化MVC分层设计,且后期难以维护(我接触的项目里JSP文件写了Java代码,( ╯□╰ ))
- JSTL —— JSP标准标签库,标签是为解决特定问题而产生的模板一种引擎,通常包含5个部分:
- 核心标签,如CORE标签库里的c:foreach迭代标签
- 格式化标签
- SQL标签
- XML标签
- 拓展函数
1.3 JSP的优缺点
1)SP是对Servlet的扩展,可在JSP中使用Servlet的使用功能
2)易于维护,业务逻辑和页面逻辑分开的
3)快速开发,JSP页面改动时不需要重新编译和部署
MVC(Model-View-Control)是一个分层架构设计,使得开发和运维更加简洁高效,JSP应当在MVC架构里充当View的角色
基于JSP的MVC架构是一种混乱的MVC架构,Control和View还是混在了一起。
1.4 JSP还要必要学吗
学习JSP技术后学其他的Java框架会更容易
基于Servelet API去构建或扩展的,JSP可以作为了解底层实现的起点,有助于知识体系学习的连续性。
1.5 JSP的9大内置对象
- PageContext —— JSP页面上下文对象
- HttpServeletRequest —— 封装用户请求的对象
- HttpServeletResponse —— 封装用户响应的对象
- HttpSession —— 封装用户对话的对象
- ServletContext —— 容器上下文对象
- ServletConfig —— 服务配置对象
- JSPWriter —— 页面输出对象
- Page —— 当前页面的抽象
- Exception —— 全局异常对象
1.6 JSP的值域
- Page值域 —— 当前页面有效,跳转或重定向后无法携带
- Request值域 —— 只在一次请求当中有效,重定向无法携带
- Session值域 —— 只在一次会话中有效,重启浏览器或超时后消失
- Application值域 —— 整个服务器生命周期有效,重启服务会消失
1.7 JSP的生命周期
- JSP页的翻译
- 编写JSP页面
- 类加载(类加载器加载文件)
- 实例化(生成Servlet对象被创建)
- 初始化(容器调用jspInit()方法)
- 请求处理(容器调用jspService()方法)
- 销毁(容器调用jspDestroy()方法)
1.8 JSP目录结构
JSP页面的目录结果与Servlet相同,可以把JSP页面放在WEB-INF文件夹之外或任何目录中。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小邹同学!
评论