JSP

JSP

JSP的注释

显示注释,这种注释是允许客户端看见的;
隐式注释,此种注释是客户端无法看见的
① 显示注释语法:从 HTML 风格继承而来
② 隐式注释语法:从 JAVA 风格继承;JSP 自己的注释

JSP 的三种注释方式:
1) // 注释,单行注释 /* 多行注释*/
2)
3)<%-- JSP注释 --%>

Scriptlet脚本段

JSP中一种有三种Scriptlet(脚本小程序):
1、Java脚本段:<% %>
可以声明局部变量;生成的代码在servlet的service方法体中

2、声明:<%! %>
可以声明全局变量、方法、类;生成的代码在Servlet类体中

3、输出表达式:<%= %>
可以输出变量或字面量;生成的代码在servlet的service方法体中

<%
	int a = 1; // 定义局部变量
	int b = a + 10;
	// int aa =  1/0;
%>
<%!
	int c = 1; // 全局变量
%>
<%=a %>
<br>
<%=a+b %>
<br>
<%=100 %>

Page指令

JSP 的指令标签用来控制整个 jsp 的行为,就当前 JSP 页面的某些方面对 JSP 转换器作出指示。

page指令
格式:<%@ page 属性名=“属性值” 属性名=“属性值” %>
常用属性:
language:支持的语言,目前只支持Java
contentType:设置响应MIME类型及编码格式
pageEncoding:编码格式

页面的编码格式会以contentType属性中的charset的值为准,若charset未设置,则使用pageEncoding的属性值,若两者都未设置,则使用默认编码ISO-8859-1
import:导包;在page指令中只有该属性可以设置多次
isErrorPage:是否是处理错误的页面,默认为false,一般与errorPage结合使用
errorPage:当页面报错跳转的路径,一般与isErrorPage结合使用

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*" isErrorPage="false"  %>
<!DOCTYPE html >
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isErrorPage="true"%>
<!DOCTYPE html >

include静态包含

include静态包含
格式: <%@include file=“被包含资源的路径” %>

特点:
相当于将页面的内容进行直接的复制,只会生成一个源码文件。
不能出现同名变量。
运行效率高一点点。耦合性较高,不够灵活。

主页:

<%@include file="head.jsp" %>
<h2>主页面</h2>
<%@include file="foot.jsp" %>

头: 该JSP的名字叫: heda.jsp

<body>
	<h3>我是头部</h3>
	<%
		int a = 1;
	%>
</body>

底: 该JSP的名字叫:foot.jsp

<body>
	<h3>我是底部</h3>
	<%
		// 接收参数
		String uname = request.getParameter("uname");
		out.print(uname);
		// out.print(request.getParameter("upwd"));
	%>
	<%=request.getParameter("upwd") %>
</body>

include动态包含

格式:<jsp:include page=“要包含的资源路径”></jsp:include>
特点:
相当于方法的调用,会生成多个源码文件,可以出现同名变量。
注:
1、jsp:include双标签中不能有任何内容,包括换行和参数(除非有参数)
2、page属性支持表达式
3、动态包含可以设置参数,<jsp:param name=“参数名” value=“参数值” />
name属性不支持任何表达式
The name attribute of the jsp:param standard action does not accept any expressions
value属性支持表达式

    <jsp:include page="<%=url %>"></jsp:include>
	<jsp:include page="head.jsp"></jsp:include>
	<h2>这是主页面!</h2>
	<jsp:include page="foot.jsp"></jsp:include>
	<jsp:include page="foot.jsp">
		<jsp:param value="<%=uname %>" name="uname"/>
		<jsp:param value="123456" name="upwd"/>
	</jsp:include>

九大内置对象

四个域对象:

page范围pageContext : 只在一个页面中保存属性,跳转之后无效

request范围request : 只在一次请求中保存,服务器跳转后依然有效

session范围session : 在一次会话范围中,无论何种跳转都可以使用,但是新开浏览器无法使用

application范围application : 在整个服务器上保存,所有用户都可以用

// pageContext  当前页的域对象:只在当前页面有效,跳转后无效
	pageContext.setAttribute("uname", "zhangsan");
	
	// request  请求域对象:只在一次请求中页面,服务器跳转有效
	request.setAttribute("uname2", "lisi");
	
	// session 会话:只在一次会话中有效,客户端和服务端跳转后都有效,session销毁后失效
	session.setAttribute("uname3", "wangwu");
	
	// application  应用对象:在整个项目中都有效,服务器关闭或重启后失效
	application.setAttribute("uname4", "zhaoliu");
	
	/* JSP 中两个输出对象	response、 out  */
	// response 响应对象
	response.setContentType("text/html;");
	// out	输出流
	out.print("输出...");
	 
	/* JSP中的配置对象    config */
	config.getServletContext();
	
	/* JSP中的异常对象  exception :只有当前页面的page指令中isErrorPage=true时,才可使用 */
	
			
	/* 其他对象   this   指代JSP页面本身 */
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值