Java Web总结十Jsp

一、四个域对象的生命周期

  1、pageContext:jsp执行时创建pageContext,jsp页面结束时pageContext销毁。

  2、request:客户请求服务器时创建,请求结束request销毁。

  3、session:客户机请求服务器时,第一次getSession时,服务器创建session,session过xx多长时间没用了(或调用了session.invalidate方法),服务器销毁session。

  4、application(servletContext):web应用启动时就创建,web应用停止就销毁。

二、什么情况下用什么域的问题

  1、什么情况下用request域?

    如果在开发程序时,数据看完就没用了,那就应该把数据存在request域范围内。比如看新闻,新闻属于用户看完就没用的数据,这时servlet获得新闻数据,就应该存在request里面交给jsp显示。

  2、什么情况下用session域?

    如果在开发程序时,数据看完了用户等一会儿还要用,那就应该把数据存在session域范围内。例如购物,购买的商品是用户的数据,这个数据产生之后,用户等一会儿结帐还要用,那么程序就应该把数据存在用户的session中。

  3、什么情况下用application域?

    如果在开发程序,数据产生了,这个数据不仅等一会儿自己要用,还要给别人用,那就应该存在application域,例如web聊天室,用户的聊天数据,这个数据不仅用户等一会儿自己要看,还要给别人看。

三、JSP内置标签(美化+业务逻辑)

  1、为了取代<%%>脚本形式,使用JSP标签/JSP动作,目的:与JSP页面的美化,即JSP面页都是由标签组成,不再有其它的内容。

  2、JSP内置标签

    1)<jsp:include page/>(动态包含,执行) 和 <%@ include file/>(静态包含,翻译)

      a、N张jsp生成N个servlet。

      b、总的jsp生成的结构良好。

      c、总的jsp生成的结构良好。

      d、true先将当前jsp页面的输出输到浏览器后,再加入包含的页面/false(将原新内容同时输到浏览器)(默认)。

      e、动态包含,在需要包含时,才去调用执行。

    2)<jsp:forward page/>:转发到page所指向的jsp页面。

    3)JSP中JavaBean标签:

      a、<jsp:useBean id/class/scope/>表示创建或查找对应的JavaBean对象。如果在域对象中有对应的JavaBean对应,那么该只会负责查询JavaBean对应,而不会创建。

      b、<jsp:setProperty name/property/value/>。该标签可以将String到8种基本类型的转换。

      c、<jsp:getProperty name/property/>。

四、EL和JSTL快速入门

  1、EL=Expression Language

    a、快速输出JavaBean的值或普通变量的值。<%@ page isELIgnored="false" %>是否让EL表达式忽略,false表示不忽略。

  2、JSTL=JavaStandardTaglibLanguage 

    a、快速输出动态内容,以替代JSP页面中的脚本<%%>代码。

  3、注意:

    a、是否已将集合或变量绑定到域对象中,并确保该域对象没有销毁,因为EL只有从域对象中检索对应的值。

    b、JSTL都会和EL绑定在一起用。

原文地址:https://www.cnblogs.com/FlySheep/p/3643736.html