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 对象

什么是Jsp的更多相关文章

  1. myeclipse学习总结一(在MyEclipse中设置生成jsp页面时默认编码为utf-8编码)

    1.每次我们在MyEclispe中创建Jsp页面,生成的Jsp页面的默认编码是"ISO-8859-1".在这种情况下,当我们在页面中编写的内容存在中文的时候,就无法进行保存.如下图 ...

  2. jsp前端实现分页代码

    前端需要订一page类包装,其参数为 private Integer pageSize=10; //每页记录条数=10 private Integer totalCount; //总记录条数 priv ...

  3. jsp中出现onclick函数提示Cannot return from outside a function or method

    在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or m ...

  4. jsp页面无法识别el表达式的解决方案

    今天在写一个springmvc的小demo时,碰到一个问题,在jsp页面中书写为${user.username}的表达式语言,在浏览器页面中仍然显示为${user.username},说明jsp根本不 ...

  5. 浅谈JSP中include指令与include动作标识的区别

    JSP中主要包含三大指令,分别是page,include,taglib.本篇主要提及include指令. include指令使用格式:<%@ include file="文件的绝对路径 ...

  6. 浅谈JSP注释

    HTML注释 JSP文件是由HTML尿急和嵌入的Java程序片段组成的,所以在HTML中的注释同样可以在JSP文件中使用.注释格式:<!--注释内容--> <!-- 欢迎提示信息! ...

  7. JSP 标准标签库(JSTL)

    JSP 标准标签库(JSTL) JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能. JSTL支持通用的.结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签, ...

  8. Nginx服务器之Nginx与tomcat结合访问jsp

    本文使用linux centos系统 本文概述: JSP是一种动态网页技术标准.使用的方式是在HTML文件中插入程序段和JSP标记,而形成JSP文件.使用JSP开发WEB应用可以跨平台开发.但jsp需 ...

  9. 基于jsp+servlet图书管理系统之后台万能模板

    前奏: 刚开始接触博客园写博客,就是写写平时学的基础知识,慢慢发现大神写的博客思路很清晰,知识很丰富,非常又价值,反思自己写的,顿时感觉非常low,有相当长一段时间没有分享自己的知识.于是静下心来钻研 ...

  10. JSP页面跳转的几种实现方法

    使用href超链接标记      客户端跳转 使用JavaScript               客户端跳转 提交表单                        客户端跳转 使用response ...

随机推荐

  1. Xcode中AutoLayOut的简单使用

    做了一段界面最头疼的就是适配的问题了,使用AutoLayOut做适配是一个不错的选择, 自己做的一个小例子,具体如下: 一.在新建的xib文件中勾选上 autoLayout,默认是勾选上的 二.在xi ...

  2. 一个初学者的辛酸路程-初识Python-1

    前言 很喜欢的一句话,与诸位共勉. 人的一切痛苦,本质上都是对自己无能的愤怒----王小波. 初识Python 一.它的爸爸是谁 首先,我们需要认识下面这位人物. 他是Python的创始人,吉多范罗苏 ...

  3. JPA 系列教程11-复合主键-2个@Id

    复合主键 指多个主键联合形成一个主键组合 需求产生 比如航线一般是由出发地及目的地确定,如果要确定唯一的航线就可以用出发地和目的地一起来表示 ddl语句 CREATE TABLE `t_airline ...

  4. C# 中的局部static变量

    其实这问题没什么可讨论的,C#不支持局部静态变量. 但还是想了一下C#为什么不支持局部静态变量,以下均是个人想法. C++和C支持局部静态变量,也就是在一个函数的内部声明一个静态变量,这种变量的特定如 ...

  5. 好玩的获取目录信息的例子[C#]

    DirectoryInfo dirinfo = new DirectoryInfo("d:\\111"); DirectoryInfo[] dirs = dirinfo.GetDi ...

  6. EXCEL应用:高级筛选里的条件或和与的条件怎么写 例:不包含,包含等

    ============================================================= a列包含b列,在c列中显示b列信息, =INDEX(B:B,MIN(IF(I ...

  7. 缓存2 动态缓存 memcached

    01准备下载好memcached.exe文件-->放置c:\memcached目录中02准备下载好php_memcache.dll文件-->放置php\ext扩展目录中03配置 php.i ...

  8. Cake

    Cake Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

  9. Html wmode 标签参数详解

    原文出处:http://blog.sina.com.cn/s/blog_4532d8b50101g2sw.html 在网页中嵌入swf文件时,经常会用到wmode这个参数,而嵌入的swf出现的一些问题 ...

  10. oracle即时客户端安装方法

    http://blog.csdn.net/magicboylinw/article/details/7025885 Oracle Instant Client(即时客户端) 安装与配置 oracleO ...