JSP - 概述
1. 简介
JSP全名为Java Server Pages, 中文名叫java服务器页面, 其根本是一个简化的Servlet设计
2. JSP的访问原理
浏览器发起请求, 请求被Tomcat服务器接收, 执行JspServlet,
将请求的JSP文件转义成为对应的java文件(也就是Servlet), 然后执行转义好的文件
3. JSP的指令
page指令(可以写多个): <%@ page 属性名="属性值" 属性名="属性值" ... %> language: 声明JSP要被转译的语言 import: 声明转译的java文件要导入的包, 不同的包使用逗号隔开 pageEncoding: 设置当前JSP文件的数据编码格式 contentType: 设置JSP数据响应给浏览器时, 浏览器的解析和编码格式 session: 设置转译的Servlet中, 是否开启session支持, 默认开启(true) errorPage: 设置JSP运行错误时跳转的页面 extends: 设置JSP转译的java文件要继承的父类(包名+类名) 作用: 配置JSP文件的转译相关的参数 include指令: <%@ include 属性名="属性值" ... %> file: 要引入的jsp文件的相对路径 这种方式引入文件为静态引入, 会将引入的JSP文件和当前的JSP文件转译成一个Java文件使用 在网页中会显示合并后的效果, 静态引入的JSP文件不会单独转译成Java文件 注意: 当前文件和静态引入的JSP文件中不能使用Java代码块声明同名的变量
4. JSP中的三种注释
前端语言注释: 会被转译, 也会被发送, 但不会被浏览器执行
java语言注释: 会被转译, 但不会被servlet执行
JSP注释: 不会被转译
<!-- HTML注释 -->
<%-- JSP注释 --%>
5. JSP的局部代码块
局部代码块中声明的java代码会被原样转译到JSP对应的Servlet文件的_JspService方法中
代码块中声明的变量都是局部变量
使用方式: <% Java代码 %>
缺点: 使用局部代码块在JSP中进行逻辑判断, 书写麻烦, 阅读困难
一般使用Servlet进行请求的逻辑处理, 使用jsp进行页面的展现
6. JSP的全局代码块
声明的Java代码作为全局代码转译到对应的Servlet中
使用方式: <%! Java代码 %>
一般全局代码块定义的代码需要在局部代码块中调用
7. JSP的脚本段语句
帮助我们快速的获取变量或者是方法的返回值作为数据响应给浏览器
使用方式: <%= 变量名或者是方法 %>
注意: 不要在变量名或方法名后面加分号
8. JSP的动态引入
<jsp:include page="要引入的JSP文件的相对路径"></jsp:include>
会将引入的JSP文件单独转译, 在当前文件转译好的java文件中调用引入的JSP文件的转译文件
动态引入允许在引入的文件中声明与当前JSP中同名的变量
9. JSP的转发标签
<jsp:forward page="要转发的JSP文件的相对路径">
<jsp:param name="" value="" />
</jsp:forward>
在转发标签的两个标签中间, 除了写<jsp:param name="" value="" />子标签不会报错, 其他任意字符都会报错
<jsp:param>标签中的数据, 会以?name=value的形式拼接在转发的路径后面
在转发的页面中使用<%= request.getParameter("name") %>获取<jsp:param>中写的数据