JSP简介
- JSP(全称Java Server Pages)是一种使软件开发者可以响应客户端请求,而动态生成 HTML、XML或其他格式文档的Web网页的技术标准。
- JSP 技术是以 Java 语言作为脚本语言的,JSP 网页为整个服务器端的 Java库单元提供了一个接口来服务于HTTP的应用程序。
- JSP文件后缀名为 *.jsp 。
- JSP开发的WEB应用可以跨平台使用,既可以运行在 Linux 上也能运行在 Windows 上。
JSP引擎
- JSP引擎是指支持JSP的Web服务器或Web容器(如Tomcat)
- JSP引擎作用是要把JSP标签、JSP页中的Java代码甚至连同静态HTML内容先转换成为大块的Java代码,然后Servlet被JSP引擎自动地编译成Java字节码,最后生成的整个页面信息返回给客户端
- Web容器处理JSP文件请求需要经过3个阶段:
翻译阶段:JSP文件会被Web容器中的JSP引擎转换成Java源码
编译阶段:Java源码会被编译成可执行的字节码.class文件
执行阶段:容器接受了客户端的请求后,执行编译成字节码的JSP文件;处理完请求后,容器把生成的页面反馈给客户端进行显示
JSP 页面的元素包括:
中文编码问题
如果我们要在页面正常显示中文,我们需要在 JSP 文件头部添加以下代码:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
//新版本的idea可以直接使用charset=UTF-8
指令
指令用于将有关页面的特殊处理信息传送到JSP容器
常用的JSP指令分为三种类型:
- 第一个是include指令,用来在JSP文件转换成Servlet时引入其他文件。
- 第二是page指令,用来完成下面这类任务,导入指定的类,自定义Servlet的超类,等等;
- 第三是taglib指令,其目的是让JSP开发者能够自己定义标签
page指令属性
JSP九大内置对象
在JSP中无需创建就可以使用的9个对象
- pageContext:PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问
- request: HttpServletRequest类的实例
- response:HttpServletResponse类的实例
- out: PrintWriter类的实例,用于把结果输出至网页上
- session: HttpSession类的实例
- application: ServletContext类的实例,与应用上下文有关
- config: ServletConfig类的实例
- page: 类似于Java类中的this关键字
- exception: exception 类的对象,代表发生错误的 JSP页面中对应的异常对象
MVC(模型-视图-控制器)
- M即model模型是指模型表示业务规则。
- V即View视图是指用户看到并与之交互的界面。
- C即controller控制器是指控制器接受用户的输入并调用模型和视图去完成用户的需求,控制器本身不输出任何东西和做任何处理。