JSP初步理解

目录

 第一章 什么是jsp

 第二章 jsp脚本和注释

2.1 JSP脚本

2.2 JSP注释

第三章 jsp的指令

3.1 page指令

3.2 include指令

3.3 taglib指令

  第四章 jsp的九大隐式对象

4.1 out对象

4.2 pageContext

4.2.1 获得其他8大隐式对象

 第五章 jsp的标签

5.1 页面包含

5.2 请求转发


                                            第一章 什么是jsp

jsp的本质是servlet,在第一次被访问时会被web容器翻译成servlet.

我们的jsp会被编译成class文件到tomcat下的work文件目录中,就是jsp名+_jsp+class或java

所以jsp之所以能变成html其实就是利用out向输出流里写出了一个html页面的代码.

例如:当往jsp中写入东西的时候,如在body中写入xxxx在转成的java文件中会是

当访问某个jsp资源时,会先去work底下寻找是否存在对应的servlet文件,如果没有会进行翻译

可以看到tomcat下conf下的web.xml文件中存在jsp映射,会将jsp映射给jspservlet进行翻译

扩展:shift+T可以快速打开某个文件的源码

                                         第二章 jsp脚本和注释

2.1 JSP脚本

<%      %>里面可以写java代码

<%=    %>里面写java变量和表达式,可以在页面上进行显示

<%!     %>里面也可以写java代码

代码:

 <%      %>中的代码会被直接写在jsp转成的java文件里的service方法中.

 <%=    %>中的变量和表达式会被写在out里返回,out也在service方法中

<%!     %>里面的java代码虽然也会直接被写在java文件里,但是位置和<%     %>不一样,<%!     %>的代码在类名的下面成为servlet的成员.

如果是这样的话就能在<%!     %>中写入方法了.

2.2 JSP注释

代码示例: 

 注释区别:

这个注释会原封不动的被out输出到html里,可见范围 jsp源码,翻译后的servlet,页面显示html代码.

//与/**/注释会直接显示在jsp转成java文件中,可见范围 jsp源码,翻译后的servlet.

 jsp注释:只在jsp源码中可见看见,所以是最安全的.

                                           第三章 jsp的指令

3.1 page指令

3.2 include指令

这是静态包含,直接将两个页面拼凑在一起,servlet,service中的代码为:

应用举例:

3.3 taglib指令

应用举例:

小知识:alt+/可以代码提示

                                     第四章 jsp的九大隐式对象

4.1 out对象

out对象会先输入到out缓冲区,然后再存储到response缓冲区,而response.getwriter.write的对象会直接输入到response缓冲区,所以有时即使在jsp中response.xxx的内容在后面,也会搬到前面来输出.

4.2 pageContext

pageContext代表当前页面的上下文对象

扩展:存到session域中的要删除的话要么显式删除,要么清除缓存,存到application域中的要么山粗,要么重启服务器.

4.2.1 获得其他8大隐式对象

                                           第五章 jsp的标签

5.1 页面包含

这个标签指令的包含是动态包含:

动态是先将两个页面分别进行翻译,然后再拼在一起.

5.2 请求转发

猜你喜欢

转载自blog.csdn.net/q610376681/article/details/83546728