java重定向并保持同一个会话_java跳转和重定向的区别:一个是浏览器请求一次;一个是浏览器请求后服务器响应后又让浏览器请求重定向的目标资源(共两次请求)。...

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");

%>

0692c071804d4a878eaba19ef1003a21.png

(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所示:

b1db635bb7c9122451ebe81171a8f2a0.png

(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");

%>

您的姓名是:

提交时的系统时间为:

程序运行结果如下:

e5c8abc5d7ad372080cc67656f3471c8.png

使用隐藏域的一个缺点是用户可通过查看网页源程序读到隐藏域的值。

(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 + "页");

%>

运行结果如下:

303c77b1a46317feb261d2de6d88f131.png

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(

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值