细说JSP

网友投稿 648 2022-05-30

文章目录

JSP:入门学习

1. 概念:

2. 原理

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

4. JSP的内置对象:

5. 案例:改造Cookie案例

6. 指令

JSP:入门学习

1. 概念:

Java Server Pages: java服务器端页面

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

用于简化书写!!!

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

细说JSP

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的运行机制
相关文章