Jsp中的三种注释方式+Jsp中的九大内置对象+Jsp四大域对象

Jsp中的三种注释方式

因为jsp的特殊性,所以他有三种注释方式

html 注释  <!-- 这是 html 注释 -->
Java注解   //这是一个java注解   /*这也是一个java注解*/
Jsp注解    <%-- 这是一个Jsp注解 --%>
  1. html 注释会被翻译到 java 源代码中,在_jspService 方法里,以 out.writer 输出到客户端,只能注释掉html代码
  2. java 注释会被翻译到 java 源代码中,只能注解掉java代码
  3. jsp 注释可以注掉,jsp 页面中所有代码

Jsp中的九大内置对象

Jsp中的内置对象,是指Tomcat在翻译Jsp页面称为Servlet源代码后,内部提供的九大对象叫做内置对象。在这里插入图片描述
在我们Tomcat在翻译Jsp页面后的Servlet源代码中都有
不过第九个需要我们page配置里面添加一个isErrorPage="true",第九个对象才能出现

Jsp四大域对象

在上面的九大对象中,有四个是域对象
分别是:

  1. pageContext (PageContextlmp类) 范围:当前jsp页面范围内有效
  2. request (HttpServletRequest类) 范围:一次请求有效
  3. session (HttpSession类) 范围:一次会话范围内有效(会话:即浏览器开启访问到服务器到关闭浏览器和服务器断开连接)
  4. application (ServletContext类) 范围:整个Web范围内都有效(只要Web工程不停止,数据都在)

他们都是域对象,域对象是可以像 Map 一样存取数据的对象
四个域对象功能一样。不同的是它们对数据的存取范围
我们来尝试尝试:
首先我们在一个页面中先设置我们的参数和值,左边是我们设置的即值在这里插入图片描述正常运行一下我们的页面,可以看到所有的参数值都打印了
下面我们先写一个test4.jsp
在这里插入图片描述
然后我们写一个页面跳转方法,下面是我们的test3.jsp页面
在这里插入图片描述看上面第一行显示的是null,说明我们已经超出我们的pageContext域范围了

然后我们重新在地址栏上面把test3.jsp改为test4.jsp再运行一次
在这里插入图片描述这就属于第二次的请求了,可以发现我们的request范围也超出了

然后我们复制我们的地址再关闭浏览器再重新打开再把地址粘贴上去,然后瞅瞅:
在这里插入图片描述第三个也成null了,说明session也超出它的范围了

然后我们重新部署一下我们的工程,然后刷新页面:在这里插入图片描述第四个也没了,application也超出范围了

虽然四个域对象都可以存取数据,在我们使用它们的时候要注意优先使用顺序
四个域在使用的时候,优先顺序分别是
他们从小到大的范围的顺序
pageContext > request > session > application
因为:一般我们能用小范围的就用小范围的,因为我们这些域对象存的数据也是在内存中的,小范围存储的数据对服务器压力最小,速度最快

猜你喜欢

转载自blog.csdn.net/qq_45821251/article/details/110650462