zoukankan      html  css  js  c++  java
  • JSP知识

    五、JSP概述及最佳实践
    1、更改MyEclipse生成的JSP模板。模板文件与Servlet.java(Servlet模板文件)很近。
    2、学好JSP的关键:JSP就是Servlet。一定要记住JSP中的东东会出现在Servlet的什么地方?
    3、最佳实践:利用Servlet作为控制器;JSP用于页面显示。

    六、JSP语法
    1、模板元素:JSP页面中的HTML内容。
    2、JSP中的脚本表达式:
    作用:输出内容到页面上。
    语法:<%=java表达式%>
    “java表达式”会原封不动的出现在JSP对应的Servlet的service方法中的out.println(java表达式);参数中
    java表达式后面不能有分号。
    3、JSP脚本片段
    作用:在JSP中嵌入多行java代码。
    语法:
    <%
    多行java代码
    %>
    多行java代码,会原封不动地出现在对应Serlvet的service方法中。
    4、JSP声明
    作用:定义成员。
    语法:<%! 你的成员%>
    声明代码会出现在对应的类中。
    5、JSP中注释
    语法:<%--这是注释--%>

    七、JSP的指令:3个
    1、作用:给JSP引擎用的(Tomcat)。不产生任何输出。
    2、语法:<%@ 指令名称 指令属性1="值1" ...%>
    a、page指令
    属性:
    language:指示使用脚本语言。默认是java,目前只支持java。
    extends:指示JSP对应的Servlet的父类是谁。不要修改。
    *import:导入JSP中的java脚本中用到的类。
    *session:指示当前页面支不支持会话(拿不到HttpSession对象的引用session)。默认值是true。可选值true|false.
    buffer:字符输出流的缓存。默认值是8Kb。可选值none|8Kb|sizeKb
    autoFlush:自动刷新缓存。
    isThreadSafe:指示JSP对应的Servlet是否实现SingleThreadModel这个废物。false是实现,true是不实现。默认是true。
    *errorPage:(转发技术)指示提示错误的页面的路径。如果以"/"开头表示绝对路径。
    配置全局错误提示页面:
    web.xml
    <error-page>
    <exception-type>java.lang.Exception</exception-type>
    <location>/error.jsp</location>
    </error-page>
    <error-page>
    <error-code>404</error-code>
    <location>/404.jsp</location>
    </error-page>
    *isErrorPage:指示是否产生exception对象的引用。true|false.默认值是false
    *contentType:response.setContentType("text/html;charset=UTF-8");
    *pageEncoding:指示翻译JSP时查的码表。
    pageEncoding有2个作用:第一告知引擎查哪个码表读JSP文件进行翻译;第二,以指定的编码输出字符,并通知客户端以什么编码显示
    *isELIgnored:是否忽略EL表达式。默认值是false。可选值是truefalse

    b、include指令:(能用静态不用动态)
    属性:file,目标资源的路径。如果以"/"开头表示绝对路径。
    静态包含:include指令就是静态包含。
    动态包含:<jsp:include page=""/>
    c、taglib指令
    作用:引入外部的标签
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
    八、JSP的九大隐式对象
    *****九、域对象的概念
    十、发现JSP中的错误

    一、九大隐式对象:
    1、九大隐式对象在JSP的脚本中可以直接拿来用的对象。
    request:HttpServletRequest
    response:HttpServletResponse
    session:HttpSession(通过page指令的session进行开关)
    application:ServletContext
    config:ServletConfig
    page:this(JSP页面对应的Servlet对象)
    exception:Throwable(通过page指令的isErrorPage进行开关)

    out:javax.servlet.jsp.JspWriter(把他看做response.getWriter())
    pageContext:javax.servlet.jsp.PageContext

    1、out

    *****2、pageContext
    a、获取其他8大隐式对象
    b、本身是一个域对象(当前页面范围)。还能操作其他3个域对象中的数据(ServletContext HttpSession ServletRequest);
    还能从四个域中:依次从page request session application查找指定名称的对象
    b.1:操作本身域中(page范围)的数据的方法:
    Object getAttribute(String name)
    void setAttribute(String name,Object value)
    void removeAttribute(String name)
    b.2:操作其他域对象中的数据:参数int scope:PageContext--->PAGE_SCOPE REQUEST_SCOPE SESSION_SCOPE APPLICATION_SCOPE
    Object getAttribute(String name,int scope)
    void setAttribute(String name,Object value,int scope)
    void removeAttribute(String name,int scope)
    例如:以下=表示作用等效
    pageContext.setAttribute("p","ppp",PageContext.PAGE_SCOPE)=pageContext.setAttribute("p","ppp")
    pageContext.setAttribute("a","aaa",PageContext.SESSION_SCOPE)=session.setAttribute("a","aaa")
    b.3:还能从四个域中:依次从page request session application查找指定名称的对象
    Object findAttribute(String name)
    c、提供了请求转发和包含的方便方法。
    pageContext.forward("/4.jsp");
    pageContext.include(String path)

    *****二、域对象的概念
    page:PageContext域对象。(JSP中才有的)
    request:ServletRequest域对象。
    session:HttpSession域对象。
    application:ServletContext域对象。

    三、JSP中的错误
    插入点:
    JSP中的常用的动作元素(内置标签):
    1、<jsp:include/>:动态包含。
    page:被包含的页面地址。以"/" 表示绝对路径
    2、<jsp:forward/>:实现请求转发
    page:转发的目标地址。以"/" 表示绝对路径
    3、<jsp:param/>:参数
    <jsp:forward page="/4.jsp">
    <jsp:param value="shanjie" name="username"/>
    <jsp:param value="123" name="password"/>
    </jsp:forward>

  • 相关阅读:
    C#中异步和多线程的区别
    猫 老鼠 人的编程题
    C#中数组、ArrayList和List三者的区别
    经典.net面试题目
    sql有几种删除表数据的方式
    内存池的实现
    A*算法为什么是最优的
    传教士与野人问题
    d3d导致cairo不正常
    c++中的signal机制
  • 原文地址:https://www.cnblogs.com/yys369/p/5325950.html
Copyright © 2011-2022 走看看