zoukankan      html  css  js  c++  java
  • jsp指令

    JSP指令:
    格式:<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    一个页面可以有多个page指令;而且不用放在第一行,但是我们基本都放在首行;
    1、page指令:
    pageEncoding和contentType
    pageEcoding:它是指当前页面的编码,只要不说谎,就不会乱码,在服务器把jsp编译成.java时需要使用pageEncoding!!!
    contentType:它表示添加一个响应头,Content-Type!!等同于response.setContentType("text/html;charset=utf-8");
    如果两个属性值只配置一个编码,那么另一个就默认跟配置的编码一样;如果谁都没出现那么就是IOS,不能出现中文;
    errorPage和isErrorPage
    errorPage:当前页面如果抛出异常,那么要转发到一个错误提示页面,这个指令就是指定错误页面url的;
    isErrorPage:它指定当前页面是否为处理错误的页面!当该属性为true时,这个页面会设置状态码为500!而且这个页面可以使用9大内置对象中的exception!
    例:day12_1/error/
    在web.xml中配置错误页面
    <error-page>
        <error-code>404</error-code>
        <location>/error404.jsp</location>
    </error-page>
    <error-page>
        <error-type>java.lang.RuntimeException</error-type>
        <location>/error.jsp</location>
    </error-page>
    注意优先级高的是更细致的优先执行error-type
    例:day12_1/WEB-INF/web.xml
    autoFlush和buffer
    autoFlush:指定jsp的输出流缓冲区满时,是否自动刷新!默认为true,如果为false,那么在缓冲区满时抛出异常!
    buffer:指定缓冲区大小,默认为8kb,通常不需要修改!
    isELIgnored:是否忽略el表达式,默认值为false,不忽略,即支持!
    language:指定当前jsp编译后的语言类型,默认为java。
    info:信息!没用
    isThreadSafe:当前的jsp是否支持并发访问!默认为false!不要动,百年不设置;
    session:当前页面是否支持session,如果为false,那么当前页面就没有session这个内置对象!
    extends:让jsp生成的servlet指定去继承某个类的属性!
    2、include==>静态包含
      *与RequestDispatcher的include()方法有些类似,包含和被包含的是两个servlet即两个.class;
      *区别在于<%@include%>它是在jsp编译成java文件时完成的!他们共同生成一个java(servlet)文件,然后生成一个class!
      例:/day12_1/include/ni.jsp
    3、taglib==>导入标签库
    两个属性:
     prefix:指定标签库在本页面中的前缀!由我们自己起名,用于一个页面导入多个标签库内有相同标签的区别;
     uri:指定标签库的位置!
     <%@taglib prefix="s" uri="/struts-tags"%>前缀的用法<s:text>
    ==================================================
    jsp九大内置对象
    page  当前jsp对象!它的引用类型是object。Object page = this;就是this的向上转型变成Object
    config(ServletConfig)jsp配置文件对象,servlet需要在web.xml中配置,jsp也需要;
    request(HttpServletRequest)
    response(HttpServletResponse)
    session(HttpSession)
    pageContext 一个顶9个!! servlet中三大域,jsp中四大域;范围一个jsp页面; 这个域是在当前jsp页面和当前jsp页面中使用的标签之间共享数据!
    exception(Throwable)
    application(servletContext)
    out  (相当于response.getWriter())jsp的输出流
    jsp四大域范围从大到小
    application > session > request > pageContext
    pageContext代理其他域 pageContext("xxx","yyy",PageContext.SESSION_SCOPE);
    pageContext获取其他八个域  pageContext.getSession();
    pageContext全域查找pageContext.findAttribute("xxx");从小到大查找;
    =================================================================
    jsp动作标签:
      这些jsp标签与html提供的标签有本质区别:jsp标签由服务器解释执行,html由浏览器执行;实际jsp标签就是java代码
    <jsp:include> 注意jsp标签前缀是定死的就是jsp  与request.getRequestDispatcher的include方法是一样的
    <jsp:forward> 留头不留体, 与request.getRequestDispatcher的forward方法是一样的
    <%@include%>与<jsp:include>区别?
    前者在服务器编译之后合并成一个.class 需要注意<%@include file="url不能是变量因为没合并之前它不认识"%>;而后者是两个.class;
    <jsp:param> 它用来作为forward和include的子标签!用来给转发或者包含传递参数
    <jsp:forward page="hao.jsp">
        <jsp:param value="lisi" name="username"/>
        <jsp:param value="123" name="password"/>
    </jsp:forward>

  • 相关阅读:
    爬虫技术浅析 | WooYun知识库
    爬虫技术实战 | WooYun知识库
    爬虫技术实战 | WooYun知识库
    Day 16: Goose Extractor —— 好用的文章提取工具
    mysql中间件研究(Atlas,cobar,TDDL)
    cygwin with openssh
    win2008 ent r2 开启端口
    MobaSSH SSH server for Windows
    自动化运维工具Ansible详细部署
    中科院NLPIR中文分词java版
  • 原文地址:https://www.cnblogs.com/wangyinxu/p/7402293.html
Copyright © 2011-2022 走看看