欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

jsp页面的使用

程序员文章站 2022-05-14 22:22:05
...

jsp的注释

1. 显示注释

​ 客户端可以看到的注释

​ 1.继承html风格的注释

&lt;!-- html注释 --&gt;	<!-- 
&lt是<    &gt是>
这是html的注释

2. 隐式注释

​ 客户端无法看到的注释

​ 1.jsp直接的注释

&lt;%-- jsp注释 --%&gt; <%-- 
这是jsp的注释

​ 2,继承java风格注释 //单行注释 /*多行注释

Script脚本小程序

所有嵌入在html,代码中的java程序都必须使用Scriptlet标记出来

三种Scriptlet代码:

<%--
	<% //java脚本段 %>
--%>
1.<% %>
    java脚本段,生成的代码在servlet的service方法体重,变量时局部变量
2.<%! %>
    声明全局变量,方法,类等,生成的代码在servlet类体重
3.<%= %>
    表达式,输出表达式,可以输出变量名,字面量,生成的代码在servlet的service方法体重

<%
    int num=1;
	System.out.println(num);
	out.print(num);

	out.print(str);//这是先的全局变量,可以在任意位置声明

	request.seiAttribute("abc","ABC")
%>
      
<%!
    int a=10;
	String str="hello";
%>
<%=a%>
<%=100%>
<%=request.getAttribute("abc")%>//这是在java代码块中存入的request域对象中的值

jsp指令标签

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

language:支持的语言,目前只有java
contentType:响应类型及编码格式
pageEncoding:字符编码
import:导包,只有该属性可以同时设置多次

errorPage:当页面报错时要跳转的页面,一般与isErrorPage属性一起使用,且跳转的页面的isErrorPage属性设置为true

isErrorPage:是否是处理错误的页面,默认是false,一般与errorPage属性一起使用

注:页面的编码一charset的值为准;若charset未设置,则以pageEncoding为准;若两者都为设置,贼使用默认编码IOS-8859-1

jsp中的静态包含

include静态包含

格式:<%@include file="文件路径" %>  相对路径
	file属性支持表达式去取值
特点:
	只会生成一个源码文件,相当于直接将内容拷贝进来,使用不能有同名变量
	运行效率高一点点.耦合性较高,不够灵活

jsp中的动态包含

include动态包含

<%--
    include动态包含
    	语法:<jsp:include page="要包含的文件路径"></jsp:include>
    		page属性支持表达式去取值
    	特点:
			生成多个源码文件,相当于方法的调用,可以有同名变量
			耦合度低,比较灵活,效率高
		注:
			1.<jsp:include>双标签之间不能有任何内容(除非有参数)
				Expecting "jsp:param" standard action with "name" and "value" attributes
			2.动态包含可以传递参数
				<jsp:param name="参数名" value="参数值"/>
				获取参数使用:request.getParameter(name)
                value属性支持表达式,name属性不支持
                The name attribute of the jsp:param standard action does not accept any expressions(不支持表达式错误)
--%>

jsp中九个内置对象

  1. 四大域对象

    1. pageContext.setAttribute("uname1", "zhanggsan");//jsp的页面容器,只在一个页面中保存属性,跳转之后无效
    2. request//得到用户的请求信息,只在一次请求中保存,服务器跳转后依然有效
    3. session//用来保存每一个用户的信息,在一次会话范围中,无论何种跳转都可以使用,但是新开浏览
     器无法使用
    4. application//表示所有用户的共享信息,只要服务器不重启, 在整个服务器上保存,所有用户都可以用
    5. 以上4对象都有3个同一的操作发方法
      	1. Public void setAttribute(String name, Object o)   设置域对象的值
      	2. Public Object getAttribute(String name)   根据域对象中的key查询对应value值
      	3. Public void removeAttribute(String name)   根据key删除指定的值
    
    1. 两个输出对象

      1. out//页面输出
      2. response//服务器向客户端的回应信息
    2. 配置对象

      1. config//服务器配置,可以取得初始化参数
    3. 当前页面对象

      1. page//表示从该页面中表示出来的一个Servlet实例,可以获取到其他8个对象

        1. pageContext.PAGE_SCOPE
        2. pageContext.REQUEST_SCOPE
        3. pageContext.SESSION_SCOPE
        4. pageContext.APPLICATION_SCOPE
      在其它页面取值时,需要指定对应的作用域,或者通过 EL 表达式
      <%= pageContext.getAttribute("a",pageContext.SESSION_SCOPE) %>
      
    4. 异常对象 主要当前页面设置了isErrorPage="true"时才能使用

      1. exception//表示jsp页面所发生的异常,在错误页中才起作用