用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對用戶檢測部分進行了封裝。這個自己可以動手寫一下。
