zoukankan      html  css  js  c++  java
  • 我的学习之路_第三十四章_jsp

    jsp

    在只有servlet时,输出页面内容比较麻烦(成本高,java代码中输出HTML标签),所以需要一种技术,主要是HTML页面的代码
    (HTML,css,js),可以嵌入java代码,来实现动态页面的效果。这种技术就叫做 : JSP

    JSP:java server Page : 动态页面技术,JSP就是Servlet。

    如何开发一个JSP:
    在项目目录中创建一个 .jsp 的文件
    文件内容的第一个行:<%@ page contentType="text/html;char set=UTF-8" %>
    后面可以跟正常的HTML内容

    JSP如何运行的:
    根据WEB服务器中的work目录中的文件。JSP页面在运行之前,被服务器翻译成了servlet的源代码(xxx.jsp -> jsp.java),
    然后在内变异成字节码(xxx_jsp.java->xxx_jsp.class),加载到JVM,运行.

    JSP的语法:
    1.三种脚本:把java的内容嵌入到THML的静态部分中的方式
    <% java代码 %> : 普通的可执行的java代码
    <%= 表达式 %> : 计算表达式的值,并替换到页面的当前位置
    <%! 声明(变量和方法) %> :声明当前JSP所翻译成的java类中的成员

    2.三种注释:
    1.JSP的注释: <%-- 注释内容,可以多行 --%>
    在翻译时消失
    2.java的注释:<% java代码,java注释 %> //单行 /* 多行 */
    翻译是还存在,编译时消失
    3.标签语言的注释:<!-- 注释内容 -->
    和其它页面中的标签的地位相同,都会被当成内容输出给浏览器(这种注释尽量不要用,因为会爆露程
    序的结构,会被黑客利用)
    所以尽量优先用JSP的注释,尽量不要用标签注释。

    3.三个编译指令:在翻译和编译JSP时的一些设置
    <%@ page %> : 设置当前JSP页面中的一些信息

    contentType:设置内容类型(MIME类型)
    pageEncoding:设置页面使用的字符集
    language:使用语言java
    errorpage:当页面中发生异常时,转跳到哪个页面去进行异常处理.
    isErrorpage:当前页面是否是异常处理页面
    import:导包

    <%@ include file=" xxx.jsp " %> : 静态包含另一个页面到本页面中.
    <%@ taglib %> : 引用第三方的标签库

    七个动作指令(动作标签)

    < jsp.include page=" "/> : 动态包含.

    动态包含和静态包含的区别:
    静态包含:在翻译阶段,把被包含页面直接合并到主页面中,然后编译、执行。
    动态包含:主页面的被包含页面是各自进行翻译和编译的,在运行的时候,有主页面通过include的方法
    调用被包含页面

    <jsp: forward page=" "/> : 内部转发
    <jsp: param page=" "/> : 在动态包含和内部转发时传参数
    <jsp: userBean page=" "/> : 使用javaBean
    <jsp: getProperty page=" "/> : 取得javaBean的属性值
    <jsp: setProperty page=" "/> : 设置javaBean的属性值
    <jsp: plugin page=" "/> : 在页面中引入Applet小程序

    九个内置对象:事先创建的对象,可以直接用。

    page this(当前JSP页面所对应的servlet的对象,域对象)
    request HttpServletRequest(域对象)
    session HttpSession(域对象)
    application ServletContext(域对象)
    response HttpServletResponse
    config ServletConfig
    out JspWriter:输出的内容和JSP页面中普通的标签地位相同,使用response.getWriter输出流输出的内容,
    永远在页面之前.
    pageContext pageContext
    取得所有其他内置对象
    操作域对象
    exception Throwable


    小总结:
    在HTML页面中嵌入java代码的一种动态页面技术。
    JSP的本质:servlet(WEB服务器翻译成servlet的源代码、编译、执行)

    三种脚本:
    <% %> : 普通的java执行语句
    <%= %> : 计算表达式的值并替换到页面中的当前位置
    <%! %> : 声明(类的成员)

    三种注释:
    <%-- --%> : 在页面中直接使用.只在JSP页面有效
    // /**/ : 在<% %>中是使用,翻译后存在,编译后消失
    <!-- --> : 相当于标签,所以一直保留到页面中,尽量不用
    三个编译指令:
    <%@ page %>
    contentType
    pageEncoding
    errorPage
    isErrorpage
    import
    language:java
    <%@ include file=" " %> : 静态包含
    <%@ taglib %> : 引用第三方的标签库

    七个动作标签:
    <jsp: include page=" " > : 动态包含
    <jsp: forward >
    <jsp: param>
    <jsp: useBean>
    <jsp: getProperty>
    <jsp: setProperty>
    <jsp: plugin>

    九个内置对象:
    page (object)this 当前页面
    request HttpServletRequest
    session HttpSession
    application ServletContext
    response HttpServletResponse
    out JspWriter(注意它和PrintWriter的区别)
    config ServletConfig
    pageContext pageContext
    取得内置的其他对象
    操作域对象(所有四个域都可以操作,如果不指定域,则默认操作page域,其他的域需要
    通过参数来指定)
    exception 异常. isErrorpage = true 且其它页面发生异常并跳转到本页面时此对象才存在.
    isErrorpage = false ,exception不存在,isErrorpage=true.但是脏街访问的本业面不是从其
    它页面发生异常而跳转过来的话, exception=null.

  • 相关阅读:
    和阿木聊Node.js
    C#开发攀爬集锦
    MyBatis实战
    对于技术的思考
    抛物线习题
    变量集中策略
    变换作图中的常用模板函数
    网上看到一题目的解法的启示
    函数习题
    新定义习题
  • 原文地址:https://www.cnblogs.com/jia-/p/7281859.html
Copyright © 2011-2022 走看看