首页 > 代码库 > 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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。