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耦合的方式
可调用原生方式