什么是Jsp

1.什么是jsp

  java server page(java 服务器端页面技术),是 sun 公司制订的一种服务器端动态页面生成技术的规范。

  因为直接使用 servlet 生成页面,如果页面比较复杂,则代码过于繁琐,并且难以维护,所以对于比较复杂的页面,使用 jsp 来编写,更容易编写和维护。

2.如何写一个 jsp 文件  

  写一个以.jsp 为后缀的文件,然后,在该文件当中,添加 html 和 java 代码。编写完成之后,不需要编译,当客户端请求访问某个.jsp 文件,则服务器会自动将.jsp 文件转换成一个.java 文件(该.java 文件其实是一个 servlet)。

3.jsp 文件的组成 **

  a. html(包括 css、javascript)

    直接写在.jsp 文件里即可

  b. java 代码

   第一种形式: java 代码片断
      语法: <% java 代码 %>

  第二种形式: jsp 表达式      

      语法: <%= java 表达式%>  

  c. 指令

  所谓指令,就是告诉 jsp 引擎(容器当中,负责将.jsp 文件转换成.java 文件,并在运行时,为 jsp 提供一些 辅助支持的模块),在将.jsp 文件转换成.java 文件时,做一些额外的处理。

      语法:    <%@ 指令名 属性名=属性值%>
  page 指令
    ##常用指令共 3 个,今天了解并掌握 page 指令##
    > import 属性:
      用于导包。
      比如<%@page import="java.util.*,java.text.*"%>
    > contentType 属性:
      等价于 response.setContentType();
    > pageEncoding 属性:
      告诉 jsp 引擎,.jsp 文件保存时的编码。
  d. 隐含对象
    所谓隐含对象,指的是在.jsp 文件当中,不用声明和创建该对象,就可以直接使用的对象。原因是,.jsp 文件对应的.java 文件当中,已经自动生成了该对象的代码。
       out
       request
       response

4.jsp 文件如何转换成.java 文件  *

  >html 转换为 jsp
    放到 service()方法里,使用 out.write()输出。
  > java 代码片断
    放到 service()方法里,照搬

*************************************

1.转发

  1) 什么是转发?

  一个 web 组件(jsp/servlet)将未完成的处理转交给另一个 web 组件继续处理。转发的各组件会共享 request 和 response 对象。
  2) 如何转发?
    step1
      先绑订数据
      request.setAttribute(String name,Object obj);
      跟绑订相关的另外两个方法
      //如果 name 对应的值不存在,返回 null。
      Object request.getAttribute(String name);
      request.removeAttribute(String name);
    step2
      获得转发器,转发
      RequestDispatcher rd = request.getRequestDispatcher(String uri);
      rd.forward(request,response);

      或

      RequestDispatcher rd =request.getRequestDispatcher(String uri).rd.forward(request,response);
  3) 编程中要注意的问题
    转发之前,不能够执行 out.close 戒者 out.flush。
    转发之前,会将 response 中缓存的数据先清空。
  4) 转发的特点
    a. 转发的目的地只能是同一个应用内部的某个组件
    b. 转发之后,浏览器地址栏的地址没有变化
    c. 转发所涉及的各个组件可以共享同一个 request,response 对象

走在一起是缘分,在一起走是幸福; 在一起走是缘分,走在一起是幸福
原文地址:https://www.cnblogs.com/tarena/p/3618387.html