Jsp

jsp三大指令

page

<%@page language=”java” info=”xxx”…%>**

  • pageEncoding和contentType: 
    pageEncoding:它指定当前jsp页面的编码,只要不说谎,就不会有乱码!在服务器要把jsp编译成.java时需要使用pageEncoding! 
    contentType:它表示添加一个响应头:Content-Type!等同与response.setContentType(“text/html;charset=utf-8”); 
    如果两个属性只提供一个,那么另一个的默认值为设置那一个。 
    如果两个属性都没有设置,那么默认为iso
  • import:导包!可以出现多次
  • errorPage和isErrorPage 
    errorPage:当前页面如果抛出异常,那么要转发到哪一个页面,由errorPage来指定 
    isErrorPage:它指定当前页面是否为处理错误的页面!当该属性为true时,这个页面会设置状态码为500!而且这个页面可以使用9大内置对象中的exception!
<error-page>有两种使用方式:
<error-code>和<location>子元素;
<exception-type>和<location>子元素;
其中<error-code>是指定响应码;<location>指定转发的页面;<exception-type>是指定抛出的异常类型。
 <error-page>
    <error-code>404</error-code>
    <location>/error/errorPage.jsp</location>
 </error-page>
      <error-page>
 <exception-type>java.lang.RuntimeException</exception-type>
        <location>/index.jsp</location>
      </error-page>
  • autoFlush和buffer 
    autoFlush:指定jsp的输出流缓冲区满时,是否自动刷新!默认为true,如果为false,那么在缓冲区满时抛出异常! 
    buffer:指定缓冲区大小,默认为8kb,通常不需要修改!
  • isELIgnored:是否忽略el表达式,默认值为false,不忽略,即支持!
  • (以下了解即可): 
    language:指定当前jsp编译后的语言类型,默认值为java。 
    info:信息! 
    isThreadSafe:当前的jsp是否支持并发访问! 
    session:当前页面是否支持session,如果为false,那么当前页面就没有session这个内置对象! 
    extends:让jsp生成的servlet去继承该属性指定的类!

include –> 静态包含

  • 与RequestDispatcher的include()方法的功能相似!
  • <%@include%> 它是在jsp编译成java文件时完成的!他们共同生成一个java(就是一个servlet)文件,然后再生成一个class!
  • RequestDispatcher的include()是一个方法,包含和被包含的是两个servlet,即两个.class!他们只是把响应的内容在运行时合并了!
  • 作用:把页面分解了,使用包含的方式组合在一起,这样一个页面中不变的部分,就是一个独立jsp,而我们只需要处理变化的页面。

taglib –> 导入标签库

  • 两个属性: 
    prefix:指定标签库在本页面中的前缀!由我们自己来起名称! 
    uri: 指定标签库的位置! 
    <%@taglib prefix=”s” uri=”/struts-tags”%> 前缀的用法 <s:text>

九大内置对象

  • 在jsp中无需声明即可直接使用的9个对象 
    • out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
    • config(ServletConfig):对应“真身”中的ServletConfig;
    • page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象,引用为Object类型;
    • pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;
    • exception(Throwable):只有在错误页面中可以使用这个对象;
    • request(HttpServletRequest):即HttpServletRequest类的对象;
    • response(HttpServletResponse):即HttpServletResponse类的对象;
    • application(ServletContext):即ServletContext类的对象;
    • session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。
  • pageContext(一个顶9个!) 
    • Servlet中有三大域,而JSP中有四大域! 
      ServletContext:整个应用程序 
      session:整个会话(一个会话中只有一个用户) 
      request:一个请求链! 
      pageContext:一个jsp页面!这个域是在当前jsp页面和当前jsp页面中使用的标签之间共享数据! 
      域对象 
      代理其他域:pageContext.setAttribute(“xxx”, “XXX”, PageContext.SESSION_SCOPE); 
      全域查找:pageContext.findAttribute(“xxx”);从小到大,依赖查找! 
      获取其他8个内置对象:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值