1.什么时web资源
httpServletRequest, HttpSession, ServletContext 等原生Servlet API
2. 为什么访问WEB资源
B/S 的应用的Controller中必然需要访问WEB资源
3. 如何访问
1. 和Servlet API解耦的方式
只能访问有限的Servlet API对象, 且只能访问有限的方法,(读取请求参数, 读写域对象属性等)
>使用ActionContext (Action的上下文,能够获取 session, request ,application参数)
ActionContext actionContext=ActionContext.getContext();
//1. 获取application (同Session)
Map<String, Object> applicationMap= actionContext.getApplication(); //改为sessionMap也行, getSession()
applicationMap.put("applicationKey", "applicationValue")
//jsp页面显示时 #{ applicationScope.applicationKey}
//2. 获取requestMap request获取时不同(ActionContext中并没有提供getRequest方法来获取 request的对
象)
Map<String, Object> requestMap =(Map<String, Object>) actionContext.get("request");
//3. 获取请求参数的Map
>>getParameters的返回类型为在Map<String , Object>
>>parameters 只能读不能写入数据
System.out.println( (String[]) parameters.get("name")[0] )
>实现XXXaware接口
2. 和Servlet API耦合的方式
可调用原生方式
本文介绍在B/S架构应用中如何通过解耦或耦合方式访问Servlet API资源如HTTPServletRequest、HttpSession及ServletContext等。详细解释了使用ActionContext及实现特定接口来获取请求参数和域对象属性的方法。
456

被折叠的 条评论
为什么被折叠?



