Jsp

本文介绍了JSP的基本概念,包括不同类型的注释、声明、脚本和表达式的使用方式,以及JSP如何被转换为Servlet并运行的过程。此外,还详细解释了九大内置对象的功能与应用场景,并探讨了四种域对象之间的数据共享机制。
摘要由CSDN通过智能技术生成

jsp注释(隐式注释)

  • jsp语法

1.jsp声明<%!    >

只能声明变量  声明方法  不能写代码块

类中    只执行一次

2.jsp脚本<%   %>

只能写代码块,不能声明方法

service()方法中   每次发起请求都会执行

3.jsp表达式<%=  %>

只能写表达式  把内容显示到浏览器界面上

方法参数中  每次发起请求都会执行

4.jsp运行原理

把工程部署到服务器上后,第一次向jsp发起请求,jsp引擎会将jsp文件转换成java文件(servlet文件)

在编译成.class文件 在浏览器中访问jsp时,执行的是.class文件

jsp九大内置对象

request    HttpServletRequest  请求

response  HttpServletResponse  响应

out     JspWriter   带有缓冲区的输出流

session   HttpSession    会话

application     ServletContext   应用程序对象

config    ServletConfig          每个界面都有的配置对象

pageContext      PageContext   当前页面对象,通过此对象可以获取到其他八个内置对象

page     Object              相当于this

exception          Exception      异常

request.getMethod

jsp指令:<%@  指令名   属性名=属性值....%>

1.page指令      对当前界面的配置

buffer:输出流缓冲区的大小

errorPage:错误界面

import:导包

session:是否提供session对象

2.include指令    包含一个界面

file  界面路径

3.taglib指令    引入标签库


<%@ page import="java.io.PrintWriter"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8" buffer="8kb" errorPage="error.jsp" isErrorPage="true"
    session="true"%> 







<%
		//out  ---- JspWriter  带有缓冲区的输出流
		//PrintWriter   普通输出流
		out.write("张三");
		out.write("<h3>你好</h3>");
		out.print("123456");
		
		PrintWriter writer =  response.getWriter();
		writer.write("hello");
		
		//session.setAttribute("name", "aaa");
		
	%>

四大域对象

<%-- 四大域对象:
	application    ServletContext   应用程序对象
			程序运行期间,在任何时间,在任何文件中都可以获取到存入的数据
	session		HttpSession			会话
			在同一次会话期间,在任何文件中都可以获取到存入的数据
	request     HttpServletRequest   请求
			在同一次请求期间有效, 只能在请求转发的两个界面中共享数据
	pageContext   PageContext     页面对象
			只能在当前界面中使用数据
	
	--%>
	
	
	<%
	application.setAttribute("page", "application");
	session.setAttribute("page","session");
	request.setAttribute("page", "request");
	pageContext.setAttribute("page", "pageContext");
	
	//response.sendRedirect("two.jsp");
	request.getRequestDispatcher("two.jsp").forward(request, response);
	
	
	%>

findAtrribute()

<!--  
		findAtrribute()从四个作用域中依次查找对应的属性数据,
		如果查找到数据就返回,如果没有找到,继续去下一个域中查找
		如果四个域中都没有,返回null
		
		优先级:
		pageContext > request > session > application
	 -->



	application: <%=application.getAttribute("page") %>
	<br/>
	session:<%=session.getAttribute("page") %>
	<br/>
	request:<%=request.getAttribute("page") %>
	<br/>	
	pageContext:<%=pageContext.getAttribute("page") %>


    

    findAtrribute:   <%=pageContext.findAttribute("page") %>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值