jsp的9个对像6个动作及作用

本文详细介绍了JSP中的九种内置对象及其用途,包括HttpSession、HttpServletRequest、HttpServletResponse等,并解释了JSP的基本动作及page指令集的用法。此外还对比了JSP中的动态include与静态include的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1) HttpSession类的session对象
作用:主要用于来分别保存每个用户信息,与请求关联的会话;
         会话状态维持是Web应用开发者必须面对的问题。


(2) HttpServletRequest类的Request对象
作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。


(3) HttpServletResponse类的Respone对象
作用:代表响应对象,主要用于向客户端发送数据


(4) JspWriter类的out对象
作用:主要用于向客户端输出数据;
        Out的基类是JspWriter


(5) ServletContex类的application对象
作用:主要用于保存用户信息,代码片段的运行环境;
        它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享.


(6) PageContext类的PageContext对象
作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。


(7) ServletConfig类的Config对象
作用:代码片段配置对象,表示Servlet的配置。


(8) Object类的Page(相当于this)对象
作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。


(9)Exception
作用:处理JSP文件执行时发生的错误和异常

JSP共有以下6种基本动作

 jsp:include:在页面被请求的时候引入一个文件。

jsp:useBean:寻找或者实例化一个JavaBean。

jsp:setProperty:设置JavaBean的属性。

 jsp:getProperty:输出某个JavaBean的属性。

 jsp:forward:把请求转到一个新的页面。

 jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记

JSP page 指令集

<%@ page
[ language="java" ]
[ extends="package.class" ]
[ import="{package.class | package.*}, ..." ]
[ session="true | false" ]
[ buffer="none | 8kb | sizekb" ]
[ autoFlush="true | false" ]
[ isThreadSafe="true | false" ]
[ info="text" ]
[ errorPage="relativeURL" ]
[ contentType="mimeType [ ;charset=characterSet ]" | "text/html ; charset=ISO-8859-1" ]
[ isErrorPage="true | false" ]
%>

eg.

<%@ page file="" %>

<%@ page import = "java.util.* "%>

 JSP中动态INCLUDE与静态INCLUDE的区别?

动态:INCLUDE <jsp:include page="some.jsp" flush="true"/>

静态:<%@ include file="some.some(txt,jsp,html)" %>

前者为include指令,后者为include的动作  
  区别:  
  前者---〉用来向当前页面中插入一个静态文件的内容,注意,此时include所包含文件的内容是在编译的时候插入到原文件中的。正因为如此,如果include文件(如你的parameter.jsp)变化了,而jsp文件没变化,则jsp引擎会认为jsp页面没有改变过,此时其将不再对源代码重新编译,即便对include文件做了修改,在jsp页面中看到的将还是以前的。  
  后者--->include动作是jsp向当前页面插入文件的另一方法,被插入的文件(如你的parameter.jsp)既可以是静态的,也可以是动态的。它是将包含文件编译的结果插入当前位置。如果包含文件改动了,其能判断文件已经变化,并对包含文件重新编译

前者是将AA.TXT通过服务器处理后,将jsp包含进来.
后者是先将文件包含进来,再处理.
所以,如果用前者,就必须保证文件中的JSP语句是正确的.所有的变量定义都是独立的.
如果是后者,则可以在some.some中使用外部在INCLUDE它之前所定义的变量.
两都还有一个区别, 就是前者是动态更新的,也就是说some.some如果发生了变量, 所有包含它的文件都会变.而后者, 就只有将所有包含some.some文件的先改变了,重新编译才能看到新的效果.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值