在你登录页面中如下处理:进入时记录地址
验证登录
处理完毕,返回进入登录前的页面建议所有的Action继承一个类似ActionBase的基类,比较通用的代码段可以在基类里面执行

解决方案 »

  1.   

    在登录链接页面里搞一个iframe,其SRC属性是你登陆验证的ACTION.
      

  2.   

    <div id="logonDiv">
    <form id="logonForm">
    User:<input type="text" value="guest" name="user">
    Pass:<input type="password" value="" name="pass">
    <input type="button" onclick="javascript:logon();" value="Logon">
    </form>
    </div><script>
        function createXMLHttpRequest() {
            if (window.ActiveXObject) {
                return new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {
                return new XMLHttpRequest();
            }
        }function logon() {
      var logonURL = "/yourapp/yourLogonAction.do?username=" + logonForm['user'] + "&password" + logonForm['pass'];  var xmlHttp = createXMLHttpRequest();
       xmlHTTP.open("POST", logonURL, false);
       xmlHTTP.send();   var xmlDOM = new ActiveXObject("Microsoft.XMLDOM");
       xmlDOM.loadXML(xmlHTTP.ResponseText);
       if (xmlDOM.parseError != 0)
       {
            alert("Error occurred: " + xmlDOM.parseError.reason);
            return false;
       }   if (isTrue(xmlDOM.selectSingleNode("/Result/Succeed").text)) {
          var welcome = xmlDOM.selectSingleNode("/Result/Info").text;
          //成功则不用再显示Logon form了.显示登录成功      logonDiv.innerHTML=welcome;
       }
       else {
          var errorInfo= xmlDOM.selectSingleNode("/Result/Info").text;
          //失败,显示出错信息
          logonDiv.innerHTML='<font color="red">' + errorInfo + "</font><br>" + logonDiv.innerHTML;
       }   delete xmlHTTP;
       delete xmlDOM;   
    </script>注意,你的yourLogonAction.do的forwardpath指向的是一个xml文件(你可以通过jsp来生成一个xml):<Result>
    <Success>true或false</Success>
    <info>成功或失败信息</info>
    </Result>
      

  3.   

    http://blog.csdn.net/baggio785/archive/2006/03/10/620535.aspx介绍得很详细
      

  4.   

    取原来的路径:
    取请求地址URI:request.getRequestURI()
    取得URL所带的参数:request.getQueryString()
    完整的访问地址就是:
    String url="";
    String uri = request.getRequestURI();
    String query = request.getQueryString();
    if(!query.equals(""))
        url = uri+"?"+query;
    return url;