zoukankan      html  css  js  c++  java
  • jsp中利用response.senddirect(str)重定向,传递参数新思路

    用Servlet进行请求重定向,参数传递好办,直接用request.setAttribute(str1,str2);

    但是如果不用Servlet 而是直接用jsp进行转发呢?

    我们首先要知道   请求的重定向:在最终的Servlet中,request对象和中转的那个request不是同一个对象 

    所以传递参数,自然就获取不到了

    下面我们换思路,另辟蹊径,我们用session   session的生命周期长啊  所以完全可以获取

    至于session与request的知识,请查阅相关资料

    下面贴出登录出现密码或用户名错误  跳转至login页面

    <%
    			userBean bean = new userBean();
    			String name = request.getParameter("userName");
    			String password = request.getParameter("userPassword");
    			String str1 = "";
    			if(bean.isVerifyLoginInfo(name, password))
    				str1 = "login success";
    			else
    			{
    				str1 = "fail in login,password or username has error.";
    			%>
    			<%-- 请求转发
    			<jsp:forward page="login.jsp">
    			<jsp:param name="error" value="<%=str1%>"/>	
    			</jsp:forward>
    			--%>
    			<%
    				//请求重定向
    				
    				session.setAttribute("error",str1);
    				//request.setAttribute("error",str1);
    				response.sendRedirect("login.jsp");
    				
    				}
    %>
    

      

         <%
             //利用重定向获取到的参数属性 //String str = (String)session.getAttribute("error"); String str = (String)request.getAttribute("error"); /*利用请求转发获取的参数 String str = request.getParameter("error"); if(str == null) str=""; */ if(str == null) str=""; %> <h2 align="center"><font color="red"><%=str %></font></h2>

      userBean对用户检测部分进行了封装。这个自己可以动手写一下。

  • 相关阅读:
    docker指令汇总
    springboot(八) 嵌入式Servlet容器自动配置原理和容器启动原理
    RabbitMQ 消息确认机制
    RabbitMQ 最常用的三大模式
    RabbitMQ 核心概念
    RabbitMQ 之简单队列
    Spring 详解(三)------- SpringMVC拦截器使用
    slf4j 搭配 log4j2 处理日志
    Spring 详解(二)------- AOP关键概念以及两种实现方式
    Spring 详解(一)------- AOP前序
  • 原文地址:https://www.cnblogs.com/yang--yang/p/4197084.html
Copyright © 2011-2022 走看看