自学内容网 自学内容网

3.JSP入门(内置对象和作用域)

JSP入门

一、 JSP简介

1.概念

Sun公司推出的新一代站点开发语言,解决了目前ASP、PHP的一个通病——脚本级执行。Java Server Page技术,Servlet和JavaBean的支持下,完成功能强大的站点程序。

2.特点:

  • 将内容的生成和显示相分离
  • 强调可重用的组件
  • 采用标识简化页面开发

二、JSP执行原理

JSP 页面(.jsp)---->Servlet源文件(.java)---->Servlet类(*.class)--------->执行service方法给客户端进行响应

<!--设置jsp页面属性; 响应内容的编码格式,jsp页面的编码格式--> 
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
 <html>
   <head>
     <title>
     欢迎光临
     </title>
   </head>
   <body bgcolor="#ffffff">
     <!--java代码块-->
   <% 
    java.util.Date now = new java.util.Date();
    out.println("当前时间是:"+now);
    %>
     <h1>
     你好,这就是一个JSP页面,简单不?
     </h1>
   </body>
 </html>

1.JSP页面组成

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

<!--表达式-->
<%=session.getAttribute("name")%>
<!--代码块-->
<%
session.setAttribute("name","tom");
//request.getRequestDispatcher("session1.jsp").forward(request,response);
%>
<!--声明-->
 <%! int i = 0; %>
 <%! int a, b, c; %>
 <%! Circle a = new Circle(2.0); %>
 <%@page import="java.util.Date"%>
 <%@ page language="java" contentType="text/html; charset=UTF-8"
     pageEncoding="UTF-8" %>
 <!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <title>Insert title here</title>
 </head>
 <body>
 ​
 <%!
     String msg="abcde";
     public void test(){
 ​
     }
 %>
 <%
     Date d=new Date();
     //out.print(d);
     test();
 %>
 ​
 <%=d%>
 </body>
 </html>

三、内置对象

JSP 内置对象是 Web 容器加载的一组类它不像一般的Java对象那样用”new”去获取实例,而是可以直接在JSP页面使用的对象, 内置对象的名称是 JSP 的保留字,JSP 使用 Java 定义的内置对象来访问网页的动态内容。

内置对象类型作用域
request请求对象javax.servlet.http.HttpServletRequestrequest
response响应对象javax.servlet.http.HttpServletResponseresponse
pageContextjavax.servlet.jsp.PageContextpage
session一次会话客户端与服务器的一次通讯javax.servlet.http.HtpSessionsession
applicationjavax.servlet.jsp.ServletContextapplication
out输出流对象javax.servlet.jsp.JspWriterpage
configjavax.servlet.ServletConfigpage
pagejava.lang.Objectpage
exceptionjava.lang.Throwablepage

(页面直接使用,无需创建)

  1. session:

    HttpSession,代表了一次会话,会话,相当于客户端和服务器的一次通讯过程

    会话建立:第一次向服务器发送请求的时候

    会话结束:浏览器关闭的时候

  2. application:

    ServletContext类型,和整个web应用关联;

    • 生命周期开始与应用启动,结束于应用停止或者web应用重新加载的时候

    • 在web项目运行期间只有一个,全局共享,在Servlet中可以按照如下方式得到

      ServletContext context=req.getServletContext();

    • 底层是一个map结构,可以存放数据,存放的数据全局共享,可以实现多个Servlet之间的通信 存数据

四.作用域

1.作用域范围:

在一个页面范围内:page
在一次服务器请求范围内:request

  • 一次请求有效,请求转发失效

在一次会话范围内:session

  • 一次会话中的多个请求需要共享数据,可以放到session中 session.setAttribute()

在一个应用服务器范围内:application

  • web项目运行期间全局有效 application.setAttribute()
  • 一次会话中的多个请求需要共享数据,可以放到session中 session.setAttribute()

在一个应用服务器范围内:application

  • web项目运行期间全局有效 application.setAttribute()

原文地址:https://blog.csdn.net/m0_61086522/article/details/140506668

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!