zoukankan      html  css  js  c++  java
  • JSP——JSP原理、基本语法、三大指令

    Java中的动态网页

    1.Servlet动态网页 = Java代码(主) + html代码(辅): (在Servlet中编写html代码)
        *.Servlet擅长的事情:
            1.获取参数,将其封装成对象
            2.处理业务逻辑,处理请求
            3.控制页面跳转,跳转到某一个JSP中做页面的输出操作
          
    2.JSP动态页面=Java代码(辅)+html(主):(在html中编写java代码)
    Servlet不擅长做页面输出,JSP最擅长做页面输出
    责任分离思想:各自做各自最擅长的事情.
    

    JSP的原理

    1.JSP(Java Server Page): Java的服务页面,Java动态网页.
        JSP本质就是Servlet
        服务器会解析请求中是否含有.jsp文件
        如果有,则将其编译为java文件
        再将java文件编译为class文件,供浏览器访问
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200429102318443-1390903877.png)
    

    JSP的基本语法

    1.JSP语法:
        1.JSP的注释:注释Java脚本代码
            <%--注释--%>
        2.JSP的Java脚本表达式:输出数据到页面上
            <%=代买%> (实际上就是调用输出流打印到页面上) out.print(表达式);
        3.JSP中的Java脚本片段:(实际开发中,应做到JSP中不能出现一行Java脚本片段):书写Java代码逻辑
            <%代码%>
            原理:其中的语句会原封不动的被服务器翻译到对应的Servlet的_jspService方法中。
        4.JSP的声明::定义类的成员
            <%!代码%> 
        ![](https://img2020.cnblogs.com/blog/1668748/202004/1668748-20200429103652205-495358708.png)
    

    JSP三大指令

    1.特点
        1.并不向客户端产生任何输出,
        2.指令在JSP整个文件范围内有效
        3.为翻译阶段提供了全局信息
    2.指令语法格式: <%指令名称 属性名='属性值' 属性名='属性值'....%>
    3.page指令:表示JSP的相关配置
        <%page contentType='text/html' charset='UTF-8' language='java'%>
            contentType:表示文件的MIME类型
            charset:表示文档的字符集
            language:表示JSP文档编写的脚本语言
            import:用于导入JSP脚本中使用到的类,等价于Java代码中的: import 类的全限定名;
            errorPage:如果服务器发生错误,会自动跳转到指定页面
            isErrorPage:判断页面是否为错误页面,
                true:是,则可以判断内置对象为Exception
                false:不是,默认值,不可以使用
            
    4.include指令:
        1.静态包含:使用JSP的include指令
            <%@include file='被包含的文件'%>
            特点:
                在编译阶段就将多个JSP文件,合并成一个java类
        2.动态包含:使用JSP的动作指令    
            <%jsp: include='被包含的文件'%>
            特点:
                把每一个JSP编译成Servlet类,在编译过程中,动态的合并在一起,最终得到多个java类(动态包含会包含多个java类)
    
        3.动态包含和静态包含的选择:
            如果在包含的时候,需要传递数据,此时只能使用动态包含.(
            如果被包含的页面如果是静态页面,那么使用静态包含
            如果被包含的如果是动态页面,那么使用动态包含
        4.注意:在实际开始中通常将被包含的jsp页面的后缀名设置为jspf
    

    5.taglib:导入标签资源(相当于导包)
    格式:<%@taglib prefix='c' uri="http://java.sun.com/jsp/jstl/core"%>
    prefix:前缀名

  • 相关阅读:
    python两个装饰器的运算顺序
    python中私有属性的访问
    python中的方法使用
    创业,宁愿单兵作战也不要参在拙劣的团队里继续寻觅队友
    项目经理问:为什么总是只有我在加班 – 挂包袱现象
    我该怎么安排下属的工作-项目经理如何分配任务
    项目经理自己要写代码吗?
    管理系统书籍《从程序员到项目经理》 从程序员到项目经理(一)
    宗宁:赚快钱的那些坑。。(转载)
    java 实现二分法
  • 原文地址:https://www.cnblogs.com/linjing111/p/12800769.html
Copyright © 2011-2022 走看看