Struts2中获取servlet API的几种方式

时间:2014-07-02 17:16:53   收藏:0   阅读:310

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      

 

  

Struts2中获取servlet API的几种方式,布布扣,bubuko.com

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!