Dict.CN 在線詞典, 英語學(xué)習(xí), 在線翻譯

          都市淘沙者

          荔枝FM Everyone can be host

          導(dǎo)航

          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          公告


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

          隨筆分類

          文章分類

          隨筆檔案

          文章檔案

          相冊

          統(tǒng)計

          留言簿(23)

          積分與排名

          優(yōu)秀學(xué)習(xí)網(wǎng)站

          友情連接

          閱讀排行榜

          評論排行榜

          JSP網(wǎng)站登錄記憶跳轉(zhuǎn)實現(xiàn)的一種方法

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

          <!--此頁面的內(nèi)容受保護,必須登錄才能訪問-->
          <%@ 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);
          //記憶進入此頁面的地址和請求參數(shù),dealurl將實際url進行處理,因為有&字符
          ???response.sendRedirect("weblogin.jsp?url="+url) ;
          //重定向到登錄頁面,記憶的url作為參數(shù)一起傳入

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

          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)?//如果是登錄提交執(zhí)行下面代碼
          {

          ?if(登錄成功)
          ??{
          ???session.setAttribute("userid",userid);?
          ???out.println("<script>alert('登錄成功,謝謝光臨');self.location.href='"+myRedirect.geturl(url)+"';</script>");
          //轉(zhuǎn)向到首次請求的url,.geturl(url)是把轉(zhuǎn)化過的地址轉(zhuǎn)化回來變成真實url.
          ??}else{
          ???out.println("<script>alert('用戶名或密碼錯誤');history.back();</script>");
          ??}
          }else{//如果不是登錄提交顯示現(xiàn)面登錄界面
          %>
          <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的轉(zhuǎn)換類
          {
          ?public static String dealurl(HttpServletRequest request)
          ?{
          ??String url = "";
          ??url = request.getRequestURL()+"?";
          ??url +=param(request);
          ??if(url.indexOf("&")>-1)
          ???url=url.replaceAll("&","@#@");//實際上就是把有&的字符轉(zhuǎn)化成了@#@
          ??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();//得到所有參數(shù)名
          ??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 都市淘沙者 閱讀(351) 評論(0)  編輯  收藏 所屬分類: JSP/PHP

          主站蜘蛛池模板: 密山市| 临猗县| 汶川县| 吴旗县| 华池县| 孝昌县| 开江县| 仙桃市| 防城港市| 台北县| 永清县| 乌兰察布市| 静安区| 平潭县| 辉县市| 罗山县| 金湖县| 宜都市| 江西省| 松桃| 永年县| 凤翔县| 澄迈县| 大埔县| 象山县| 巧家县| 扎赉特旗| 孙吴县| 南丹县| 阿巴嘎旗| 金阳县| 玉屏| 绍兴市| 陆川县| 本溪| 南安市| 潢川县| 昭平县| 安陆市| 上蔡县| 宁南县|