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.HttpServletRequest | request |
response响应对象 | javax.servlet.http.HttpServletResponse | response |
pageContext | javax.servlet.jsp.PageContext | page |
session一次会话客户端与服务器的一次通讯 | javax.servlet.http.HtpSession | session |
application | javax.servlet.jsp.ServletContext | application |
out输出流对象 | javax.servlet.jsp.JspWriter | page |
config | javax.servlet.ServletConfig | page |
page | java.lang.Object | page |
exception | java.lang.Throwable | page |
(页面直接使用,无需创建)
-
session:
HttpSession,代表了一次会话,会话,相当于客户端和服务器的一次通讯过程
会话建立:第一次向服务器发送请求的时候
会话结束:浏览器关闭的时候
-
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)!