jsp主要九大内置对象、四大web域、两种包含、两种注释、几个jsp标准动作

第一:概念

(一)JSP自定义模板
(1)Window->Preferences->MyEclipse->Files and Editors
    ->JSP->JSP Templates->点击右侧的New按钮,出现向导窗口
(2)向导窗口中填写:
    ①name:MyJspTemplate(名称可以自定义)
    ②context: jsp_new(newjsp)
    ③pattern:填写具体模板内容
(3)在web项目中,根据模板生成jsp页面
    ①通过new菜单,选择JSP(Basic templates)来创建jsp页面;
    ②选择自定义的模板;
    ③点击finish按钮;
-------------------------------------------------------
(二)进一步完善JSP细节
(1)page指令中的errorPage属性及isErrorPage属性
(2)其中isErrorPage属性,可以配合jsp页面中exception内置
        对象的使用
(3)pageContext内置对象
    ①四大Web域对象之一;
    ②作用范围,只限于当前页面,不能共享。
   
(4)jsp的转发,动作标签<jsp:forward>
 ①转发页面与当前页面共享request对象;
 ②可以向转发的页面传递参数;
 
(5)jsp的包含,
   Ⅰ、动作标签<jsp:include> 
        ①执行时包含:只包含页面的输出结果,而不包含其代码;
        ②动态包含:包含时可以向被包含的页面传递参数;
    Ⅱ、include指令  <%@ include file="页面" %>
        ①编译时包含;包含的是代码,将代码合二为一。
        ②静态包含,包含时不能传递参数;
     
(6)jsp的注释:
        ①jsp的标准注释是<%-- --%>
        被注释的部分,不执行;
        ②html的注释是:<!-- -->
        被注释的部分,不显示;

(三)JSP页面中内置对象或者叫做隐含对象
9大内置对象:
①request         HttpServletRequest
②response    HttpServletResponse
③application   ServletContext(ContextPath中的Context)
④config           ServletConfig
⑤pageContext      PageContext
⑥out             JspWriter(Writer的子类)
⑦page(this)      Object
⑧exception       Exception
⑨session         HttpSession

其中的4大web域对象(从小到大)是:
pageContext(当前页面)
request(转发页面)
session(浏览器中的所有页面)
application(站点中的所有页面)

特点是内部都包含一个map结构;例如:
HttpSession session=request.getSession();
session.setAttribute("name", new Object())

 

注意:jsp的一些标准动作

jsp的几个标准动作标签(只要是jsp:的都是标准动作)。至少记住六七个。
        ---<jsp:userBean id="dao" class="com.dao"/>:是根据类创建一个对象 ,这里的bean就是一个类的意思
        ---<jsp:setProperty proprtty="属性名" name="对象名" value="值"/> :给对象的属性设置值
        ---<jsp:getProperty  proprtty="属性名" name="对象名" />
        ---<jsp:forword page="路径">:跳转,就是转发
        ---<jsp:params value="" name=""/>:获取表单元素的值
        ----<jsp:include  page="地址"/>:这是包含,运行时包含,两个页面运行之后再把结果放在一起。
             跟昨天讲的<%@ include file=""%>不一样,<%@ include file=""%>是编译时候包含。
             其中<%@ include file=""%>是静态导入,在编译的时候进行页面的合并
             <jsp:include  page="地址"/>是动态导入,先执行两个jsp,然后将结果进行合并。
   

 

第二:相关代码

1.

 
  <body>
    <%
        pageContext.setAttribute("username", "wangda");//只能本页有效。Attribute是属性的意思,通过键值对中的键对内置对象进行值传递
        request.setAttribute("password", "123456");//一次请求有效,即:重定向没效,必须转发才能有效,才能向下传递属性值
        session.setAttribute("time", new Date());//session在一次对话中都会有效,值的内容可以是个对象
     %>
    【注意:】这个是指我当前页面包含MyJsp01-7.jsp这个页面里面的内容,<br>
    欢迎新会员(向被包含的页面传递参数):<br>
  <!-- jsp:include这个是标签包含:是  执行时包含(只包含页面的输出结果。是先去执行两个jsp页面,然后把两个jsp页面的执行结果包含在一起),动态包含(因为可以使用参数jsp:param) -->
    <jsp:include page="MyJsp01-7.jsp">
     <jsp:param value="zhangsan" name="zs"/>
     <jsp:param value="1234" name="pw"/>
    </jsp:include>
  </body>

 

2.


  <body>
  欢迎你,
<!--【注意:】include这是指令包含:1.他是编译时包含(两个jsp是两个servlet。是先将两个jsp的代码合并成一个jsp代码,然后去执行这一个jsp代码),2.他是静态包含(里面不能写参数,参数在地址栏上以问号的形式传递)
 -->       <%@include file="MyJsp01-7.jsp" %>
  </body>
</html>

你可能感兴趣的:(jsp主要九大内置对象、四大web域、两种包含、两种注释、几个jsp标准动作)