struts2中获取request、response,与android客户端进行交互(文件传递给客户端)
2015-04-26 21:21
375 查看
用struts2作为服务器框架,与android客户端进行交互需要得到request、response对象。
struts2中获取request、response有两种方法。
第一种:利用ServletActionContext的静态方法
Struts2 利用ServletActionContext类来维护Servlet对象,ServletActionContext利用ThreadLocal来维护 不同线程的Servlet对象,因此可以使用ServletActionContext类获取,这种方法可以叫做非注射方式(非IoC方式)。
第二种:利用相关的Aware接口
Struts2 提供Aware接口,实现了相关Aware接口的Action能够感知相应的资源。Struts在实例化一个Action事例中,如果发现它实现了相应的 Aware接口,会把相应的资源通过Aware接口方法注射进去,这种方法可以叫做注射方式(IoC方式)。
Aware接口其实是一种拦截器,拦截器代码会在执行Action之前执行,将相关的Servlet对象设置进去
struts2中获取request、response有两种方法。
第一种:利用ServletActionContext的静态方法
Struts2 利用ServletActionContext类来维护Servlet对象,ServletActionContext利用ThreadLocal来维护 不同线程的Servlet对象,因此可以使用ServletActionContext类获取,这种方法可以叫做非注射方式(非IoC方式)。
public class LoginAction extends ActionSupport { private static final long serialVersionUID = 1L; private String account;//账号 private String pwd;//密码 public String login() throws Exception{ //获取request HttpServletRequest request=ServletActionContext.getRequest(); //获取response HttpServletResponse response=ServletActionContext.getResponse(); //获取Session HttpSession session=request.getSession(true); //放到session中 session.setAttribute("account", account); //获得上下文 ServletContext context=ServletActionContext.getServletContext(); //获取upload文件夹 File uploadFile=new File(context.getRealPath("upload")); //给客户端返回结果 PrintWriter writer=response.getWriter(); writer.print("account"); return execute(); }
第二种:利用相关的Aware接口
Struts2 提供Aware接口,实现了相关Aware接口的Action能够感知相应的资源。Struts在实例化一个Action事例中,如果发现它实现了相应的 Aware接口,会把相应的资源通过Aware接口方法注射进去,这种方法可以叫做注射方式(IoC方式)。
public class ServletAwareAction extends ActionSupport implements ServletRequestAware, ServletResponseAware, SessionAware, ServletContextAware { private static final long serialVersionUID = 1L; private ServletContext application;//Servlet上下文 private HttpServletRequest request;//request对象 private HttpServletResponse response;//response对象 private Map<String, Object> session;//session对象 public void setServletRequest(HttpServletRequest request) { this.request=request; } public void setServletResponse(HttpServletResponse response) { this.response=response; } public void setSession(Map<String, Object> session) { this.session=session; } public void setServletContext(ServletContext application) { this.application=application; } public String execute(){ String upload=application.getRealPath("upload"); request.getRemoteAddr(); response.getContentType(); session.get("account"); return Action.SUCCESS; }
Aware接口其实是一种拦截器,拦截器代码会在执行Action之前执行,将相关的Servlet对象设置进去
相关文章推荐
- struts2中获取request、response,与android客户端进行交互
- struts2中获取request、response,与android客户端进行交互
- struts2中获取request、response,与android客户端进行交互
- js的request方法,对“获取静态文件传递参数的函数” 进行了优化
- Struts2向对象传递数据及Struts2中怎么获取request,response,session详解
- Struts2向对象传递数据及Struts2中怎么获取request,response,session详解(转)
- Struts2服务器和Android客户端利用JSON进行数据的传递
- 采用android客户端+Servlet(HttpServletRequest)进行文件批量上传
- Android开发:客户端与服务器通过传递和接收json数据进行交互
- c# 使用FtpWebRequest,FtpWebResponse ,Stream 实现获取文件列表及下载
- Android客户端采用Http 协议Post方式请求与服务端进行数据交互(转)
- Android与JS进行交互传文件路径
- dubbox ExceptionMapper Filter request response 数据获取 数据传递
- struts2中获取request、session、response、application方式
- 怎样在struts2的Action中获取request、response、session对象。
- Android 客户端与服务器端进行数据交互(一、登录服务器端)
- Android 客户端与服务器端进行数据交互(二、登录客户端)
- Android客户端与服务端进行交互
- Struts2获取获取参数、Request、Response与及Servlet中的类
- Jimoshi_Struts2 框架学习(二)--action生命周期、struts.xml中全局的配置、获取request和session和response值、IOC思想