JSP

一、JSP(JAVA Sever page)

从用户看待–网页
从程序猿看待–java类继承了servlet

jsp和html的区别:

html:大多数显示静态内容。
jsp:里面可以写java代码,动态改变东西可以展示在页面内。

我们在web文件内新建JSP文件(初始):

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

</body>
</html>

二、 page指令(第一行)

分析第一行的<%%>代码

1
2
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
  1. language:表明jsp页面用什么书写(java)
    1
    language="java"
  2. contentType:表明什么类型的文件,用什么编码(response里面文字编码就用的这个)
    1
    contentType="text/html; charset=UTF-8"
  3. pageEncoding:jsp内容编码(body里面的内容)
    1
    pageEncoding="UTF-8"
  4. extends:用于指定jsp翻译成java文件后,继承的父类是谁,一般不用改。
  5. import:导包使用的,一般不用手写。
    1
    <%@ import.java.util %>
  6. *session *:
    1
    session="true/false"

    用于控制在这个jsp页面里面,能够直接使用session对象。
    如果是true:那么会有getSession()的调用,
    如果是false:那么就不会有该方法调用,也就是没有session对象了。在页面上自然也就不能使用session了。

  7. errorPage:指的是错误的页面,值需要给错误的页面路径
  8. isErrorPage:上面的errorPage 用于指定错误的时候跑到哪一个页面去。 那么这个isErroPage , 就是声明某一个页面到底是不是错误的页面。

三、include指令(包含其他的jsp内容)

包含另外一个jsp的内容(也包括标签元素的内容)进来。

1
<%@ include file="other02.jsp" %>

四、taglib指令

1
<%@ taglib prefix=""  uri=""%>

perfix: 标签库路径
uri: 标签库路径


五、JSP动作标签(只介绍三个)

1
2
3
4
5
<jsp:include page=""></jsp:include>

<jsp:param value="" name=""/>

<jsp:forward page=""></jsp:forward>

jsp:include(包含)

包含指定的页面,这里是动态包含而是把它的运行结果拿过来。

1
2
3
4
5
//include动作标签(运行结果):
<jsp:include page="other02.jsp"></jsp:include>

//include指令(标签元素):
<%@ include file="other02.jsp" %>

jsp:forward(跳转)##

1
2
3
4
5
6
//jsp动作标签
<jsp:forward page="other02.jsp"></jsp:forward>
//可以用请求转发(request)替换
<%
request.getRequestDispatcher("other02.jsp").forward(request, response);
%>

jsp:param(添加参数)

意思是: 在包含某个页面的时候,或者在跳转某个页面的时候,加入这个参数。

1
2
3
4
5
6
7
	
<jsp:forward page="other02.jsp">
<jsp:param value="beijing" name="address"/>
</jsp:forward>

//在other02.jsp中获取输出参数
<%= request.getParameter("address")%>

六、JSP内置对象(JSP页面直接使用)

九个JSP内置对象整体概述

第一部分:四个作用域

  • pageContext 【PageContext】
  • request    【HttpServletRequest】
  • *session *    【HttpSession】
  • application  【ServletContext】

第二部分:两个对比

  • out     【JspWriter】
  • response   【HttpServletResponse】
    如果同时拥有response和out的输出,那么会把out整合到response里面。先输出response的,后是out的

第三部分:不常用
-** exception** 【Throwable】

  • page    【Object】 就是这个jsp翻译成的java类的实例对象
  • config   【ServletConfig】

四个作用域:

pageContext 【PageContext】
  request   【HttpServletRequest】
  session   【HttpSession】
application 【ServletContext】

这些对象可以存值(setAttribute),但是他们的取值范围(getAttribute)有限定.

1
2
3
4
5
6
7
8
9
10
11
12
13
存储<br>
<%
pageContext.setAttribute("name", "page");
request.setAttribute("name", "request");
session.setAttribute("name", "session");
application.setAttribute("name", "application");
%>

取出<br>
<%=pageContext.getAttribute("name")%>
<%=request.getAttribute("name")%>
<%=session.getAttribute("name")%>
<%=application.getAttribute("name")%>

四个作用域的大小

  • pageContext 【PageContext】

仅限于当前的页面

还可以获取到其他八个内置对象。

  • request 【HttpServletRequest】

仅限于一次请求,只要服务器对该请求做出了响应。 这个域中存的值就没有了。

  • session 【HttpSession】

限于一次会话(多次请求与响应)当中。

  • application 【ServletContext】

整个工程都可以访问,服务器关闭后就不能访问了。

×

纯属好玩

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

文章目录
  1. 1. 一、JSP(JAVA Sever page)
  2. 2. 二、 page指令(第一行)
  3. 3. 三、include指令(包含其他的jsp内容)
  4. 4. 四、taglib指令
  5. 5. 五、JSP动作标签(只介绍三个)
    1. 5.1. jsp:include(包含)
    2. 5.2. jsp:forward(跳转)##
    3. 5.3. jsp:param(添加参数)
  6. 6. 六、JSP内置对象(JSP页面直接使用)
    1. 6.1. 九个JSP内置对象整体概述
    2. 6.2. 四个作用域:
    3. 6.3. 四个作用域的大小
,