JSP基础入门

一. JSP 页面书写Java代码的三种方法

1. 声明表达式<%! %>

声明变量和函数,可以由java代码调用。例如<%! String name=“yvwenting”%>

注意:

  • <%!%>中可以出现分号
  • 声明脚本可以放在页面的下方,也可以放在页面的上方。
  • 不建议在声明脚本中声明变量,这样会导致线程不安全。

2. 普通脚本<% %>

用于在jsp页面执行java语句如实例化对象,调用方法等,在这里面也可以定义变量,但要想输出就得使用out.println()方法。

3. 表达式标签<%= %>

用于在jsp页面显示(向页面输出,现在在页面上)某个变量值,或方法调用的返回值。


二. JSP 编译指令

定义了三个指令:page指令,include指令,taglib指令。

  1. 关于 page 指令:<%@ page%>定义网页依赖属性。
  • language 定义jsp页面使用的脚本语言,默认为Java
  • import 导入要使用的Java类
  • contentType 指定jsp页面的MIME类型和字符编码
  • pageEncoding jsp文件本身的编码
  • isELignored 指定el表达式能否被执行
  • session 指定session能否被使用
  • isScriptingEnabled 指定脚本元素能否被使用
  1. 关于 include 指令:<%@ include%>,用于引入其他jsp页面,jsp引擎会将两个jsp翻译成一个servlet,所以也称为静态引入。
  • file指定被包含文件相对于当前jsp页面的相对url
  1. 关于 taglib 指令:<%@ taglib%>,是定义一个标签库以及其自定义标签的前缀。
  • uri指定该标签库的存放位置
  • prefix指定该标签库的引用前缀

三. JSP 动作指令

  1. jsp:forward:执行页面转向,将请求的处理转发到下一个页面。
  • forward指令:转向的作用,既可以转发到静态的HTML页面,也可以转发到动态的JSP,或者转发到容器的Servlet。
  1. jsp:param:用于传递参数,必须与其他支持参数的标签一起使用。
  • param指令:用于设置参数,不能单独使用,与三个指令结合使用(jsp:forward,jsp:include,jsp:plugin),与forward一起使用时,param指令用于将参数值传入被转向的页面;与include一起使用时,用于将参数值传入被导入的页面;与plugin一起使用时,用于将参数传入页面中的JavaBean实例或Applet实例。
  1. jsp:include:用于动态引入一个JSP页面。
  • include指令:这是一个动态指令,也用于包含某一个页面,它不会导入被include页面的编译指令,仅仅将被导入页面的body内容插入页面。
  1. jsp:plugin:用于下载JavaBean或Applet到客户端执行。
  • plugin指令:主要用于下载服务端的JavaBean或Applet到客户端执行。由于程序在客户端执行,因此客户端必须安装虚拟机。使用不多。
  1. jsp:useBean:创建一个JavaBean实例。
  2. jsp:setProperty:设置JavaBean实例的属性值。
  3. jsp:getProperty:输出JavaBean实例的属性值。
  • useBean用于在JSP页面中初始化一个Java实例;setProperty指令用于JavaBean实例的属性设置值;getProperty指令用于输出JavaBean实例的属性。若多个JSP页面需要重复使用某段代码,可以把这段代码定义成Java类的方法,然后让多个JSP页面调用该方法即可。

四. JSP 脚本中的9个内置对象

  1. application
    jsp、servlet之间不能相互调用。为了解决jsp和servlet之间数据交换的问题,webserver提供了四个对象,各自是application、session、request、page。
    放入application对象中的数据对整个Web应用有效,一旦jsp、servlet将数据放入application对象之中,该数据能够被该应用下其他jsp、servlet访问。

  2. config
    config对象代表当前jsp配置信息,但jsp页面通常无需配置,该对象在jsp页面中较少使用。在servlet中使用较多。

  3. exception
    exception对象是Throwable的实例。代表jsp脚本中产生的错误和异常,是jsp页面异常机制的一部分。把page指令的isErrowPage属性设置为true时能够訪问exception内置对象。

  4. out
    out对象是javax.servlet.jsp.JspWriter的实例,代表jsp的输出流,永于输出内容形成html页面。
    out对象一些方法:

  • out.println():输出完毕后会换行,换行效果在页面中不显示仅仅在源代码中显示
  • out.print():输出后不换行
  • out.getBufferSize() :输出缓冲区大小
  • out.getRemaining() :输出剩余缓冲区大小
  • out.clear():清空缓冲区,不将数据发送至client
  • out.clearBuffer():将数据发送至client,再清空缓冲区
  • out.flush():输出缓冲区内容
  • out.close():关闭输出流
  1. page
    代表该页面本身。通常没有太大用处。

  2. pageContext
    代表页面上下文,主要用于jsp之间的共享数据,使用pageContext对象能够訪问page、request、session、application范围的变量。

  3. request
    request对象是jsp中的重要对象,每一个对象封装着一次用户请求。而且所有对请求參数都被封装在request对象中,request对象是获取用户请求參数的重要途径。
    request对象的一些方法:

  • request.getMethod():获取请求的方法名。如:get,post.
  • request.getRequestURI():获取请求资源名.如:请求訪问:/jspstudy/08/request.jsp
  • request.getProtocol():获取请求使用的协议.如:HTTP/1.1
  • request.getServerName():获取请求使用的server,如:localhost.
  • request.getServerPort():获取请求使用的serverport。如:8080
  • request.getRemoteAddr():获取client的ip地址.
  • request.getRemoteHost():获取client主机.
  • request.getParameter():获取传递过来的參数值.
  • request.getParameterValues():请求參数有多个值时。该方法返回多个值组成的数组.
  • request.setAttribute():
  1. response
    response对象用于server对client的响应,大部分时候使用out对象向页面输出。可是out对象时JspWriter对象的实例,JapWriter时Writer的字类。Writer是字符流,因此out对象无法输出非字符内容。jsp页面须要输出图片、pdf文档、excel等非字符对象时须要使用response作为响应输出.response还能够用于重定向。向client添加cookie.

  2. session
    session对象代表一次用户会话。一次用户会话的含义是:从client连接server開始。到client与server断开为止,这个过程就是一次会话。
    session通经常使用于跟踪用户的会话信息,如推断用户是否登录。购物车中跟踪用户购买的商品。
    session范围的属性能够在多个页面点跳转之间共享。一旦关闭浏览器,session结束。session范围内的属性就会所有丢失。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值