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 * 1 13 */ 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 * 2 25 */ 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 * 3 39 */ 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 * 4 52 */ 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= (String) ac.get("application");//等同于application.getArribute("application","application"); 60 //在el表达式中可以这样取值 61 // ${sessionApplication.application} 62