• jsp使用


    一:jsp(java server page)

    jsp其实就是一个servlet。

    1)作用:将内容的生成和信息的展示相分离。

    2)本质:运行在服务器端,本质上就是一个servlet,产生java文件和class文件保留在tomcat的work目录下。

    3)jsp脚本:

      1、<%......%> java片段代码。

      2、<%=....%> java输出表达是相当于out.print.

      3、<%!...%> 声明成员变量。

    4)jsp指令:

      作用:声明jsp页面的一些属性和动作。

      格式:

        <%@指令名称  属性=“值”  属性=“值”%>  注意多个属性值,之间是空格没有分号。

      jsp指令分类:

        page:主要声明 jsp页面的一些属性。

        

        include:静态包含。

        taglib:导入标签库。

      注意:

         一个页面可以有多个指令,指令可以放在任意位置,一般都放在jsp页面最上面。

      1、page 指令:

                          重要属性是三个:

            1、contentType:设置相应的流的编码,及通知浏览器用什么编码打开,设置文件的mimetype。

            2、pageEncoding:设置页面编码。

            3、import :导入所需的包。

            contentype和pageEncoding联系:

              1)若两者都出现的时候,各自使用各自编码。

              2)若只出现一者,亮哥哥都使用出现的这个编码。

              3)若两者都不出现,使用服务器默认编码,tomcat7使用的iso-8859-1的编码。

        2、了解属性:

          language:当前jsp页面里面可以嵌套的语言。

    1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>

          buffer:设置jsp页面的流缓存区大小。

          autoFlush:是否自动刷新。

          extends:声明当前jsp页面继承于那个类,必须继承的是httpservlet及子类。

          session:设置jsp页面是否可以使用session内置对象。值为布尔。

          isELIgnored:是否忽略el表达式。

          errorPage:当前jsp页面的出现异常的时候是否跳到jsp页面。参数是布尔值。

          isErrorPage:当前jsp野蛮是否是一个错误页面。

              若为true,可以使用jsp页面一个内置对象  exception。

       3、include指令:

          静态包含,就是将其他页面或者servlet的内容包含进来,一起进行编译运行,生成一个java文件。

          格式:

            <%@include     file="相对路径或者内部路径" %>

     1 <%@ page contentType="text/html;charset=UTF-8" language="java" %>
     2 <html>
     3 <head>
     4     <title>Title</title>
     5 </head>
     6 <body>
     7 this 1.jsp  content!<br>
     8 <%@include file="1.jsp"%>
     9 this 2.jsp content!<br>
    10 <%@include file="2.jsp"%>
    11 </body>
    12 </html>

     效果:

     包含2个页面,但是后端只生成一个servlet 的java文件和class文件。只是把1和2生成的内容嵌套在include.jsp

       路径解释:

          1、相对路径:

              ./或者什么都不写 表示当前路径。

              ../         表示上一级路径。

          2、绝对路径:

               带协议和主机的绝对路径

               不带协议和主机的路径。

                /项目名/资源/

    5)jsp内置对象(9大内置对象):

      在jsp页面上可以直接使用的对象。

        内置对象    类型

         out      JspWrite

        request     HttpServletRequest

        respone     HttpServletRespone

        session     HttpSession

        excepetion  Throwable

        page      Servlet(this)   当前servlet。

        config       ServletConfig

        application          ServletContex

        pageContext  PageContext

    jsp 域对象:

        application           整个项目

        session      一次会话

        request    一次请求

        pageContex  一个页面

    Pagecontext理解:

        1、域对象

          xxxAttribute()

        2、操作其他域对象

          方法:

            XXAttribute(....,int scope)

                 scope取值:

                  APPLICATION_SCOPE

                  SESSION_SCOPE

                  REQUEST_SCOPE

                  PAGE_SCOPE

        3、获取其他内置对象

          getXxx()

           注意:

            getRequest()获取request内置对象。

        4、便捷查找:

            findAttribute(String key)

            依次从pagecontext、request、session、application四个域查找相应的属性,若查找到了返回值,且结束该次查找,如果查找不到,则返回null。

      例子:

        

     1 <html>
     2 <head>
     3     <title>Title</title>
     4 </head>
     5 <body>
     6 <%--this 1.jsp  content!<br>--%>
     7 <%--<%@include file="1.jsp"%>--%>
     8 <%--this 2.jsp content!<br>--%>
     9 <%--<%@include file="2.jsp"%>--%>
    10 <%
    11    //给其他域对象设置值。其中scop的值,是pagecontext的字段。
    12 pageContext.setAttribute("pkey","ok",pageContext.REQUEST_SCOPE);
    13 //通过pagecontext获取域对象。
    14 ServletRequest re=pageContext.getRequest();
    15 Object val=re.getAttribute("pkey");
    16 out.print(val);
    17 
    18 %>
    19 </body>
    20 </html>
  • 相关阅读:
    CLR
    Cocos2dx 3.12 在AndroidStudio上编译配置
    MFC 调试方法
    列表初始化
    类型转换
    Cocos2d-x 3.4在AndroidStudio上编译配置
    出发 Let's Go
    LumiSoft.Net邮件接收乱码问题解决
    百度地图经纬度转换JS版
    百度经纬度和google经纬度互转
  • 原文地址:https://www.cnblogs.com/evilliu/p/8610310.html
Copyright © 2020-2023  润新知