jsp 的介绍(什么是jsp、作用、语法、page指令、静态包含)

1.什么是jsp,它有什么用?

jsp的全称是java server pages。是Java的服务器页面。
jsp的主要作用是代替Servlet程序回传html页面的数据。
因为Servlet程序回传html页面数据是一件非常繁琐的事情、开发成本和维护成本都极高。

2.jsp如何访问?

jsp页面和html页面一样,都是存放在web目录下,访问也跟访问html页面一样。

比如:
在web目录下有如下的文件:
web目录
a.html页面 访问地址是======>>>>>> http://ip:port/工程路径/a.html
b.jsp页面 访问地址是======>>>>>> http://ip:port/工程路径/b.jsp

3.jsp的本质是什么?

jsp页面的本质上是一个Servlet程序。
原因:
当我们第一次访问jsp页面时,Tomcat服务器会帮我们把jsp页面翻译成为一个java源文件,并且对它编译成为.class字节码程序。我们打开java源文件不难发现其里面的内容是:

我们跟踪源代码发现,HttpJspBase类。它直接继承了HttpServlet类。也就是说,jsp翻译出来的java类,间接继承了HttpServlet类,也就是说,翻译出来是一个Servlet程序。

总结:通过翻译的java源代码我们就可以得到结果:jsp就是Servlet程序。

大家也可以去观察翻译出来的Servlet程序的源代码,不难发现,其底层实现,也是通过输出流,把html页面数据回传给客户端。

4. jsp的三种语法

a)jsp头部的page命令
jsp的page指令可以修改jsp页面中的一些在重要的属性或者行为。
<%@ page contentType=“text/html;charset=UTF-8” language=“java” %>

b)jsp中的常用脚本
i. 声明脚本(极少使用)
声明脚本的格式是: <%! 声明java代码%>
作用:
可以给jsp翻译出来的java类定义属性和方法甚至是静态代码块、内部类等。

1.声明类属性
2.声明static静态代码块
3.声明类方法
4.声明内部类
<%@ page import="java.util.Map" %>
<%@ page import="java.util.HashMap" %><%--
  Created by IntelliJ IDEA.
  User: Administrator
  Date: 2020/7/18
  Time: 8:58
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>

<%--练习:
    1.声明类属性
	2.声明static静态代码块
	3.声明类方法
	4.声明内部类
--%>
<%--1.声明类属性--%>
    <%!
        private Integer id;
        private String name;
        private static Map<String,Object> map;
    %>
<%--2.声明static静态代码块--%>
    <%!
        static{
        map=new HashMap<String,Object>();
        map.put("key1","value1");
        map.put("key2","value2");
        map.put("key3","value3");
        }
    %>
<%--3.声明类方法--%>
<%!
    public int abc(){
        return 12;
    }
%>
<%--4.声明内部类--%>
<%!
    public static class A{
        private Integer id=12;
        private String abc="abc";
    }

%>
</body>

</html>

ii. 表达式脚本(常用)
表达式脚本的格式是:<%=表达式%>
表达式脚本的作用是:在jsp页面上输出数据。

表达式脚本的特点

	1.所有的表达式脚本都会被翻译到_jspService方法中
	2.表达式脚本都会被翻译成为out.print()输出到页面上
	3.由于表达式脚本翻译的内容都在_jspService()方法中,所以_jspService()方法中的对象都可以直接使用。
	4.表达式脚本中的表达式不能以分号结束。

练习:

	1.输出整型
	2.输出浮点型
	3.输出字符串
	4.输出对象
<%=12 %><br>
<%=12.12%><br>
<%="我是字符串"%><br>
<%=map%><br>
<%=request.getParameter("username")%>

浏览器结果:

iii.代码脚本
代码脚本的格式:
<%
java语句
%>
代码脚本的作用是:可以在jsp页面中,编写我们自己需要的功能(写的是java语句)。

	代码脚本的特点是:
			1.代码脚本翻译之后都在_jspService方法中
			2.代码脚本由于翻译到_jspService()方法中,所以在_jspService()方法中的现有对象都可以直接使用。
			3.还可以由多个代码脚本块组合完成一个完整的java语句。



6.jsp中的out输出和response.getWriter输出的区别

response中+表示响应,我们经常用于设置返回给客户端的内容(输出)
out也是给用户做输出使用的。

7.jsp常用标签之静态包含

全部评论

相关推荐

Natrium_:这时间我以为飞机票
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务