记忆登录跳转可以打打方便用户使用 ————————————————————————————————————- <% <% if(登录成功) ——————————————————————————————————- package com.util; import javax.servlet.http.HttpServletRequest; public class myRedirect //对url的转换类
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) //如果是登录提交执行下面代码
{
{
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”>帐 号:</td>
<td width=”99″ valign=”bottom”><input name=”userid” type=”text” class=”textstyle” id=”userid” size=”12″ style=”height:20″></td>
</tr>
<tr>
<td>密 码:</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=”登录”>
<a href=”reg.jsp” target=”_blank”>没有注册</a> </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
import java.util.Enumeration;
{
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;
}
}
这样登录浏览器就会自动转到用户刚刚请求的地址
网站登录记忆跳转实现的一种方法_jsp技巧
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 网站登录记忆跳转实现的一种方法_jsp技巧
相关推荐
-      通过jdbc连接oracle的十大灵活技术_jsp技巧
-      jdbc之代码重复使用_jsp技巧
-      提升jsp页面响应速度的七大秘籍绝招_jsp技巧
-      jdbc连sql server数据库步骤及有一项操作已被挂起,需重新启动计算机解决办法_jsp技巧
-      解决jsp中使用request乱码问题_jsp技巧
-      详细的jsp分页(oracle+jsp+apache)_jsp技巧
-      jsp中与标签要用不同的方式获得数据库中的数据_jsp技巧
-      jsp2.0新特性_jsp文摘