NO.66 JSP基础应用

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页面进行处理
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、JSP基础 1.1什么是JSP JSP(Java ServerPage)是Java服务器端动态页面技术。是su...
    晨星资源阅读 4,878评论 0 6
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,916评论 18 399
  • 1.什么是JSP (1)jsp全称是Java Server Pages,它和Servlet技术一样都是sun公司定...
    yjaal阅读 9,046评论 5 99
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,359评论 19 139
  • 这部分主要是与Java Web和Web Service相关的面试题。 96、阐述Servlet和CGI的区别? 答...
    杂货铺老板阅读 5,235评论 0 10