国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JSP > 正文

動態網頁技術JSP實現網站登錄記憶跳轉的一種方法

2024-09-05 00:19:43
字體:
來源:轉載
供稿:網友

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

member.jsp   //session限制訪問頁

<%
string url = ""
if(session.getattribute("username")==null)
{
         url = myredirect.dealurl(request);//記錄當前地址和請求參數,dealurl將實際url處理了避免和要請求url有干擾,因為會有& 字符
         response.sendredirect("weblogin.jsp?url="+url) ;//重定向到登錄頁面
}
%>

weblogin.jsp

<%
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" ></td>
          </tr>
          <tr>
            <td>密&nbsp;碼:</td>
            <td><input name="password" type="password" class="textstyle" id="password" size="12" ></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="#" >找回密碼</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;
 }
}

  這樣登錄瀏覽器就會自動轉到用戶剛剛請求的地址

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 侯马市| 滨海县| 微山县| 德钦县| 花垣县| 绥棱县| 托里县| 临海市| 阿图什市| 社旗县| 水城县| 浠水县| 邹城市| 洪雅县| 新化县| 靖安县| 天水市| 普安县| 滨州市| 青海省| 民权县| 金堂县| 桂平市| 乐安县| 丹阳市| 西乌珠穆沁旗| 嘉黎县| 太和县| 大英县| 海口市| 泗水县| 广西| 丽江市| 古丈县| 东乌珠穆沁旗| 普洱| 运城市| 会昌县| 托克逊县| 清镇市| 通许县|