JSP技术—笔记
Servlet (Server Applet),全称Java Servlet,是由Sun公司开发的用于扩展web 服务器功能的组件规范
JSP (Java Server Pages,即Java服务器页面) 是一种动态网页技术标准,该技术实现静态HTML和动态HTML混合编码,其根本是一个简化的Servlet设计。
JSP页面由系统编译成Servlet,Servlet再负责响应用户请求。
“JSP + Servlet + JavaBean 编程”方式是目前最流行的MVC开发模式。
JSP指令元素 主要包括:include、page和taglib
语法格式:<%@ 指令元素 属性名=“属性值” %>
1、include指令 元素称为文件包含,是在JSP容器把JSP网页翻译成Servlet程序时,将指定文本文件的内容嵌入Servlet程序中,替换include指令。
<%@ include file="relativeURLspec" %>
2、page指令 用于设置当前JSP页面的属性。
<%@ page 属性名=“属性值” %>
<%@ page
language="java"
import="java.util.*,java.io.*"
info="www.jju.edu.cn,2000-1-1"
pageEncoding="gb2312"
errorPage="……"
isErrorPage="true|false"
contentType="text/html; charset=gb2312"
%>
//Language属性定义JSP脚本代码采用的编程语言,默认为java
//info属性定义JSP页面的信息,如版权、开发日期等,可通过javax.sevlet.Servlet.getServletInfo()方法读取这些信息。
//pageEncoding属性定义当前页面的字符编码标准,默认的字符集为ISO-8859-1,如果页面中有简体中文,则字符集应该定义为GB2312或GBK。
//显示出错的页面,如: errorPage=“examErr.jsp”
//出错页面如examErr.jsp必须为true
//常用charset=utf-8
JSP脚本元素:脚本、表达式、声明
1、脚本:脚本小程序也叫Scriptlet ,是一段Java代码。
<% scriptlet %>
在<% %>内定义的变量属于局部变量
用法: <% int i = 50 * 3 + 2; %>
2、表达式:表达式元素的基本功能是运行一条Java表达式,如果表达式有计算结果,则把结果显示在表达式位置上。
<%= expression %>
表达式不能带Java语句结束符“;”。 用法:<%=i%>
3、声明:声明元素用于定义全局变量和全局方法。
<%! statement %>
声明是一段Java代码,应以”;”结尾。用法:
<%!
int i=1,j=2,k=3; //声明变量
int sum(){ return(i+j+k); } //声明方法
%>
Request对象 用于读取客户端传递的参数。客户端传递给服务器的参数最常见的是表单数据或附在URL中的参数。
request.getParameter(“参数名”):用于获取URL中的参数
用request读取参数 分为2种:单值参数 和 多值参数
1、单值参数是指一个变量最多有一个值。我们可以用request对象的getParameter()方法来读取指定变量的参数值。
(1)形参是参数的变量名,以String形式返回变量的值
(2)如果request对象中没有指定的变量,则返回null
如果要用URL传递多个参数,可以改用getParameterNames()读取表单参数:
(1)形参是参数的变量名,返回变量的值为枚举类型
(2)通过遍历该枚举类型,可以得到所有传递的值
2、多值参数的典型代表是表单复选框。我们可以用request对象的getParameterValues()方法来读取同一变量的多个参数值。
(1)形参是参数的变量名,返回变量的值为字符数组
(2)通过遍历该数组,可以得到所有传递的值
request.getAttribute() 从request作用范围读出指定名字的属性对象
request转发器(RequestDispatcher)可以获得目标资源并将当前Servlet程序的request和response对象转发给目标资源,并跳转至目标资源上运行程序。
request.getRequestDispatcher()用于返回目标资源的RequestDispatcher对象
重定向 又称为客户端的跳转。重定向的功能类似超链接,只不过这种操作是在服务器端完成的。
<%
response.sendRedirect("URL");
%>