首页 > 代码库 > Struts2中获取servlet API的几种方式

Struts2中获取servlet API的几种方式

struts2是一个全新的MVC框架,如今被广大的企业和开发者所使用,它的功能非常强大。这给我们在使用servlet 纯java代码写项目的时候带来了福音。但是一般来说,我们的项目不到一定规模并不需要框架的。通常功能模块和系统架构复杂的时候会少不了框架的,如果没有框架,我们写的项目和代码会复杂很多,而且扩展性也会大大降低,代码审查效率也会降低。如下代码供大家参考,主要是说明在使用struts2的时候如何获取servlet API,大家可以试着对比一下不用struts2的时候的所写的servelte,本人对框架的理解有限,如有不当之处,还请各位指教。

 1     /* 2      * 第一种 3      * 此种获取servlet API的方式常用,很方便,但是会与servlet API耦合 4      */ 5     ServletContext context=ServletActionContext.getServletContext(); 6     context.getAttribute("a"); 7     HttpServletRequest request=ServletActionContext.getRequest(); 8     request.getSession().setAttribute("b", "b"); 9     10     11     /*12      * 113      */14     15     ActionContext ac=ActionContext.getContext();16     //获取请求参数,17     Map<String, Object> parameters = ac.getParameters();18     //该返回值类型实际上是一个String[]数组类型19     String[] str = (String[]) parameters.get("uname");20     System.out.println(str[0]);//获取到的数组第一个下标元素即为当前要获取的请求参数的值21     22 23     /*24      * 225      */26     27     //获取request,在request中存取数据28     ac.put("uname", "uname");//等同于servlet中的request.setAttribute("uname","uname");29     //获取arr中的数据,返回类型为Object类型,强转为String类型即可30      String arr = (String) ac.get("uname");//等同于servlet中的request.getArribute("uname");31     System.out.println(arr);//输出arr的值32     33     //在el表达式中可以这样取值34 //    ${requestScope.uname}35     36     37     /*38      * 339      */40     41     //获取session,在session中存取数据42     Map<String, Object> session = ac.getSession();43     //在session中存入数据44     ac.put("sessionName", "sessionValue");//等同于session.setArribute("sessionName","sessionValue");45     //回去session中的数据,返回类型为Object类型,强转为String类型即可46     String string = (String) ac.get("sessionName");//等同于session.getArribute("sessionName","sessionValue");47     //在el表达式中可以这样取值48 //    ${sessionScope.sesssionName}49     50     /*51      * 452      */53     54     //在application中存取数据55     Map<String, Object> application = ac.getApplication();56     //在application中存入数据57     application.put("action", "action");//等同于application.setArribute("application","application");58     //在application中获取数据59      String appValue= http://www.mamicode.com/(String) ac.get("application");//等同于application.getArribute("application","application");60      //在el表达式中可以这样取值61 //     ${sessionApplication.application}62