1.什么是JSP
JSP是运行在tomcat服务器上的一种脚本语言,其特点是Java代码和HTML代码存在,其实就是一种serlvet,服务器在云心的时候会将JSP转换成servlet然后运行。
JSP页面包括静态内容,注释,声明,表达式,方法,java代码等。
2.JSP出现的原因
为了简化Serlvet的工作而出现的替代品;但是现在前后端已经实现了完全分离,几乎用不到JSP技术。
3.JSP的简单示例:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>webDemo</title>
</head>
<body>
<h1>Hello World!!!</h1>
</body>
</html>
3.JSP生命周期
JSP也是Servlet,运行时只有一个实例,JSP初始化和销毁时也会调用Servlet的init()和destroy()方法。另外,JSP还有自己初始化和销毁的方法
4.JSP脚本
JSP脚本形式有三种:
- <% %> :定义局部变量,编写java代码;
- <%! %>:定义类或者方法;
- <%=%>:表达式输出;
JSP的三种注释:
- 隐藏注释(不会在客户端上显示):
格式:<%-- 注释语句--%> - HTML注释(注释的内容会显示在客户端浏览器上):
格式: - Java注释:
格式://行注释, /* ---------*/多行注释
5.JSP常用指令:
JSP指令用来声明JSP页面的相关属性,例如编码方式、文档类型等等
1.page指令
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
用来定义JSP文件的全局属性,他描述了页面相关的一些信息,其作用域为他所在的JSP页面和其包含的文件
page常见属性:
page指令常见属性:
- language="java"
- extends="package.class"
- import="{package.class | package.*}, ..."
- session="true | false"
- buffer="none | 8kb | sizekb"
- autoFlush="true | false"
- isThreadSafe="true | false"
- info="text"
- errorPage="relative_url"
- isErrorPage="true | false"
- contentType="mimeType ;charset=characterSet " | "text/html ; charset=ISO-8859-1"
- pageEncoding="characterSet | ISO-8859-1"
- isELIgnored="true | false"
一般地,在eclipse或idea这些高级开发工具上开发,我们只需要在page指令中指定contentType="text/html;charset=UTF-8",就不会出现中文乱码问题!
当然了contentType 不仅仅可以指定以text/html的方式显示,还可以使用其他的形式显示出来。在conf/web.xml文件中可以查询出来。
2.include指令
include静态(编译时加进来)包含,为当前的JSP页面中加载需要载入的代码,即为页面插入一个静态文件,如JSP页面,HTML页面,文件形式或一段java程序,这些加载的代码和原有的JSP文件形成新的JSP文件
<%@include file = "fileName"%>
示例
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
我是页头
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
我是页尾
</body>
</html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<%@include file = "head.jsp"%>;
<%@include file = "foot.jsp"%>;
</body>
</html>
效果如下:
![](https://img.haomeiwen.com/i2909474/2797abe0190faf6f.png)
3.taglib指令
用来指定页面使用的标签库以及其自定义标签的前缀
6.JSP常用动作
1.<jsp:param>:
作用于<jsp:include>,<jsp:forward>动作中,为其他动作传送一个或者多个参数
<jsp: param name= "参数名" value = "参数值"/>
2.<jsp:include>:
把文件动态插入正在生产的页面中
<jsp:include page="test.jsp" flush="true"/>
或者
<jsp:include page="test.jsp">
<jsp:param name="paramName" value="paramValue"/>
</jsp:include>
和include指令的区别
1.在执行的时间上:include是在预编译的时候把代码加进来一起处理,include动作则是动态;使用的话更推荐用动态加载,理由:如果两个文件名中有相同的变量则会出现编译失败的情况。
2.引入的内容不同:
指令在引入静态文本的JSP页面转换为serlvet之前和它融在一起,而动作引执行页面或者servlet所生产的应答文本。
3.<jsp:userBean>
用来加载一个将在JSP页面上使用的javaBean
<jsp:useBean id = " " class = " ">
4.<jsp:setProperty>
用来设置已经实例化的Bean对象的属性
<jsp:setProperty name="" property="" value=""/>
5.<jsp:getProperty>
<jsp:setProperty name="" property="" />
6.<jsp:forward>
请求转发,把页面跳转到指定的页面
<jsp:forward page = "url地址">
7.<jsp:plugin>
用来根据浏览器的类型,插入java插件。
8.<jsp:elment>,<jsp:attribute>,<jsp:body>
动态定义xml元素
9.<jsp:text>
允许在jsp页面和文档中使用写入文本的模板
参考:
作者:java3y
链接:https://www.imooc.com/article/24325
来源:慕课网
网友评论