Dict.CN 在線詞典, 英語學習, 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          導航

          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          公告


          我的blog中的部分資源是來自于網絡上,如果你認為侵犯了你的權利,請及時聯系jelver#163.com,我會盡快刪除!另外如果要留言最好通過郵件的形式跟我交流因為我不是很經常寫文章,前面有的朋友留言好久了我才發現,所以對不住大家,現在留下MSN:jelver#163.com和QQ:253840881,歡迎交流! (用@代替#)

          隨筆分類

          文章分類

          隨筆檔案

          文章檔案

          相冊

          統計

          留言簿(23)

          積分與排名

          優秀學習網站

          友情連接

          閱讀排行榜

          評論排行榜

          JSP網站登錄記憶跳轉實現的一種方法

          記憶登錄跳轉可以大大方便用戶,使用getHeader("Referer");方式簡單,不過不能處理post的參數,本來這些代碼都是用在struts,webwork里的,為了容易看明白改寫成jsp方式的。

          <!--此頁面的內容受保護,必須登錄才能訪問-->
          <%@ page contentType="text/html; charset=GBK" %>
          <jsp:useBean id="rect" class="com.util.myRedirect" scope="page"/>
          <%
          String url = "";
          if(session.getAttribute("userid")==null)//如果用戶沒有登錄
          {
          ???url =rect.dealurl(request);
          //記憶進入此頁面的地址和請求參數,dealurl將實際url進行處理,因為有&字符
          ???response.sendRedirect("weblogin.jsp?url="+url) ;
          //重定向到登錄頁面,記憶的url作為參數一起傳入

          }else{
          ????out.println("你已經登錄,可以下載了");
          } %>

          weblogin.jsp
          <%@ page contentType="text/html; charset=GBK" %>
          <jsp:useBean id="myRedirect" class="com.util.myRedirect" scope="page"/>

          <%
          String url = request.getParameter("url");
          String userid =request.getParameter("userid");
          String password =request.getParameter("password");
          if(userid!=null)?//如果是登錄提交執行下面代碼
          {

          ?if(登錄成功)
          ??{
          ???session.setAttribute("userid",userid);?
          ???out.println("<script>alert('登錄成功,謝謝光臨');self.location.href='"+myRedirect.geturl(url)+"';</script>");
          //轉向到首次請求的url,.geturl(url)是把轉化過的地址轉化回來變成真實url.
          ??}else{
          ???out.println("<script>alert('用戶名或密碼錯誤');history.back();</script>");
          ??}
          }else{//如果不是登錄提交顯示現面登錄界面
          %>
          <table width="311" height="162" border="0" align="center" cellpadding="0" cellspacing="0">
          ? <tr>
          ?????
          ??? <td width="311" height="162" align="center"> 您還沒有登錄,請先登錄<br>
          ??????? <table width="155" border="0" cellpadding="0" cellspacing="5" class="font12">
          ??<form? name="loginfrm" action="weblogin.jsp" method="post"? id="loginfrm" onSubmit="return checkfrm();">
          ????????? <tr>
          ??????????? <td width="41" height="33" valign="bottom">帳&nbsp;號:</td>
          ??????????? <td width="99" valign="bottom"><input name="userid" type="text" class="textstyle" id="userid" size="12" style="height:20"></td>
          ????????? </tr>
          ????????? <tr>
          ??????????? <td>密&nbsp;碼:</td>
          ??????????? <td><input name="password" type="password" class="textstyle" id="password" size="12" style="height:20;width:94"></td>
          ????????? </tr>
          ????????? <tr align="center" valign="bottom">
          ??????????? <td height="21" colspan="2"> <input type="submit" name="Submit" value="登錄">
          ????????????? &nbsp; <a href="reg.jsp" target="_blank">沒有注冊</a>&nbsp; </td>
          ????????? </tr>
          ????????? <tr align="center">
          ??????????? <td colspan="2" class="font14"> <strong>
          <a href="#" onclick="MM_openBrWindow('requestpwd.jsp','pwd','width=300,height=200');return false;">找回密碼</a></strong></td>
          ????????? </tr>
          ??? <input name="url" type="hidden" value="<%=url%>"><!--這里要有個hidden來保存一下,不然提交就沒了 -->
          ????
          ??? </form>
          ??????? </table>????
          ??? </td>
          ? </tr>
          </table>
          <%
          }
          %>

          ---------------------------------------------------------------

          myRedirect.java

          package com.util;

          import javax.servlet.http.HttpServletRequest;
          import java.util.Enumeration;

          public class myRedirect??? //對url的轉換類
          {
          ?public static String dealurl(HttpServletRequest request)
          ?{
          ??String url = "";
          ??url = request.getRequestURL()+"?";
          ??url +=param(request);
          ??if(url.indexOf("&")>-1)
          ???url=url.replaceAll("&","@#@");//實際上就是把有&的字符轉化成了@#@
          ??return url;
          ?}
          ?public static String geturl(String url)//這個是還原方法
          ?{
          ??if(url.indexOf("@#@")>-1)
          ???url=url.replaceAll("@#@","&");
          ??return url;?????
          ?}
          ?public static String param(HttpServletRequest request)
          ?{
          ??String url = "";
          ??Enumeration param = request.getParameterNames();//得到所有參數名
          ??while(param.hasMoreElements())
          ??{
          ???String pname = param.nextElement().toString();
          ???url += pname+"="+request.getParameter(pname)+"&";
          ??}
          ??if(url.endsWith("&"))
          ??{
          ???url = url.substring(0,url.lastIndexOf("&"));
          ??}
          ??return url;
          ?}
          }

          posted on 2006-04-26 21:16 都市淘沙者 閱讀(348) 評論(0)  編輯  收藏 所屬分類: JSP/PHP

          主站蜘蛛池模板: 湖北省| 关岭| 安国市| 聂拉木县| 河曲县| 兴义市| 霍山县| 平阴县| 罗平县| 北宁市| 遵义县| 论坛| 桐庐县| 潜山县| 旺苍县| 隆昌县| 新宁县| 东港市| 固始县| 许昌市| 台前县| 汉寿县| 南平市| 嘉定区| 西盟| 岑溪市| 分宜县| 卓尼县| 宝丰县| 顺义区| 酒泉市| 东源县| 包头市| 高要市| 静海县| 南平市| 赤水市| 安康市| 元江| 云林县| 涡阳县|