1.从一个jsp页面跳转到另一个jsp页面时的参数传递
(1)使用request对象获取客户端提交的信息
login.jsp页面代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
getinfo.jsp页面代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
获取文本框提交的信息:
String textContent = request.getParameter("name");
%>
String buttonName = request.getParameter("submit");
%>
(2)使用session对象获取从客户端提交的信息
session1.jsp页面代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
请输入您的姓名:
session2.jsp通过request对象提取session1.jsp表单中的thename值,并将其保存到session对象中,session2.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
String name = request.getParameter("thename");
session.setAttribute("thename",name);
%>
您的姓名是:
您喜欢吃什么?
session3.jsp的主要任务是显示结果,它从session对象提取thename的值并显示它,以证明在多个页面中可以通过session对象存储和维持信息,session3.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
String food = request.getParameter("food");
String name = (String)session.getAttribute("thename");
String pwd = request.getParameter("pwd");
%>
您的姓名是:
您喜欢吃:
您的密码是:
程序运行结果如图2所示:
(3)利用隐藏域传递数据
使用隐藏空间记录用户提交日期的hiddenindex.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
">
请输入您的姓名:
显示隐藏空间信息的hidden.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
String name = request.getParameter("name");
String date = request.getParameter("time");
%>
您的姓名是:
提交时的系统时间为:
程序运行结果如下:
使用隐藏域的一个缺点是用户可通过查看网页源程序读到隐藏域的值。
(4)通过超链接传递数据
建立链接到其他分页的超级链接page.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
int PageCount = 15;
%>
>到第1页 |
>到最后一页 |
接收显示分页showpage.jsp代码如下:
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
String toPage = request.getParameter("ToPage");
out.println("第" + toPage + "页");
%>
运行结果如下:
2.jsp页面传递参数给servlet
(1)使用request对象接收参数
新建名为ForwardServlet的Servlet类,代码如下:
package com.shi.servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* 本类用来获得表单请求信息,并根据请求信息转发页面
*/
public class ForwardServlet extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* 构造函数
*/
public ForwardServlet()
{
super();
}
/**
* 初始化
*/
public void init() throws ServletException
{}
/**
* doGet()方法
*/
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
doPost(request, response);
}
/**
* doPost()方法
*/
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
String name = request.getParameter(