Jsp— java server page(他是运行运行在你的服务器端的页面程序)—他就是jsp必须放入到你的tomcat服务器中去运行; jsp他是servlet的后期发展需要的时候来的一个东西;—他是为了解决我们servlet没办法把数据直接显示在你的页面;就出现一个jsp ,他是用来对你的数据进行显示用的; 并且还有了能够同时写(html,css,js,java这些都可以直接写在jsp中;) jsp是在你的servlet之后出现的。
特点:
缺点:
运行原理:
JSP生命周期就是从创建到销毁的整个过程,类似于servlet生命周期,区别在于JSP生命周期还包括将JSP文件编译成servlet。----jsp必须使用 tomcat来转换你的jsp,把你的jsp转换成servlet;
<%
Date date = new Date();
%>
<%=date%>
注释
声明全局变量,注意这个感叹号
<%!
int i = 0;
%>
指令 | 描述 |
---|---|
<%@ page … %> | <%@ page … %> 定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等 |
<%@ include … %> | 包含其他文件 |
<%@ taglib … %> | 引入标签库的定义,可以是自定义标签 |
page指令的属性:
import:在jsp中导包
errorPage:当页面出现错误以后,要转发到的错误页面
isErrorPage:当前页面是否是一个错误页面,默认为false,如果设置为true,则可以在该页面中使用exception对象
isELIgnored:是否忽略EL表达式,默认值是false,一般不动
session:JSP中是否会自动创建session,默认值是true,一般不动
contentType:设置当前JSP内容的类型
pageEncoding:当前页面使用的编码,jsp引擎会自动根据该编码解析jsp文件
language:JSP页面将会被翻译为的语言,默认值是java,可选值只有一个java
autoFlush:是否自动刷新流中内容,默认是true,一般不动
buffer:流使用的缓存大小,默认是8kb,一般不动
extends:当前JSP对应的java文件需要继承的父类,一般不动
info:设置jsp的信息
include指令—他用来引入另一个文件;
Taglib指令—引入外部标签库; 用他来引入 jstl;
<%@ taglib prefix=“c” uri=“http://java.sun.com/jsp/jstl/core” %>
语法 | 描述 |
---|---|
jsp:include | jsp:include 用于在当前页面中包含静态或动态资源 |
jsp:useBean | jsp:useBean 寻找和初始化一个JavaBean组件 |
jsp:setProperty | 设置 JavaBean组件的值 |
jsp:getProperty | jsp:getProperty 将 JavaBean组件的值插入到 output中 |
jsp:forward | jsp:forward 从一个JSP文件向另一个文件传递一个包含用户请求的request对象 |
jsp:plugin | 用于在生成的HTML页面中包含Applet和JavaBean对象 |
jsp:element | jsp:element 动态创建一个XML元素 |
jsp:attribute | jsp:attribute 定义动态创建的XML元素的属性 |
jsp:body | jsp:body 定义动态创建的XML元素的主体 |
jsp:text | 用于封装模板数据 |
这里说明一下
这是html页面的form表单
这是jsp页面代码:
<%-- 获取页面的数据,并存放在user类中--%>
<%-- 取数据在页面显示--%>
用户名:
密码:
语法 | 描述 |
---|---|
request | HttpServletRequest类的实例 |
pageContext | 页面上下文对象,它是最后一个没讲的域对象; |
response | HttpServletResponse类的实例 |
out | PrintWriter类的实例,用于把结果输出至网页上 |
session | session HttpSession类的实例 |
application | application ServletContext类的实例,与应用上下文有关 |
config | ServletConfig类的实例 |
page | 类似于Java类中的this关键字 |
Exception | Exception类的对象,代表发生错误的JSP页面中对应的异常对象 |
String name= request.getParameter("name");
response.sendRedirect("index03.jsp");
out.print(name);
<%
//设置会话的值
session.setAttribute("user","value");
%>
<%-- 获取 值并打印到页面--%>
<%=session.getAttribute("user")%>
<%
application.setAttribute("user","values");
%>
这是index01.jsp中代码,在这个jsp中也可以访问到application中的值。
<%= application.getAttribute("user")%>