您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > JSP >

JSP网站登录记忆跳转实现的一种方法

来源:网络 责任编辑:栏目编辑 发表时间:2013-07-01 12:20 点击:

  记忆登录跳转可以打打方便用户使用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" 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;

 

    相关新闻>>

      发表评论
      请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
      用户名: 验证码:点击我更换图片
      最新评论 更多>>

      推荐热点

      • JSP与Servlet
      • 自己动手写MiniBBS系列(基本篇)之用户登录
      • JSP取当前日期
      • JDBC 入门(一)
      • 打开一个jsp页面默认查询所有数据,调用action
      • 使用JSP标签库验证用户的输入(2)完
      • 自定义JSP标签(tag)浅议
      • WIN98/2000下的jsp服务器
      • JSP内建对象(二)
      网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
      Copyright © 2008-2015 计算机技术学习交流网. 版权所有

      豫ICP备11007008号-1