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文件中使用.




转载于:https://www.cnblogs.com/fdxjava/p/10611384.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值