struts2中怎么获取url啊,请求的地址
ActionContextct=ActionContext.getContext();HttpServletRequestrequest=(HttpServletRequ...
ActionContext ct= ActionContext.getContext();
HttpServletRequest request=(HttpServletRequest)ct.getServletActionContext.HTTP_REQUEST);
System.out.println("request="+request);
String url = request.getRequestURI();
为什么request打印为空呢
HttpServletRequest request = ServletActionContext.getRequest();这个获取的request也为空...请高手指教 展开
HttpServletRequest request=(HttpServletRequest)ct.getServletActionContext.HTTP_REQUEST);
System.out.println("request="+request);
String url = request.getRequestURI();
为什么request打印为空呢
HttpServletRequest request = ServletActionContext.getRequest();这个获取的request也为空...请高手指教 展开
2个回答
展开全部
我当初在利用Struts2实现电子商务购物系统的时候,也遇到这个问题,想记录用户之前访问的URL,包括点击的所有参数信息,后面给我解决了。我是利用拦截器去做的,然后把用户的URL存到Session当中。这是我的源码,你可以按照这个思路去做,应该没有问题的,我的项目已经验收通过了。希望能够帮到你,谢谢
/**
* 方便用户返回上一个浏览界面
*/
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import leo.sd1006.gz.tarena.dang.global.GlobalField;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
public class PreviousPathInterceptor extends MethodFilterInterceptor{
private static final long serialVersionUID = 6677300287776159679L;
private Logger logger=Logger.getLogger(CheckLoginInterceptor.class);
@Override
protected String doIntercept(ActionInvocation invocation)
throws Exception {
//设置用户当前访问的界面,方便用户登录后直接跳转到前一个页面
HttpServletRequest request=ServletActionContext.getRequest();
String path=request.getRequestURI();
String actionPath=".."+path.substring(9);
//访问服务器所带有的参数信息
String queryInfo=request.getQueryString();
if(queryInfo!=null&&(!queryInfo.equals(""))){
actionPath=actionPath+"?"+queryInfo;
}
logger.debug("用户访问的路径是:"+actionPath);
ActionContext.getContext().getSession().put(GlobalField.PRE_PATH, actionPath);
return invocation.invoke();
}
}
/**
* 方便用户返回上一个浏览界面
*/
import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;
import leo.sd1006.gz.tarena.dang.global.GlobalField;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;
public class PreviousPathInterceptor extends MethodFilterInterceptor{
private static final long serialVersionUID = 6677300287776159679L;
private Logger logger=Logger.getLogger(CheckLoginInterceptor.class);
@Override
protected String doIntercept(ActionInvocation invocation)
throws Exception {
//设置用户当前访问的界面,方便用户登录后直接跳转到前一个页面
HttpServletRequest request=ServletActionContext.getRequest();
String path=request.getRequestURI();
String actionPath=".."+path.substring(9);
//访问服务器所带有的参数信息
String queryInfo=request.getQueryString();
if(queryInfo!=null&&(!queryInfo.equals(""))){
actionPath=actionPath+"?"+queryInfo;
}
logger.debug("用户访问的路径是:"+actionPath);
ActionContext.getContext().getSession().put(GlobalField.PRE_PATH, actionPath);
return invocation.invoke();
}
}
Storm代理
2023-08-29 广告
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询