1.jsp
1.1背景
本质就是我们编写的servlet程序里面的方法的response对象的时候,他最后会被web server 变成响应给到我们的浏览器。
所以其实我们也会写大量的前端语言给到response对象,比如response的PrintWriter 的方法,给到方法后,response就会变成请求给浏览器显示在浏览器页面上。
那么servlet的程序的里面的方法的编写的时候,我们在写response类需要写太多的out.println() 太多的前端语言的输出,
会大大的影响我们编写servlet的效率,所以,我们干脆在前端语言里面编写java程序,最后再转化为servlet程序,这样其实也会大大的给我们写代码提供提供便利。
也就是servlet操作方法里面的response对象给到响应有太多的前端语言,我们为了方法编写程序就用前端语言里面加入java程序,最后转换为servlet程序即可。
2.2 jsp是什么?
jsp里面就是前端语言里面插入java代码 。最后会被转化为servlet程序,其实本质就是servlet程序。
2.3如何使用jsp
jsp既然就是servlet的话,我们进行对比一下,也就是说我们需要有servlet的格式的东西 。而servlet程序其实就是一个继承了httpservlet的类里面编写doGet或者doPost方法。所以有变量的声明,有代码块的书写,有输出的语句,有注释的语句,有对全局的代码的导入。除了五个基本的语法使用还有九大jsp的对象使用。
1.变量声明:
JSP声明语句用于声明变量和方法。使用JSP声明语句声明变量时需要在”<%!”和”%>”标记之间放置Java变量的声明语句。变量的类型可以是Java语言中所提供的任意数据类型。也可以对应于java的定义属性的语句。使用JSP声明语句声明的变量将来会转换成Servlet类中的成员变量,这些变量在整个JSP页面中都有效,因此也被称为JSP页面的成员变量。声明的方法在整个JSP页面有效,方法内声明的变量只在方法内有效
<%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP声明语句示例</title>
</head>
<!--JSP声明语句 -->
<%!
public int a; //声明整型变量a
public String printStr(){ //声明方法printStr
return "JSP method";
}
%>
<body>
<%
out.println("a="+a); //输出a值
a++; //a自增
%>
<br>
<%
out.println(printStr()); //调用printStr()方法,输出其返回值
%>
</body>
</html>
2.代码块:
用<% %> 来圈入代码块,基本的代码都可以写入到里面。
<%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP Scriptlet</title>
</head>
<body>
<%
String str="JSP Scriptlet"; //声明字符串
out.println(str); //输出字符串的值
%>
</body>
</html>
3.输出:
*JSP*表达式,即在”<%=”和”%>”标记之间插入一个表达式,这个表达式必须能够求值,并且计算结果以*字符串*的形式发送到客户端显示出来。JSP表达式的值会作为HTML页面的内容。
如果表达式的值是一个字符串,则将表达式的值直接显示在页面上,否则会先将表达式转换为字符串。
<%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP 表达式</title>
</head>
<body>
<%!
String str="JSP expression"; //声明变量str
%>
<!--JSP表达式-->
<%=str%> //直接输出这个变量
</body>
</html>
4.注释:
1、JSP注释有两种,一种是可以在客户端显示的注释,称为*HTML**注释*。
表示形式: *<!--* *注释内容 -->*
2、一种是发送到服务器端,在客户端不能显示的注释,称为*JSP**注释*。
表示形式: *<%--**注释内容--%>*
<%@ page language="java"contentType="text/html" pageEncoding="UTF-8"%>
<html>
<head>
<title>JSP 表达式</title>
</head>
<body>
<!--JSP表达式-->
<%-- jsp注释 --%>
</body>
</html>
5.指令:
JSP指令:
JSP指令用来向JSP引擎提供编译信息。可以设置全局变量,如声明类、要实现的方法和输出内容的类型。一般的,JSP指令在整个页面范围内有效,且并不向客户端产生任何输出。所有的JSP指令都只在当前的整个页面中有效。与其书写的位置无关,一般写在最前面。
JSP指令有3类,分别是:
1、 *page**指令*称为页面指令,用来定义JSP页面的全局属性,该配置会作用于整个JSP页面。page指令用来指定所使用的脚本语言、导入指定的类及软件包等。
page指令
<%@ page language="java" contentType="text/html;charest=GBK"%>
<%@ page import="java.util.*, java.io.*, java.awt.*"%>
include指令
2、*include**指令*是文件加载指令,用于在JSP文件中插入一个包含文本或代码的文件。它把文件插入后与原来的JSP文件合并成一个新的JSP页面。还需要注意的是,如果被插入的文件发生了变化,则包含这个文件的JSP文件需要被重新编译。
<%@ include file="baozi.txt"%>
<%@ include file="baozi.html"%>
<%@ include file="baozi.jsp"%>
taglib指令
3、*taglib**指令*用来引用标签库并设置标签库的前缀。这个指令允许JSP页面使用用户自定义的标签,它也可以为标签库命名,标签在这个库中定义。
taglib有2个属性,uri用来指定标签文件或标签库的存放位置,prefix用来指定该标签库所使用的前缀。
<%@ pagelanguage="java" contentType="text/html"pageEncoding="UTF-8"%>
<%--声明要引用的标签库--%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<html>
<head>
<title>taglib标签</title>
</head>
<body>
<%--使用JSTL标签输出--%>
<c:out value="taglibexample!"/>
</body>
</html>
6.九大对象:
理解
9大内置对象分类 1.request(请求对象)
2.response(响应对象)
3.session(会话对象)
4.application(应用程序对象)
5.page(页面对象)
6.pageContext(页面上下文对象)
7.out(输出对象)
8.config(配置对象)
9.exception(异常对象)