美文网首页java学习
NO.66 JSP基础应用

NO.66 JSP基础应用

作者: smallnumber | 来源:发表于2017-09-11 22:25 被阅读0次

    1.jsp是什么?

    sun公司制订的一种服务器端动态页面技术规范。

      注:a.因为直接使用servlet虽然也可以生成动态页面,但是过于繁琐(需要用out.println),并且不利于维护(如果要修改页面,需要修改java代码),所以,sun才制订了jsp技术规范。

    b.jsp是一个以.jsp为后缀的文件(主要由html和java代码构成),

    容器会将该文件转换成一个对应的servlet然后执行。

    2.如何写jsp?

    step1. 添加一个以.jsp为后缀的文件。

    step2. 在该文件里面,可以添加如下内容:

    (1)html (css,js) :直接写。

    (2)java代码:

      1)java代码片断:  <%  java代码  %>

      2)jsp表达式:    <%=  java表达式 %>

    (3)隐含对象:

      1)什么是隐含对象?

      在jsp文件里面,可以直接使用的对象,比如out,request,response。

      2)为什么可以直接使用这些隐含对象?

      jsp会先转换成一个对应的servlet,容器会自动添加获得这些对象的代码。

    (4)指令

      1)什么是指令?

      告诉容器,在将jsp文件转换成servlet时,做一些额外的处理,比如导包。

      2)语法

      <%@ 指令名 属性名=属性值  %>

      3)page指令

      import属性:导包,比如<%@ page import="java.util.*,java.text.*"%>

      contentType属性:设置response.setContentType的内容。

      pageEncoding属性:告诉容器,在读取jsp文件时,使用指定的字符集来解码。

    3.jsp是如何执行的?

    step1. 容器要将jsp文件先转换成一个servlet

    (.jsp文件 --->.java文件)

    html(css,javascript)  service方法里面,使用out.write输出。

    <%    %>              service方法里面,照搬。

    <%=    %>            service方法里面,使用out.print输出。

    step2. 容器调用该servlet。

    4.转发

    (1)什么是转发?

    一个web组件将未完成的任务交给另外一个web组件继续做。

    转发的本质: 一个web组件通知容器去调用另外一个web组件。

      注:a.web组件,指的是servlet或者jsp。

    b.一个servlet将数据转发给一个jsp,由jsp将数据以合适的方式展现出来。

    (2)如何转发?

    step1.将数据绑订到request。

    request.setAttribute(String name,Object obj);

      注:Object request.getAttribute(String name);

    step2.获得转发器。

    RequestDispatcher rd =request.getRequestDispatcher(String url);

      注: url转发的目的地。

    step3.转发

    rd.forward(request,response);

    (3)特点

    a. 转发之后,浏览器地址栏的地址是不变的。

    b. 转发目的地有限制(要求是同一个应用)。

    代码示例:

    list部分的servlet代码 转发到list部分的jsp页面进行处理

    相关文章

      网友评论

        本文标题:NO.66 JSP基础应用

        本文链接:https://www.haomeiwen.com/subject/neqqsxtx.html