1、jsp命令指令
2、jsp隐含对象
3、jsp动作指令
4、jsp中的javabean
5、jsp用户自定义标签
6、jsp2.0的新特性
————————————————————————————
jsp隐含对象
在jsp中,web服务器为jsp定义了许多隐含对象,用户可以通过这些对象与jsp网页中的可执行servlet环境交互。
在jsp环境中用户可以直接用这些对象的各种方法。这些隐含对象如下:
request 客户端请求,包括从GET/POST请求传递过来的参数
response 网页传回客户端的反应
session 与请求关联的会话
config 代码片段配置对象
application 代码片段的运行环境
out 传送响应的输出流
pageContext 在此管理网页属性
page JSP网页本身
exception 有错的网页中未被捕获的例外
-----------------------------
一、request
用于封装客户端的请求信息,通过调用相应的方法可以获取客户端提交的信息。
客户端通常使用html表单向服务器提交信息。表单的格式一般如下:
<FORM method=get action="提交信息的目的页面">
</FORM>
××××××实例3 获取客户提交的信息××××××××××
1、编写login.jsp











2、把login.jsp保存到webapps/02/3目录下
3、编写getinfo.jsp


















4、把login.jsp保存到webapps/02/3目录下
5、在浏览器中输入输入http://localhost:8989/02/3/login.jsp就可以了
¥¥¥如果直接进入http://localhost:8080/02/3/getinfo.jsp则获得






¥¥¥¥¥¥工作流程是<FORM action="getinfo.jsp" method=post name=form>把login.jsp的对象信息获取保存到getinfo.jsp来,然后再getinfo.jsp用request语法把这些信息提取出来。
——————————————————————————————————————————————————
二、response 对象
与request相对应,response 用于对客户端请求做出动态响应,将jsp容器处理后的信息向客户端输出。
在某些情况下,当响应客户端时,需要将客户端转向另一个页面。
这就可以用response 对象的sendRedirect(URL url)方法实现客户端的重定向。
××××实例4 页面重定向××××××××××
本实例包含三个页面,分别是登录页面、正确显示信息页面、信息填写不全的错误提示页面
1、编写登录页面input.html















2、编写处理提交信息及正确显示信息页面sendRedirect.jsp

























3、编写错误提示页面sendRedirect.html




















4、把这三个页面保存到webapps/02/4目录下
在浏览器中输入输入http://localhost:8989/02/4/input.html就可以了
----------------------------------
三、session 对象
Session其实指的就是访问者从到达某个特定主页到离开为止的那段时间。每一访问者都会单独获得一个Session
。在Web应用程序中,当一个用户访问该应用时,Session类型的变量可以供这个用户在该Web应用的所有页面中共
享数据;如果另一个用户也同时访问该Web应用,他也拥有自己的Session变量,但两个用户之间无法通过Session
变量共享信息,而Application类型的变更则可以实现站点多个用户之间在所有页面中共享信息。
--想想登录论坛的时候每个页面上都有的用户名
session 中存储和获取信息的方法:
session.setAttribute(String name,String value)设置指定名称的session属性值;
Object getAttribute(String name)获取指定名称的session属性值;
void removeAttribute(String name)移除指定名称的session属性值;
void putValue(String name,Object value)添加一个session变量;
Object getValue(String name)获得指定名称的session变量的值;
void removeValue(String name)移除一个session变量的值;
String[] getValueName()取得所有session变量的名称的集合。
×××××实例5 在会话过程中存储用户属性××××××××××××××××
有三个页面,在第一个页面session1.jsp中输入用户名,
第二个页面session2.jsp通过request对象提取session1.jsp表单中的thename值,将它存储为name变量,然后将
这个name值保存到session对象中。第三个页面session3.jsp的主要任务是显示问答结果,它从session对象提取
thename的值并显示它,以此证明在多个页面中可以通过session对象存储和维持信息。
1、编写session1.jsp









2、编写session2.jsp




















3、
编写session3.jsp















4、把这三个页面保存到webapps/02/5目录下
在浏览器中输入输入http://localhost:8989/02/5/session1.jsp就可以了
------------------------------
四、application 对象
和Session类似但作用范围不同,Session每个用户各一个互不共享,而所有用户共享同一个application对象。
×××××实例6 简单网站计时器×××××
具体代码application.jsp如下(这里面还有几个有用的html语法)

































2、把这个页面保存到webapps/02/6目录下
在浏览器中输入输入http://localhost:8989/02/6/application.jsp就可以了。
————————————————————————------
五、out对象
out对象是一个输出流,用来向客户端输出数据。
××××××××××实例7 向客户端输出数据××××××××××××××
1、具体代码out.jsp如下

















2、把这个页面保存到webapps/02/7目录下
在浏览器中输入输入http://localhost:8989/02/7/out.jsp就可以了。
---------------------
六、config对象
config 对象
config对象提供了对每一个给定的服务器小程序或JSP页面的javax.servlet.ServletConfig对象的访问。它封装
了初始化参数以及一些使用方法。
作用范围就当前页面,被包含到别的页面无效.jsp的config对象作用不什么到,在servlet中作用比较大.
config对象的方法
(1)getInitParameter(String name)----返回String类型的初始化参数。
语法如下:
config.getInitParameter(String name)
(2)getInitParameterNames()----返回所有初始化参数的名字。
语法如下:
config.getInitParameterNames()
(3)getServletName()----获得当前服务器小程序或JSP页面的名称。
语法如下:
config.getServletName()
(4)getServletContext()----获得当前服务器小程序或JSP页面的服务器小程序环境。
语法如下:
config.getServletContext()
实例:(调试失败)
config.jsp
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>meg.jsp</title>
</head>
<body>
<table align="center" border="0" cellPadding="0" cellSpacing="0"
width="730">
<tr>
<td>
<div align="center">
<br>
客户服务信箱:
<%=config.getInitParameter("email")%>
客户服务热线:
<%=config.getInitParameter("phone")%>
<br>
客户服务 QQ:
<%=config.getInitParameter("qq")%>
<br>
</div>
</td>
</tr>
</table>
</body>
</html>
在web.xml的</web-app>前插入
<!-- config -->
<servlet>
<servlet-name>admin</servlet-name>
<jsp-file>/config.jsp</jsp-file>
<init-param>
<param-name>email</param-name>
<param-value>service@abc.com</param-value>
</init-param>
<init-param>
<param-name>phone</param-name>
<param-value>0411-12345678</param-value>
</init-param>
<init-param>
<param-name>qq</param-name>
<param-value>88888中文呢</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>admin</servlet-name>
<url-pattern>/config.jsp</url-pattern>
</servlet-mapping>
<!-- end config -->
####参考####
1、《白领就业指南:J2EE开发员成长之路》
2、http://blog.chinaunix.net/u/27731/showart_290196.html