• JSP基础


    Java Server Page:Java 服务器端网页,在 HTML 页面中编写 Java 代码的页面。JSP 是 Servlet 编写的一种技术,它将 Java 代码和 HTML 语句混合在同一个文件中编写,只对网页中的要动态产生的内容采用 Java 代码来编写,而对固定不变的静态内容采用普通静态 HTML 页面的方式编写。

    1. 新建一个JSP页面,在body节点内的 <% %>便签中即可编写Java代码。

    <body>
    <% 
      Date date = new Date();
      System.out.print(date); 
    %></body>

    ① JSP表达式:<%= expr %>。

    ② JSP脚本片段:<% java code %> 同一个JSP页面中的多个JSP片段中的代码可以相互访问。

    ③ JSP声明:<%! statement %> 形同为当前JSP页面对应的servlet类声明类级变量(即成员变量)。 

    ④ JSP注释的格式:<%-- JSP 注释 --%> <!-- HTML 注释 --> 区别: JSP 注释可以阻止 Java 代码的执行。

    2. JSP页面可以放置在WEB应用程序中的除了WEB-INF及其子目录外的任何其他目录中,JSP页面的访问路径与普通的HTML页面的访问路径形式完全一样。

    3.JSP的运行原理:JSP 本质上是一个 Servlet。 

    每个JSP 页面在第一次被访问时,JSP 引擎将它翻译成一个 Servlet 源程序,接着再把这个 Servlet 源程序编译成 Servlet 的 class 类文件,然后再由WEB容器(Servlet引擎)像调用普通Servlet程序一样的方式来装载和解释执行这个由JSP页面翻译成的Servlet程序。 

    4. JSP的9大内置对象

    即9个隐含的、没有声明即可在JSP页面内使用的对象:request、response、pageContext、session、application、config、out、page、exception。

    public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
    throws java.io.IOException, javax.servlet.ServletException {
    ​
    //...
    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    ​
    //...
    }

    如上代码片段,可以在任意JSP页面对应的servlet源文件的service方法中查看这些内置对象。(对于Eclipse,源文件位置在[工程项目目录].metadata.pluginsorg.eclipse.wst.server.core mp1work[对应具体项目名])。

    关于这九大内置对象的说明:

    ①. request:HttpServletRequest的实例。

    ②. response:HttpServletResponse的实例(在JSP页面中几乎不会调用它的任何方法)。

    ③. pageContext:PageContext的实例,页面上下文,可从它获取到其它8个隐含对象,也可以从中获取当前页面的其它信息,自定义标签用的较多。

    ④. session:HttpSession的实例,代表浏览器和服务器的一次会话。

    ⑤. application:ServletContext实例,代表当前Web应用。

    ⑥. config:当前JSP对应的Servlet的ServletConfig对象对象(几乎不使用)。若需要访问当前 JSP 配置的初始化参数,需要通过映射的地址才可以。 

    <!-- 映射 JSP -->
    <servlet>
      <servlet-name>hellojsp</servlet-name>
      <jsp-file>/hello.jsp</jsp-file>
      <init-param>
        <param-name>test</param-name>
        <param-value>testValue</param-value>
      </init-param>
    </servlet>
    
    <servlet-mapping>
      <servlet-name>hellojsp</servlet-name>
      <url-pattern>/hellojsp</url-pattern> 
    </servlet-mapping>

    ⑦. out:JspWriter的实例。

    ⑧. page:指向当前 JSP 对应的 Servlet 对象的引用,但为 Object 类型,只能调用 Object 类的方法(几乎不使用)。 

    ⑨. exception:在声明了 page 指令的 isErrorPage="true" 时,才可以使用:<%@ page isErrorPage="true" %>。

    pageContext, request, session, application(对属性的作用域的范围从小到大);out, response, config, page;exception。


  • 相关阅读:
    GNU GRUB 2:系统引导器的领导者
    Javascript 返回上一页并刷新
    返回代表指定日期的指定日期部分的整数。返回当前周
    请问如何获取字符串在数组中的位置
    SQL终极优化(包括很多非索引方面的优化和原理)
    td onmouseover="this.style.cursor='hand'" onmouseout="this.style.cursor='normal'" >小手状
    树形菜单
    分页 的首页 rs.absoluteposition=rs.absoluteposition+2+((abs(wzpage)1)*wzrep) 要加2 ??
    JS只弹出一个居中弹出窗口
    一个真实的项目经历,很多东西大家可以借鉴下
  • 原文地址:https://www.cnblogs.com/itfky/p/13728501.html
Copyright © 2020-2023  润新知