Java Web程序设计

刘肃平、聂军、王华、李勇波、魏碧晴

目录

  • 1 Java Web概述
    • 1.1 任务导引
    • 1.2 动态网页技术介绍
    • 1.3 JSP的运行环境
    • 1.4 JSP的运行原理
    • 1.5 JSP程序开发模式
    • 1.6 JSP开发工具
    • 1.7 任务实施:JSP开发环境搭建及第一个Hello World程序
  • 2 JSP基本语法
    • 2.1 任务导引
    • 2.2 JSP的基本组成
    • 2.3 脚本元素
    • 2.4 指令元素
    • 2.5 动作元素
    • 2.6 任务实施
  • 3 服务器交互
    • 3.1 任务导引
    • 3.2 JSP内置对象概述
    • 3.3 out对象
    • 3.4 request对象
    • 3.5 response对象
    • 3.6 session对象
    • 3.7 application对象
    • 3.8 其他内置对象
    • 3.9 任务实施:使用JSP内置对象实现登录和注销功能
  • 4 JavaBean技术
    • 4.1 任务引导
    • 4.2 JavaBean概述
    • 4.3 JavaBean的应用
    • 4.4 JavaBean的作用域
    • 4.5 任务实施
    • 4.6 JSP中的文件操作
  • 5 Servlet技术
    • 5.1 任务引导
    • 5.2 Servlet基础
    • 5.3 Servlet开发
    • 5.4 Servlet常用API
    • 5.5 任务实施
  • 6 第6章 过滤器和监听器
    • 6.1 任务导引
    • 6.2 Servlet过滤器
    • 6.3 过滤器创建与配置
    • 6.4 Servlet监听器
    • 6.5 Servlet3.0新特性
    • 6.6 任务实施
  • 7 Java Web的数据库操作
    • 7.1 任务导引
    • 7.2 JDBC技术
    • 7.3 使用JDBC驱动程序访问数据库
    • 7.4 数据库连接的JavaBean
    • 7.5 JDBC对事务的操作
    • 7.6 连接池技术
    • 7.7 任务实施
    • 7.8 扩展阅读
  • 8 JSP高级技术
    • 8.1 任务导引
    • 8.2 EL概述
    • 8.3 JSTL标签库简介
    • 8.4 JSTL核心标签
    • 8.5 JSP与Ajax
    • 8.6 任务实施
    • 8.7 扩展阅读
  • 9 JSP实用组件技术
    • 9.1 任务导引
    • 9.2 上传与下载组件
    • 9.3 发送E-mail
    • 9.4 JSP动态图表
    • 9.5 在线编辑器
    • 9.6 任务实施
指令元素

请同学们先浏览PPT,这是一个任务点哈!完成后有惊喜哟!



该元素的作用是在将JSP源文件解析成Java文件时指示JSP引擎做出相应的操作,从而达到预期的目的。JSP指令在整个页面范围内有效,且不在客户端产生任何输出。基本格式为:<%@指令 属性1="" ... 属性2="" %>常见的指令有: page、include、taglib,要注意“%”和“@”符号之间不能有空格。 

1.page指令

page指令用来设定JSP页面的全局属性和相关功能,作用于整个JSP文件,可以放到JSP页面的任何位置,但为了便于阅读和格式规范,通常放到JSP页面开始的位置。

语法格式:<%@ page 属性="值" %>

如:<%@ page import=" java.text.*,java.util.*" %>

1、language属性

设置JSP页面使用的语言,目前只支持Java,默认值为Java<%@ page language="java" %>

2、extends属性

设置JSP页面继承的java类,JSP页面在执行之前都会被服务器解析成Servlet,而Servlet是由Java类定义的,所以JSP和Servlet都可以继承指定的父类,该属性不常用,可能影响服务器的性能优化。

3、import属性

设置JSP导入的类包,嵌入的java代码片段需要导入相应的类包。<%@ page import="java.util.*" %>

4、pageEncoding属性

指定页面编码格式,如果设置为ISO-8859-1,则页面不支持中文,通常设置为GBK或者UTF-8<%@ page pageEncoding="UTF-8"%>

5、contentType属性 

设置页面的MIME类型和编码<%@ page contentType="text/html; charset=UTF-8"%>

6、session属性 

指定页面是否使用HTTP的session会话对象,默认值为true<%@ page session="true"%>

7、buffer属性 

设置页面out输出对象的缓冲区大小,默认为8KB,单位只能使用KB,建议使用8的倍数作为属性值<%@ page buffer="128kb"%>

8、autoFlush属性 

设置页面缓存满时,是否自动刷新缓存,默认为true,如果设置成false,则缓存满时会抛出异常<%@ page autoFlush="false"%>

9、isErrorPage属性 

可以将当前页面设置成错误处理页面来处理另一个JSP页面的错误,也就是作为异常处理页面<%@ page isErrorPage="true"%>

10、errorPage属性 

设置当前页面的异常处理页面,对应的异常处理页面isErrorPage必须设置为true,如果设置该属性,那么在web.xml文件中定义的任何错误处理页面都将被忽略,优先使用该属性定义的异常处理页面。<%@ page errorPage="relativeURL"%>

11、isThreadSafe属性: 

设置JSP页面是否可以多线程访问。默认值为true,表示当前JSP页面被转换为Servlet后,会以多线程的方式来处理来自多个用户的请求;如果设为false,则转换后的Servlet会实现SingleThreadMode接口,并且将以单线程的方式来处理用户请求。

12、isELIgnored属性:

其值可设置为true或false,表示是否在此JSP网页中执行或忽略表达式语言“${}”。设为true时,JSP容器将忽略表达式语言。

13、info属性

设置JSP页面的相关信息,如当前页面的作者、编写时间等。此值可设置为任意字符串,由Servlet.getServletInfo()方法来获取所设置的值。

【案例2-5】网页获取当前的系统时间

<%@ page language="java" pageEncoding="UTF-8"%>

<html>

  <head>

    <title>网页获取当前的系统时间</title>

  </head>

  <body>

    <%@ page import="java.util.*"%>   

<!-- 先不加上面这句话演示-->

<%

Date d=new Date();

out.println(d.toLocaleString());

%> 

  </body>

</html>

运行效果如何呢?同学们赶紧试试吧?

2.include指令

include指令用来向当前页面插入一个静态文件,这个静态文件可以是html文件、jsp文件或其他文本文件或者只是一段java代码。

语法格式如下:<%@ include file="URL" %> 

【案例2-6】引入页头和版权页面

head.jsp页面:

<%@page contentType="text/html;charset=gb2312" %>

<a href="chinaboy.jsp">华人男歌手</a>

<a href="chinagirl.jsp">华人女歌手</a>

copyright.jsp页面

<%@page contentType="text/html;charset=gb2312" %> 

Copyright @ 2017-2018.蓝敏工作室

index.jsp页面:

<%@page pageEncoding="gb2312"%>

<%@include file="head.jsp"%>

<br>

正文内容

<br>

<%@include file="copyright.jsp"%> 

3.taglib指令

开发人员可以使用标记库来定义自己的JSP标记,页面设计人员可以直接使用标记库中的自定义标记,而同时隐藏底层的实现细节。taglib指令用于引入JSP页面中需要使用的标记库的定义,开发者可通过前缀来引用标签库中的标签。

语法:<%@ taglib  prefix="前缀名"   uri="标记库的uri地址" %>

举例:

<%@ taglib uri="http://myjsp.com.cn/exampleTags" prefix="myTags" %>

<myTags:doSomething></myTags:doSomething>