细说JSP

网友投稿 706 2022-05-30

文章目录

JSP:入门学习

1. 概念:

2. 原理

3. JSP的脚本:JSP定义Java代码的方式

4. JSP的内置对象:

5. 案例:改造Cookie案例

6. 指令

JSP:入门学习

1. 概念:

Java Server Pages: java服务器端页面

可以理解为:一个特殊的页面,其中既可以指定定义html标签,又可以定义java代码

用于简化书写!!!

细说JSP

2. 原理

JSP本质上就是一个Servlet

3. JSP的脚本:JSP定义Java代码的方式

<% 代码 %>:定义的java代码,在service方法中。service方法中可以定义什么,该脚本中就可以定义什么。

<%! 代码 %>:定义的java代码,在jsp转换后的java类的成员位置。(少,安全考虑)

<%= 代码 %>:定义的java代码,会输出到页面上。输出语句中可以定义什么,该脚本中就可以定义什么。

4. JSP的内置对象:

在jsp页面中不需要获取和创建,可以直接使用的对象

jsp一共有9个内置对象。

request

response

out:字符输出流对象。可以将数据输出到页面上。和response.getWriter()类似

response.getWriter()和out.write()的区别:

在tomcat服务器真正给客户端做出响应之前,会先找response缓冲区数据,再找out缓冲区数据。

response.getWriter()数据输出永远在out.write()之前

5. 案例:改造Cookie案例

<%@ page import="java.util.Date" %> <%@ page import="java.text.SimpleDateFormat" %> <%@ page import="java.net.URLEncoder" %> <%@ page import="java.net.URLDecoder" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> itcast <% //1.获取所有Cookie Cookie[] cookies = request.getCookies(); boolean flag = false;//没有cookie为lastTime //2.遍历cookie数组 if(cookies != null && cookies.length > 0){ for (Cookie cookie : cookies) { //3.获取cookie的名称 String name = cookie.getName(); //4.判断名称是否是:lastTime if("lastTime".equals(name)){ //有该Cookie,不是第一次访问 flag = true;//有lastTime的cookie //设置Cookie的value //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); System.out.println("编码前:"+str_date); //URL编码 str_date = URLEncoder.encode(str_date,"utf-8"); System.out.println("编码后:"+str_date); cookie.setValue(str_date); //设置cookie的存活时间 cookie.setMaxAge(60 * 60 * 24 * 30);//一个月 response.addCookie(cookie); //响应数据 //获取Cookie的value,时间 String value = cookie.getValue(); System.out.println("解码前:"+value); //URL解码: value = URLDecoder.decode(value,"utf-8"); System.out.println("解码后:"+value); %>

欢迎回来,您上次访问时间为:<%=value%>

<% break; } } } if(cookies == null || cookies.length == 0 || flag == false){ //没有,第一次访问 //设置Cookie的value //获取当前时间的字符串,重新设置Cookie的值,重新发送cookie Date date = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); String str_date = sdf.format(date); System.out.println("编码前:"+str_date); //URL编码 str_date = URLEncoder.encode(str_date,"utf-8"); System.out.println("编码后:"+str_date); Cookie cookie = new Cookie("lastTime",str_date); //设置cookie的存活时间 cookie.setMaxAge(60 * 60 * 24 * 30);//一个月 response.addCookie(cookie); %>

您好,欢迎您首次访问

<% } %>

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

6. 指令

作用:用于配置JSP页面,导入资源文件

格式:

<%@ 指令名称 属性名1=属性值1 属性名2=属性值2 ... %>

分类:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

page: 配置JSP页面的

contentType:等同于response.setContentType()

设置响应体的mime类型以及字符集

设置当前jsp页面的编码(只能是高级的IDE才能生效,如果使用低级工具,则需要设置pageEncoding属性设置当前页面的字符集)

import:导包

errorPage:当前页面发生异常后,会自动跳转到指定的错误页面

isErrorPage:标识当前也是是否是错误页面。

true:是,可以使用内置对象exception

false:否。默认值。不可以使用内置对象exception

include : 页面包含的。导入页面的资源文件

<%@include file="top.jsp"%>

taglib: 导入资源标签

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

prefix:前缀,自定义的

注释:

html注释:

:只能注释html代码片段

jsp注释:推荐使用

<%-- --%>:可以注释所有

. 内置对象

在jsp页面中不需要创建,直接使用的对象

一共有9个:

Java JSP

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python函数(一)
下一篇:Docker的运行机制
相关文章