JSP 基础

xiaoxiao2021-02-28  143

指令标签 <%@ 指令名 属性1="属性值1" 属性2="属性值2"...%> 参数: 指令名:jsp中有page,include和taglib三条属性; 1、page指令 <%@ page attr1="value1" ... %>    常用属性:         ①language:目前只支持java         ②extends:         ③import:         ④pageEncoding:         ⑤contentType:设置jsp页面的MIME类型和字符编码             contentType="text/html;charset=utf-8"         ⑥session:默认值true,允许使用session对象         ⑦buffer:设置jsp的out输出对象使用的缓冲区大小,默认8KB,单位只能为kb;         ⑧autoFlash:设置jsp页面缓存满时,是否自动刷新缓存。默认true。         ⑨isErrorPage:设置成错误处理页面。         10)errorPage:对应url字符串,必须设置isErrorPage为true 2、include         静态包含;         被包含文件所有内容原样包含,在包含时不会被编译执行;         使用include指令,最终生成一个文件,因此不能有相同名称变量。         语法: <%@ include file="path" %> 3、taglib         声明该页面中使用的标签库,同时引用标签库,并制定标签的前缀。         语法:  <%@ taglib prefix="tagPrefix" url="tagURI"%>        参数:         prefix:用于指定标签的前缀。不能命名为jsp、jspx、java、javax、sun、servlet和sunw。         uri:用于指定标签库文件的存放位置。                   脚本标签 1、JSP表达式     <%=  表达式 %> 2、声明标识     用于定义全部变量或方法。     语法:         <%! 声明全局变量或方法 %> 3、代码片段标签     <% java代码或脚本代码 %>      动态标签 1、文件包含标签<jsp:include>     被包含的文件可以是动态文件或者静态文件,在编译执行后返回结果。     语法:         <jsp:include page="url" flush="fasle|true"/>         或         <jsp:include page="url" flush="false|true">             子动态标签<jsp:param>         </jsp:include>     参数:         page:用于指定被包含文件的<b>相对路径</b>。例如:top.jsp,表示包含的是与当前JSP文件相同文件夹中的top.jsp文件。         flush:可选,用于设置是否刷新缓冲区。默认false,如果设置true,在当前页面输出使用缓冲区的情况下,先刷新缓冲区,然后执行包含工作。         子动态标签<jsp:param>:用于向被包含的动态页面中传递参数。              include标签和<jsp:include>标签的区别:         1)include通过file属性指定,并且file属性不支持任何表达式;             <jsp:include>通过page属性指定,并且page属性支持jsp表达式。         2)<jsp:include>被执行时,程序会将请求<b>转发</b>(不是请求重定向)到被包含页面,并将执行结果输出到浏览器中,然后返回包含也继续执行后面的代码。         3)include不能有重名,<jsp:include>可以包含重名变量和方法。 2、请求转发标签<jsp:forward>     语法:         <jsp:forward page="url"/>         或         <jsp:forward page="url">             子动态标签<jsp:param>         </jsp:forward>     参数:         page:指定请求转发的目标页面。         <jsp:param>:向转向的目标文件中传递参数。 3、传递参数标签<jsp:param>     <jsp:param name="name" value="value"/>                     JSP内置对象 1、request     request.setAttribute(String name,Object object);     request.getAttribute(String name);      2、response     1)重定向网页         response.sendRedirect(String path);         url:相对路径,或者是不同主机的url地址。         可以重定向。         重定向支持重定向到不同主机上。         用户可以从浏览器的地址栏中看到跳转后的地址。

        重定向后,request中的属性全部失效,开始一个新的request对象。

3、session会话     session.setAttribute(String name,Object obj);     session.getAttribute(String name);     removeAttribute(String name);//移除指定对象     session.invalidate();//销毁session     设置会话生命周期:         getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间;         getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔;         setMaxInactiveINterval():以秒为单位设置session的有效时间。 4、application     用于保存所有应用程序中的公有数据。     在服务器启动时创建,在服务器停止时销毁。     当application没有被销毁时,所有用户都可以共享该对象。     与session相比,application生命周期长,类似于系统的全局变量。     1)访问应用程序初始化参数         初始化参数在web.xml中配置,web.xml位于WEB-INF目录下,通过<context-param>标签配置。         方法名:             application.getInitParameter(String name);             返回已命名的参数值             application.getAttributeNames();             返回所有已定义的初始化参数名的枚举     2)管理应用程序环境属性         getAttributeNames():返回所有application对象使用的属性名;         getAttribute(String name):         setAttribute(String key,Object obj):使用指定名称和指定对象在application对象中进行关联;         removeAttribute(String name):根据名称去除属性。          5、out     在浏览器输出信息,并管理应用服务器上的输出缓冲区.     方法:         print();         println();     管理缓冲区的方法:         clear():                清楚缓冲区内容,如果响应已经提交,则产生IOException;         clearBuffer():    清楚当前缓冲区中的内容,即使响应已经提交,也能够使用该方法;         flush():                刷新流;         isAutoFlush():    检测当前缓冲区已满时是自动清空,还是抛出异常;         getBufferSize():获取缓冲区大小。

                                               
转载请注明原文地址: https://www.6miu.com/read-75646.html

最新回复(0)