zoukankan      html  css  js  c++  java
  • Jsp复习(详细的知识点)day01

    Jsp复习(详细的知识点)

    JSP(java Server Page)
    他就是servlet,也是java类。通过jsp引擎把jsp转译成了servlet
    jsp~java+html

    动态网页技术,动态生成网页数据,而不是有动态效果的网页
    常见的几种动态网页技术:
        Jsp   Asp(Active Server Page)微软  Php(Hypertext Preprocessor)超级文本预处理语言
        
    1.Servlet:优点-逻辑处理方便    缺点:页面表现麻烦
    Jsp:优点--页面表现麻烦  缺点--逻辑处理麻烦

    实际就是:jsp偏向于视图,servlet偏向于逻辑控制
    所以要互补使用,一般项目都采用:jsp+servlet+javabean
    (当然,学了ssh后,可以采用ssh框架)

    JSP语法
    三种不同的指令:
    编译器指令:
        include--
            静态导入<%@ include file="login.jsp"%>
                是在servlet引擎转译时,就把地址文件内容包含了进去(两个文件
            的源代码整合到一起,全部放到jspService方法中),所以只生成了一个
            servlet,所以两个页面不能有同名的变量。
            运行效率高一点点,耦合性较高,不够灵活
            动态导入<jsp:include page="login.jsp"></jsp:include>
                  是在servlet引擎转译后,请求的此页面,所以共生成了两个
            servlet,所以可以有同名变量
            生成两个servlet,相当于两个类之间的调用,耦合性较低,非常灵活

        page--引入import包,contentType配置,errorPage错误页面
        taglib --引入标签库
    脚本语法
        注释:<!-- -->,  隐藏注释<%-- --%>也就是转译后的java代码中没哟此项语句

        声明:<%! %>    可以在里边声明定义成员变量方法
            可以定义在<% %>后边也能调用<%! %>里边的方法
            例如:
            <%  test(); %>
            <%! int hh=1;
                void test(){
                System.out.println("66666");
                }
            %>

        表达式:<%= %>    相当于打印out.print();

        java脚本段:<% %>

    动作语法:<jsp:forward page="">
            <jsp:param value="参数" name=""/>
          </jsp:forward>   之后的代码<%不执行%>    

        <jsp:include page="可传参" >不能有空格换行</jsp:include>,
                <jsp:param value="参数" name=""/>
        <jsp:plugin>
        
        <jsp:getProperty property="uname" name="u1" value="zahngsan"></jsp:getProperty>
        源码<%
            User user=(User)pageContext.getAttribute("u1");
            user.setUname("zhangsan");
        %>
        作用域的寻找顺序从小到大:pageContext/request/session/application
        
        <jsp:setProperty>,
        
        <jsp:useBean id="u1" class="com.bjsxt.login.User" scope="page"></jsp:useBean>相当于
            <%
              pageContext.setAttribute("u1",new User());
            %>


    jsp内置对象:有9大内置对象(包含作用域),四大作用域
        
        requset--对象代表的是来自客户端的请求,通过
        getParameter,getParameterNames,getParameterValues
        调用这几个方法来获取请求对象中包含的参数的值
        
        response--对象代表的是对客户端的响应,也就是说
        可以通过response对象来组织发送到客户端的数据。
        但是由于组织方式比较底层,所以不建议使用,需要向客户端
        发送文字时直接使用out对象即可。

        out--对象代表了向客户端发送数据的对象,与 response对象不同,
        通过out对象发送的内容是浏览器需要显示的内容,是文本一级的,
        可以通过out对象直接向客户端写一个由程序动态生成HTML文件。
        常用的方法除了print和println之外,还包括clear,clearBuffer,flush
        getBufferSize和getRemaining,这是因为out 对象内部还包含了一个缓冲区
        所以需要一些缓冲区进行操作的方法。
        
        session--对象代表服务器与客户端所建立的会话,当需要在不同的 jsp页面中
        保留客户信息的情况下使用,比如在线购物,客户轨迹跟踪等
        
        application--对象负责提供应用程序在服务器中运行的一些全局信息,
        常用的方法有getMimeType和getRealPath等
        
        pageContext--页面上下文对象
        封装了当前jsp页面的运行信息,它提供了返回jsp页面的其他隐式对象的方法
        通过它可以调用其他内置对象信息
        例如:pageContext.forward("2.jsp");转向

        config--对象提供一些配置信息,常用的方法有getlnitParameter和getlnitParameterNames
        以获得Servlet初始化时的参数

        page--对象代表正在运行的由jsp文件产生的类对象,一般不建议使用

        exeception--对象则代表了jsp文件运行时所产生的例外对象,此对象不能直接使用。
        而只能在使用了<%@ page isErrorPage="true" %>的jsp文件中使用.




  • 相关阅读:
    云服务器配置
    linux云服务器的配置
    Python进阶练习与爬取豆瓣T250的影片相关信息
    实时爬取疫情动态变化并进行可视化展示
    python基础学习
    异步实现用户名的校验
    人月神话读书笔记(一)
    第三周学习进度博客
    CentOS7.4下编译Hadoop-2.7.6
    Linux 内存使用率
  • 原文地址:https://www.cnblogs.com/fdxjava/p/10611384.html
Copyright © 2011-2022 走看看