1. jsp (java server page)

(1)jsp是什么?

sun公司制订的一种服务器端动态页面技术规范。
注:
    因为虽然使用servlet也可以生成动态页面,
但是过于繁琐(需要使用out.println),并且难以
维护(修改页面,就需要修改java代码),所以,sun
才制订了jsp规范。
    jsp是一个以.jsp为后缀的文件,该文件被容器
转换成一个对应的Servlet然后执行。也就是说,jsp
的本质就是一个Servlet!

(2)如何写jsp?

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

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

a. html(css,javascript) : 直接写。
b. java代码:
    b1. java代码片断
    <%  java代码   %>
    b2. jsp表达式
    <%= java表达式 %>
c. 隐含对象
   c1.什么是隐含对象?
    可以直接使用的对象,比如out,request,
    response。
   c2.为什么可以直接使用这些隐含对象?
     容器会添加获得这些隐含对象的代码。
d. 指令
    d1.什么是指令?
    通知容器,在将jsp转换成servlet时,
    做一些额外的处理,比如导包。
    d2.语法
    <%@ 指令名 属性=值 %>
    d3.page指令
       import属性:用于导包,比如
        <%@ page import="java.util.*"%>
        <%@ page import="java.util.*,java.text.*"%>
       contentType属性:设置response.setContentType方法的参数值。
       pageEncoding属性:告诉容器,在读取
            jsp文件的内容时使用指定的字符集去解码。


(3)jsp是如何运行的?

1)step1. 容器要将jsp转换成servlet。

html(css,js) ----> service方法里面,使用
                out.write输出。
    注: out.write方法会将null转换成""输出,
        而out.println方法会将null直接输出。
<%     %>   -----> service方法里面,照搬。
<%=    %>   -----> service方法里面,使用
                out.print输出。

2)step2. 容器调用该servlet。

2.转发

(1)什么是转发?

一个web组件将未完成的任务转交给另外一个
web组件继续做。
注:
    web组件指的是servlet或者是jsp。
    常见的情况是servlet将数据转发给jsp来
    展现。

(2)如何转发?

step1.绑订数据到request。

request.setAttribute(String name,Object obj);
比如:
  request.setAttribute("users",users)

step2.获得转发器。

RequestDispatcher rd = request.getRequestDispatcher(String uri);
注:
    RequestDispatcher是一个接口。
    uri:转发的目的地,通常是一个jsp。

step3.转发

rd.forward(request,response);
注:
    转发的本质,是一个web组件通知容器
    去调用另外一个web组件。

Object request.getAttribute(String name);
注:如果绑订对应的值不存在,返回null。

最新文章

  1. nodejs缓冲模块buffer相关资料
  2. 安卓TabHost页面
  3. aspx页面,中文乱码解决方案
  4. 一键配置本地yum源
  5. VMWare发布ESXi 6.0
  6. 如何用C语言编写病毒‘
  7. UrlRewrite伪静态
  8. linux shell 编程
  9. 【leetcode❤python】 36. Valid Sudoku
  10. js各种间距数据汇总
  11. hadoop2.2.0 单机伪分布式(含64位hadoop编译) 及 eclipse hadoop开发环境搭建
  12. DELL WIN7系统安装 U盘
  13. hdu1010
  14. JavaScript函数部分
  15. 使用Spring boot + jQuery上传文件(kotlin)
  16. Android实训案例(五)——四大组件之一ContentProvider的使用,通讯录的实现以及ListView的优化
  17. Docke--基础篇
  18. windows2008r2系统破解登录密码方法
  19. AngularJS学习之 ui router
  20. Compensating-Transaction模式

热门文章

  1. spring 基础知识复习
  2. Devexpress Xtrareport 创建主从报表
  3. intellijidea课程 intellijidea神器使用技巧 3-2 livetemplate
  4. AJAX跨域POST发送json时,会先发送一个OPTIONS预请求
  5. jquery 滑块导航菜单
  6. 安装office提示Office 16 Click-to-Run Extensibility Component
  7. --disable-column-names,--skip-column-names,--column-names=0
  8. js有限状态机
  9. java之操作mysql常用方法
  10. Hadoop federation配置