二十八、jsp基础篇

一、了解jsp页面

eg:显示系统当前时间的jsp页面

<%@page import="java.util.Date"%>
<%@page import="java.text.SimpleDateFormat"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>显示时间的jsp页面</title>
</head>
<body>
	<%
		//获取日期对象
		Date date = new Date();
		//设置日期格式
		SimpleDateFormat df = new SimpleDateFormat("yy-MM-dd HH:mm:ss");
	    //获取当前系统的时间
		String today = df.format(date);
	%>
当前时间为:<%=today %>  <!-- 输出系统时间 -->
</body>
</html>

运行结果:
在这里插入图片描述
在这里插入图片描述
1.指令标识:
定义:指令标识主要用于设定在整个jsp页面范围内的有效信息,它是被服务器解释并执行的,不会产生任何内容输出到网页。

语法:

<%@指令名 属性名1=“属性值1” 属性2=“属性值2” …%>

参数说明:
指令名包括3条指令:page、taglib、include。

1.1 page常用的属性

language:设置jsp语言,目前只支持Java。

extends:设置jsp页面继承的Java类。

import:设置jsp导入的类包。

pageEncoding:设置jsp的编码格式。

contentType:设置jsl页面的类型和字符编码。

session:设置jsp是否使用session会话对象。

1.2 include指令

定义:通过该指令可以在一个jsp页面中包含另一个jsp页面。不过是静态包含。(好处:大大提高代码的重用性)
ag:<%@include file=“xx.jsp” %>

1.3 taglib指令

定义:可以通过该指令标识声明该页面中所使用的标签库。
ag:<%@taglib prefix=“前缀命名” uri=“文件存放位置” %>

二、脚本标识

2.1 jsp表达式

语法:<%=表达式%>
在这里插入图片描述
运行截图:
在这里插入图片描述

2.2声明标识

定义:用于在jsp页面中定义全局的变量或者方法。

语法:<%! 声明变量或者方法的代码 %>

2.3 代码片段

<% 代码片段 %>

三、注释

3.1 HTML注释:

< !-- 注释 – >

3.2 jsp注释:
单行注释
多行注释
隐藏注释:在浏览器查看源码时,也看不见。<%-- 注释 --%>

四、动作标识

4.1 包含文件标识 < jsp:include >
定义:通过此标识可以向当前页面中包含其他文件。

4.2 请求转发标识 < jsp:forward >
定义:转发到其他的web资源,比如:另一个jsp、html、servlet等。

4.3 传递参数标识 < jsp:param >
格式: <jsp: param name=“参数名” value=“参数值”>

五、jsp内置对象

定义:也可以成为隐含对象,这些对象不需要在所有的jsp页面中都进行实例化就可以直接使用,从而起到了简化页面的作用.

5.1 request对象

定义:request对封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的方法可以处理客户端浏览器提交的HTTP请求的各项参数。

5.1.1 访问请求参数
eg:< a href=“deal.jsp?id=1”>删除< /a>
说明:本实例中,设置一个请求参数。如果要同时使用指定多个参数,那么各参数间使用“&”即可。
index.jsp
在这里插入图片描述
deal.jsp
在这里插入图片描述
运行结果:在这里插入图片描述

5.1.2 在作用域中管理属性

在请求转发时,需要把一些数据传递到转发后的页面进行处理。
语法格式:

request.setAttribute(String name,Object object);

参数说明:
name:标识变量名,为String类型。在转发后的页面中,就是通过这个变量名来获取的。
object:用于指定需要request范围内传递的数据,为object类型。

在将数据保存到request范围内的变量中,可以通过request对象的getAttribute()方法获取该变量的值。
语法格式:

request.getAttribute(String name);

eg:通过setAttribute()方法保存变量,并且应用request对象的getAttribute()方法读取request范围内的变量。
index.jsp
在这里插入图片描述
deal.jsp
在这里插入图片描述
运行结果:
在这里插入图片描述

5.1.3 获取cookie(不是内置对象)

定义:cookie是小段的文本信息,在网络服务器上生成,并发送给浏览器。通过cookie可以标识用户身份,记录用户名和密码,跟踪用户重复等。浏览器将cookie以key/value的形式保存到客户机的某个指定目录。

方法:
getCookies():获取到所有cookie对象的集合。
getName():获取到指定名称的cookie。
getValue():获取到cookie对象的值。

eg:通过cookie保存并读取用户登录信息。
date.jsp
在这里插入图片描述
deal.jsp
在这里插入图片描述
运行结果:
在这里插入图片描述
在这里插入图片描述

5.2 response对象

定义:用于响应客户请求,向客户端输出信息,它封装了jsp产生的响应,并发送到客户端以响应客户端的请求。

5.2.1 重定向网页

定义:使用response对象提供的sendRedirect()方法可以将网页重定向到另一个页面。

语法格式:

response.senRedirect(String path);

5.2.2 处理HTTP文件头

1.禁用缓存

<%
response.setHeader(“Cache-Control”, “no-store”);
response.setDateHeader(“Expries”, 0);
%>

2.设置页面自动刷新

<%
response.setHeader(“refresh”, “10”);//每隔10秒自动刷新
%>

3.定时跳转网页

<%
response.setHeader(“refresh”, “5;URL=login.jsp”);//5秒后自动跳转到login.jsp页面
%>

5.3 session对象

定义:session在网络中被称为会话。HTTP协议是一种无状态协议,也就是当一个客户端向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器并不保存相关的信息。而通过session可以当用户在应用程序web页面进行跳转时,保存用户的状态,使整个用户会话一直存下去,直至关闭浏览器。

5.3.1 创建及获取客户的会话

1.setAttribute()方法
格式:

session.setAttribute(String name,Object object)

2.getAttribute()方法
格式:

session.getAttribute(String name)

5.3.2 从会话中移动指定的绑定对象

removeAttribute()方法:
格式:

session.removeAttribute(String name)

5.3.3 销毁session

格式:

session.invalidate();

eg:
index.jsp
在这里插入图片描述
session.jsp
在这里插入图片描述
result.jsp
在这里插入图片描述
运行截图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

5.4 application对象

定义:用于保存所有应用程序中的公有数据。在服务器启动时自动创建,在服务器停止时销毁。当没有被销毁时,所有用户可以共享application对象,与session相比,他的生命周情况更长。

方法:
1.getInitParameter()方法:返回一个已命名的参数值。
格式:

application.getInitParameter(String name);

2.getAttributeNames()方法:返回所有已定义的应用程序初始化参数的枚举。
格式:

application.getAttributeNames();

3.getAttribute(String name):从application对象中获取指定的对象名。

4.setAttribute(String name,Object obj):使用指定名称和指定对象在application对象中进行关联。

5.removeAttribute(String name):从application对象中去掉指定名称的属性。

5.5 Out对象

1.print()方法
2.println()方法

管理响应冲突
out对象的另一个比较重要的功能就是对缓冲区进行管理。
在这里插入图片描述

5.6 其他内置对象

1.获取会话范围的pageContext对象
在这里插入图片描述
2.读取web.xml配置信息的config对象
在这里插入图片描述
3.应答或请求的page对象
在这里插入图片描述
4.获取异常信息的exception对象
在这里插入图片描述

发布了46 篇原创文章 · 获赞 41 · 访问量 8424

猜你喜欢

转载自blog.csdn.net/weixin_42635052/article/details/100797752